Add CI #4

Merged
noah.knegt merged 9 commits from ci into master 2023-03-30 14:47:55 +02:00
16 changed files with 80 additions and 92 deletions

28
.drone.yml Normal file
View 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
View 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

View File

@@ -38,4 +38,3 @@ all:
equinox: equinox:
children: children:
equinox-servers: equinox-servers:

View File

@@ -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.

View File

@@ -10,7 +10,7 @@
--- ---
- name: apt_update - name: apt_update
apt: apt:
update_cache: yes update_cache: true
- name: restart_sshd - name: restart_sshd
service: service:

View File

@@ -11,7 +11,6 @@
--- ---
- 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
@@ -21,4 +20,3 @@
# Setup the repositories for Debian based systems # Setup the repositories for Debian based systems
- include_tasks: software/repositories.yml - include_tasks: software/repositories.yml

View File

@@ -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:

View File

@@ -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:

View File

@@ -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:

View File

@@ -12,6 +12,7 @@
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"