Add CI #4
28
.drone.yml
Normal file
28
.drone.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: ansible
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: yaml lint
|
||||||
|
image: cytopia/yamllint:alpine
|
||||||
|
commands:
|
||||||
|
- yamllint -c .yamllint.yml .
|
||||||
|
|
||||||
|
- name: ansible lint
|
||||||
|
image: cytopia/ansible-lint:alpine
|
||||||
|
commands:
|
||||||
|
- ansible-lint .
|
||||||
|
|
||||||
|
- name: ansible apply
|
||||||
|
image: plugins/ansible:3
|
||||||
|
settings:
|
||||||
|
inventory: inventory/hosts.yml
|
||||||
|
playbook: site.yml
|
||||||
|
private_key:
|
||||||
|
from_secret: ansible_private_key
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- push
|
13
.yamllint.yml
Normal file
13
.yamllint.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
extends: default
|
||||||
|
|
||||||
|
ignore: |
|
||||||
|
.yamllint.yml
|
||||||
|
.ansible-lint.yml
|
||||||
|
|
||||||
|
rules:
|
||||||
|
truthy:
|
||||||
|
allowed-values: ['true', 'false']
|
||||||
|
check-keys: false
|
||||||
|
level: error
|
||||||
|
line-length: disable
|
@@ -38,4 +38,3 @@ all:
|
|||||||
equinox:
|
equinox:
|
||||||
children:
|
children:
|
||||||
equinox-servers:
|
equinox-servers:
|
||||||
|
|
||||||
|
@@ -1,51 +0,0 @@
|
|||||||
galaxy_info:
|
|
||||||
author: Noah Knegt
|
|
||||||
description: Docker role for Ansible to install Docker on a machine.
|
|
||||||
|
|
||||||
# If the issue tracker for your role is not on github, uncomment the
|
|
||||||
# next line and provide a value
|
|
||||||
# issue_tracker_url: http://example.com/issue/tracker
|
|
||||||
|
|
||||||
# Choose a valid license ID from https://spdx.org - some suggested licenses:
|
|
||||||
# - BSD-3-Clause (default)
|
|
||||||
# - MIT
|
|
||||||
# - GPL-2.0-or-later
|
|
||||||
# - GPL-3.0-only
|
|
||||||
# - Apache-2.0
|
|
||||||
# - CC-BY-4.0
|
|
||||||
license: MIT
|
|
||||||
|
|
||||||
min_ansible_version: "2.1"
|
|
||||||
|
|
||||||
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
|
||||||
# min_ansible_container_version:
|
|
||||||
|
|
||||||
#
|
|
||||||
# Provide a list of supported platforms, and for each platform a list of versions.
|
|
||||||
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
|
|
||||||
# To view available platforms and versions (or releases), visit:
|
|
||||||
# https://galaxy.ansible.com/api/v1/platforms/
|
|
||||||
#
|
|
||||||
# platforms:
|
|
||||||
# - name: Fedora
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 25
|
|
||||||
# - name: SomePlatform
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 1.0
|
|
||||||
# - 7
|
|
||||||
# - 99.99
|
|
||||||
|
|
||||||
galaxy_tags: []
|
|
||||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
|
||||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
|
||||||
# remove the '[]' above, if you add tags to this list.
|
|
||||||
#
|
|
||||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
|
||||||
# Maximum 20 tags per role.
|
|
||||||
|
|
||||||
dependencies: []
|
|
||||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
|
||||||
# if you add dependencies to this list.
|
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-03-2023
|
# @createdOn : 27-03-2023
|
||||||
# @description : This will make sure that docker is installed on the machine.
|
# @description : This will make sure that docker is installed on the machine.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Get docker script
|
- name: Get docker script
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains all the handlers for the base role.
|
# @description : This file contains all the handlers for the base role.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: apt_update
|
- name: apt_update
|
||||||
apt:
|
apt:
|
||||||
update_cache: yes
|
update_cache: true
|
||||||
|
|
||||||
- name: restart_sshd
|
- name: restart_sshd
|
||||||
service:
|
service:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
@@ -6,19 +6,17 @@
|
|||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains the tasks for the base role, this role will be applied to
|
# @description : This file contains the tasks for the base role, this role will be applied to
|
||||||
# all machines.
|
# all machines.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- include_vars: "{{ ansible_distribution }}.yml"
|
- include_vars: "{{ ansible_distribution }}.yml"
|
||||||
|
|
||||||
- block:
|
# Setup the ansible user
|
||||||
# Setup the ansible user
|
- include_tasks: users/ansible.yml
|
||||||
- include_tasks: users/ansible.yml
|
- include_tasks: users/noahk.yml
|
||||||
- include_tasks: users/noahk.yml
|
|
||||||
|
|
||||||
# Setup the sshd
|
# Setup the sshd
|
||||||
- include_tasks: system/openssh.yml
|
- include_tasks: system/openssh.yml
|
||||||
|
|
||||||
# Setup the repositories for Debian based systems
|
|
||||||
- include_tasks: software/repositories.yml
|
|
||||||
|
|
||||||
|
# Setup the repositories for Debian based systems
|
||||||
|
- include_tasks: software/repositories.yml
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This will contain all the default software for the machines.
|
# @description : This will contain all the default software for the machines.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Install aptitude and software-properties-common
|
- name: Install aptitude and software-properties-common
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This will setup the ssh server on the machine.
|
# @description : This will setup the ssh server on the machine.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Install or update openssh
|
- name: Install or update openssh
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
service:
|
service:
|
||||||
name: "{{ openssh_service }}"
|
name: "{{ openssh_service }}"
|
||||||
state: started
|
state: started
|
||||||
enabled: yes
|
enabled: true
|
||||||
|
|
||||||
- name: configure sshd
|
- name: configure sshd
|
||||||
template:
|
template:
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : It contains the tasks to properly configure the ansible user.
|
# @description : It contains the tasks to properly configure the ansible user.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Add ansible group
|
- name: Add ansible group
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
group: ansible
|
group: ansible
|
||||||
mode: 0700
|
mode: 0700
|
||||||
with_items:
|
with_items:
|
||||||
- { dir: /home/ansible/.ssh }
|
- dir: /home/ansible/.ssh
|
||||||
|
|
||||||
- name: Copy ssh public key
|
- name: Copy ssh public key
|
||||||
authorized_key:
|
authorized_key:
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This will setup the normal user on the machine.
|
# @description : This will setup the normal user on the machine.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Create the group
|
- name: Create the group
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
group: noahk
|
group: noahk
|
||||||
mode: 0700
|
mode: 0700
|
||||||
with_items:
|
with_items:
|
||||||
- { dir: /home/noahk/.ssh }
|
- dir: /home/noahk/.ssh
|
||||||
|
|
||||||
- name: Copy ssh public key
|
- name: Copy ssh public key
|
||||||
authorized_key:
|
authorized_key:
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains the variables for arch based distros.
|
# @description : This file contains the variables for arch based distros.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
sudo_group: wheel
|
sudo_group: wheel
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains all the variables for the base role, for the debian OS.
|
# @description : This file contains all the variables for the base role, for the debian OS.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
sudo_group: sudo
|
sudo_group: sudo
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains all the variables for the base role, for the debian OS.
|
# @description : This file contains all the variables for the base role, for the debian OS.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
sudo_group: sudo
|
sudo_group: sudo
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This file contains the variables for the base role tasks.
|
# @description : This file contains the variables for the base role tasks.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
ansible_password: '$6$8eLzx6DNI/aamHAp$ZJK3kpbXDaMDUxuCFzRbbYL78aqdDnRRd1zbQPO2ED.pQQdcuAEnwBI2Vf3a36j7I5ED4STx6TLQnB8RiY3Vw/'
|
ansible_password: '$6$8eLzx6DNI/aamHAp$ZJK3kpbXDaMDUxuCFzRbbYL78aqdDnRRd1zbQPO2ED.pQQdcuAEnwBI2Vf3a36j7I5ED4STx6TLQnB8RiY3Vw/'
|
||||||
|
@@ -1,17 +1,18 @@
|
|||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
# ? ABOUT
|
# ? ABOUT
|
||||||
# @author : Noah Knegt
|
# @author : Noah Knegt
|
||||||
# @email : personal@noahknegt.com
|
# @email : personal@noahknegt.com
|
||||||
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
# @repo : https://git.noahknegt.com/noah.knegt/ansible-automations
|
||||||
# @createdOn : 27-02-2023
|
# @createdOn : 27-02-2023
|
||||||
# @description : This will apply the base configuration to the list of machines.
|
# @description : This will apply the base configuration to the list of machines.
|
||||||
#===================================================================================================
|
# ===================================================================================================
|
||||||
|
|
||||||
---
|
---
|
||||||
- hosts: datacenter
|
- hosts: datacenter
|
||||||
remote_user: root
|
remote_user: root
|
||||||
roles:
|
roles:
|
||||||
- setup
|
- setup
|
||||||
|
when: setup == true
|
||||||
|
|
||||||
# Clean up the system
|
# Clean up the system
|
||||||
- hosts: datacenter
|
- hosts: datacenter
|
||||||
@@ -20,12 +21,12 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: cleanup package cache (debian and ubuntu)
|
- name: cleanup package cache (debian and ubuntu)
|
||||||
apt:
|
apt:
|
||||||
autoclean: yes
|
autoclean: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_os_family == "Debian"
|
||||||
|
|
||||||
- name: autoremove packages (debian and ubuntu)
|
- name: autoremove packages (debian and ubuntu)
|
||||||
apt:
|
apt:
|
||||||
autoremove: yes
|
autoremove: true
|
||||||
purge: yes
|
purge: true
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_os_family == "Debian"
|
Reference in New Issue
Block a user