From c37e46b9ddc2a988032f6d5c606713a2d992d082 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 13:44:25 +0200 Subject: [PATCH 1/9] Rename to site from base Signed-off-by: Noah Knegt --- base.yml => site.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename base.yml => site.yml (100%) diff --git a/base.yml b/site.yml similarity index 100% rename from base.yml rename to site.yml -- 2.49.1 From eeeaafd970e433b22d26b096c754f4f5b37f2a78 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:01:59 +0200 Subject: [PATCH 2/9] Add basic CI pipeline Signed-off-by: Noah Knegt --- .drone.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..9bcf792 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,10 @@ +--- +kind: pipeline +type: docker +name: ansible + +steps: +- name: ansible check + image: plugins/ansible:3 + settings: + check: true -- 2.49.1 From 3d94890d6c62f103c00eb68662018c7986c48911 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:13:35 +0200 Subject: [PATCH 3/9] Modify CI pipeline Signed-off-by: Noah Knegt --- .drone.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9bcf792..24503a5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,7 +4,25 @@ type: docker name: ansible steps: -- name: ansible check - image: plugins/ansible:3 - settings: - check: true + - name: yaml lint + image: cytopia/yamllint:alpine + commands: + - yamllint -c .yamllint.yml . + + - name: ansible lint + image: cytopia/ansible-lint:alpine + commands: + - ansible-lint -c .ansible-lint.yml . + + - 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 -- 2.49.1 From 5b70f7a49f5bf43acc9a3b6eb8ec78f7f68647bd Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:21:52 +0200 Subject: [PATCH 4/9] Add yamllint config Signed-off-by: Noah Knegt --- .yamllint.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .yamllint.yml diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 0000000..2c7758f --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,13 @@ +--- +extends: default + +ignore: | + .yamllint + + +rules: + truthy: + allowed-values: ['true', 'false'] + check-keys: False + level: error + line-length: disable -- 2.49.1 From adc69ecc5b8a88d4a437ba2c62bf08a1ece7a442 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:23:05 +0200 Subject: [PATCH 5/9] Remove empty line Signed-off-by: Noah Knegt --- .yamllint.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.yamllint.yml b/.yamllint.yml index 2c7758f..05679ee 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -4,7 +4,6 @@ extends: default ignore: | .yamllint - rules: truthy: allowed-values: ['true', 'false'] -- 2.49.1 From aa9e6589864d1ccf5f624e537048f40c9e93f71d Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:28:10 +0200 Subject: [PATCH 6/9] Fix the yamllint errors Signed-off-by: Noah Knegt --- .drone.yml | 4 +- .yamllint.yml | 5 +- inventory/hosts.yml | 1 - roles/docker/meta/main.yml | 51 --------------------- roles/docker/tasks/main.yml | 4 +- roles/setup/tasks/main.yml | 20 ++++---- roles/setup/tasks/software/repositories.yml | 4 +- roles/setup/tasks/system/openssh.yml | 4 +- roles/setup/tasks/users/ansible.yml | 4 +- roles/setup/tasks/users/noahk.yml | 6 +-- roles/setup/vars/Archlinux.yml | 4 +- roles/setup/vars/Debian.yml | 4 +- roles/setup/vars/Ubuntu.yml | 4 +- roles/setup/vars/main.yml | 4 +- site.yml | 10 ++-- 15 files changed, 38 insertions(+), 91 deletions(-) delete mode 100644 roles/docker/meta/main.yml diff --git a/.drone.yml b/.drone.yml index 24503a5..48c0ea7 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,12 +7,12 @@ steps: - name: yaml lint image: cytopia/yamllint:alpine commands: - - yamllint -c .yamllint.yml . + - yamllint -c .yamllint.yml . - name: ansible lint image: cytopia/ansible-lint:alpine commands: - - ansible-lint -c .ansible-lint.yml . + - ansible-lint -c .ansible-lint.yml . - name: ansible apply image: plugins/ansible:3 diff --git a/.yamllint.yml b/.yamllint.yml index 05679ee..cf1c947 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -2,11 +2,12 @@ extends: default ignore: | - .yamllint + .yamllint.yml + .ansible-lint.yml rules: truthy: allowed-values: ['true', 'false'] - check-keys: False + check-keys: false level: error line-length: disable diff --git a/inventory/hosts.yml b/inventory/hosts.yml index 34a8c77..48d1669 100644 --- a/inventory/hosts.yml +++ b/inventory/hosts.yml @@ -38,4 +38,3 @@ all: equinox: children: equinox-servers: - diff --git a/roles/docker/meta/main.yml b/roles/docker/meta/main.yml deleted file mode 100644 index ddd844d..0000000 --- a/roles/docker/meta/main.yml +++ /dev/null @@ -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. diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 182142f..3b58639 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-03-2023 # @description : This will make sure that docker is installed on the machine. -#=================================================================================================== +# =================================================================================================== --- - name: Get docker script diff --git a/roles/setup/tasks/main.yml b/roles/setup/tasks/main.yml index 47c9733..289818a 100644 --- a/roles/setup/tasks/main.yml +++ b/roles/setup/tasks/main.yml @@ -1,4 +1,4 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com @@ -6,19 +6,17 @@ # @createdOn : 27-02-2023 # @description : This file contains the tasks for the base role, this role will be applied to # all machines. -#=================================================================================================== +# =================================================================================================== --- - include_vars: "{{ ansible_distribution }}.yml" -- block: - # Setup the ansible user - - include_tasks: users/ansible.yml - - include_tasks: users/noahk.yml +# Setup the ansible user +- include_tasks: users/ansible.yml +- include_tasks: users/noahk.yml - # Setup the sshd - - include_tasks: system/openssh.yml - - # Setup the repositories for Debian based systems - - include_tasks: software/repositories.yml +# Setup the sshd +- include_tasks: system/openssh.yml +# Setup the repositories for Debian based systems +- include_tasks: software/repositories.yml diff --git a/roles/setup/tasks/software/repositories.yml b/roles/setup/tasks/software/repositories.yml index e859818..1fdac40 100644 --- a/roles/setup/tasks/software/repositories.yml +++ b/roles/setup/tasks/software/repositories.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This will contain all the default software for the machines. -#=================================================================================================== +# =================================================================================================== --- - name: Install aptitude and software-properties-common diff --git a/roles/setup/tasks/system/openssh.yml b/roles/setup/tasks/system/openssh.yml index 14f95ed..0e0a332 100644 --- a/roles/setup/tasks/system/openssh.yml +++ b/roles/setup/tasks/system/openssh.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This will setup the ssh server on the machine. -#=================================================================================================== +# =================================================================================================== --- - name: Install or update openssh diff --git a/roles/setup/tasks/users/ansible.yml b/roles/setup/tasks/users/ansible.yml index 3c0c457..fecaf9c 100644 --- a/roles/setup/tasks/users/ansible.yml +++ b/roles/setup/tasks/users/ansible.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : It contains the tasks to properly configure the ansible user. -#=================================================================================================== +# =================================================================================================== --- - name: Add ansible group diff --git a/roles/setup/tasks/users/noahk.yml b/roles/setup/tasks/users/noahk.yml index 530c366..89c923c 100644 --- a/roles/setup/tasks/users/noahk.yml +++ b/roles/setup/tasks/users/noahk.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This will setup the normal user on the machine. -#=================================================================================================== +# =================================================================================================== --- - name: Create the group @@ -38,7 +38,7 @@ group: noahk mode: 0700 with_items: - - { dir: /home/noahk/.ssh } + - dir: /home/noahk/.ssh - name: Copy ssh public key authorized_key: diff --git a/roles/setup/vars/Archlinux.yml b/roles/setup/vars/Archlinux.yml index 7606ccc..c514b50 100644 --- a/roles/setup/vars/Archlinux.yml +++ b/roles/setup/vars/Archlinux.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This file contains the variables for arch based distros. -#=================================================================================================== +# =================================================================================================== --- sudo_group: wheel diff --git a/roles/setup/vars/Debian.yml b/roles/setup/vars/Debian.yml index f864565..fb86373 100644 --- a/roles/setup/vars/Debian.yml +++ b/roles/setup/vars/Debian.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This file contains all the variables for the base role, for the debian OS. -#=================================================================================================== +# =================================================================================================== --- sudo_group: sudo diff --git a/roles/setup/vars/Ubuntu.yml b/roles/setup/vars/Ubuntu.yml index 581a0e7..65d6eda 100644 --- a/roles/setup/vars/Ubuntu.yml +++ b/roles/setup/vars/Ubuntu.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This file contains all the variables for the base role, for the debian OS. -#=================================================================================================== +# =================================================================================================== --- sudo_group: sudo diff --git a/roles/setup/vars/main.yml b/roles/setup/vars/main.yml index 507eb03..d5795ca 100644 --- a/roles/setup/vars/main.yml +++ b/roles/setup/vars/main.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This file contains the variables for the base role tasks. -#=================================================================================================== +# =================================================================================================== --- ansible_password: '$6$8eLzx6DNI/aamHAp$ZJK3kpbXDaMDUxuCFzRbbYL78aqdDnRRd1zbQPO2ED.pQQdcuAEnwBI2Vf3a36j7I5ED4STx6TLQnB8RiY3Vw/' diff --git a/site.yml b/site.yml index d6660bc..43da907 100644 --- a/site.yml +++ b/site.yml @@ -1,11 +1,11 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This will apply the base configuration to the list of machines. -#=================================================================================================== +# =================================================================================================== --- - hosts: datacenter @@ -20,12 +20,12 @@ tasks: - name: cleanup package cache (debian and ubuntu) apt: - autoclean: yes + autoclean: true changed_when: false when: ansible_os_family == "Debian" - name: autoremove packages (debian and ubuntu) apt: - autoremove: yes - purge: yes + autoremove: true + purge: true when: ansible_os_family == "Debian" -- 2.49.1 From 85a1dd4b938f69b1d8469e7a4e8a4eacbbc66b9b Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:29:38 +0200 Subject: [PATCH 7/9] Fix more yamllint errors Signed-off-by: Noah Knegt --- roles/setup/handlers/main.yml | 6 +++--- roles/setup/tasks/system/openssh.yml | 2 +- roles/setup/tasks/users/ansible.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/roles/setup/handlers/main.yml b/roles/setup/handlers/main.yml index 9305ca0..fa64a88 100644 --- a/roles/setup/handlers/main.yml +++ b/roles/setup/handlers/main.yml @@ -1,16 +1,16 @@ -#=================================================================================================== +# =================================================================================================== # ? ABOUT # @author : Noah Knegt # @email : personal@noahknegt.com # @repo : https://git.noahknegt.com/noah.knegt/ansible-automations # @createdOn : 27-02-2023 # @description : This file contains all the handlers for the base role. -#=================================================================================================== +# =================================================================================================== --- - name: apt_update apt: - update_cache: yes + update_cache: true - name: restart_sshd service: diff --git a/roles/setup/tasks/system/openssh.yml b/roles/setup/tasks/system/openssh.yml index 0e0a332..71e2ceb 100644 --- a/roles/setup/tasks/system/openssh.yml +++ b/roles/setup/tasks/system/openssh.yml @@ -19,7 +19,7 @@ service: name: "{{ openssh_service }}" state: started - enabled: yes + enabled: true - name: configure sshd template: diff --git a/roles/setup/tasks/users/ansible.yml b/roles/setup/tasks/users/ansible.yml index fecaf9c..08a7508 100644 --- a/roles/setup/tasks/users/ansible.yml +++ b/roles/setup/tasks/users/ansible.yml @@ -38,7 +38,7 @@ group: ansible mode: 0700 with_items: - - { dir: /home/ansible/.ssh } + - dir: /home/ansible/.ssh - name: Copy ssh public key authorized_key: -- 2.49.1 From cc8f19fe857818c707b41a0b84a9c4a70e082cc3 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:32:08 +0200 Subject: [PATCH 8/9] Remove the need for ansible lint config Signed-off-by: Noah Knegt --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 48c0ea7..7f232d1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,7 +12,7 @@ steps: - name: ansible lint image: cytopia/ansible-lint:alpine commands: - - ansible-lint -c .ansible-lint.yml . + - ansible-lint . - name: ansible apply image: plugins/ansible:3 -- 2.49.1 From b0534951d66466e2ad56c15ba11d1d4dd7ea81c8 Mon Sep 17 00:00:00 2001 From: Noah Knegt Date: Thu, 30 Mar 2023 14:40:11 +0200 Subject: [PATCH 9/9] Only run the setup role when var is defined Signed-off-by: Noah Knegt --- site.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/site.yml b/site.yml index 43da907..9c46554 100644 --- a/site.yml +++ b/site.yml @@ -12,6 +12,7 @@ remote_user: root roles: - setup + when: setup == true # Clean up the system - hosts: datacenter -- 2.49.1