From 8fc514936902a5ea756e6348ac6814b5889a5f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Mon, 18 Mar 2019 16:44:43 +0100 Subject: [PATCH] add first playbooks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jakub SokoĊ‚owski --- ansible/bootstrap.yml | 21 +++++++++++++++++++++ ansible/cleanup.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ ansible/main.yml | 14 ++++++++++++++ ansible/upgrade.yml | 12 ++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 ansible/bootstrap.yml create mode 100644 ansible/cleanup.yml create mode 100644 ansible/main.yml create mode 100644 ansible/upgrade.yml diff --git a/ansible/bootstrap.yml b/ansible/bootstrap.yml new file mode 100644 index 0000000..7f9486b --- /dev/null +++ b/ansible/bootstrap.yml @@ -0,0 +1,21 @@ +--- +# +# This playbook configures most basic things about the hosts: +# +# - Admin and Additional users +# - Disables root login +# - Installs Common packages +# - Starts Consul client agent +# +# This is run on every newly provisioned host. +# +- name: Bootstrap Python support for Ansible + gather_facts: False + hosts: all + roles: + - infra-role-bootstrap/raw + +- name: Bootstrap admin users and Consul + hosts: all + roles: + - infra-role-bootstrap diff --git a/ansible/cleanup.yml b/ansible/cleanup.yml new file mode 100644 index 0000000..c796457 --- /dev/null +++ b/ansible/cleanup.yml @@ -0,0 +1,42 @@ +- name: Cleanup to regain disk space + hosts: all + tasks: + - name: Save available space + set_fact: + free_before: '{{ ansible_mounts | selectattr("mount", "equalto", "/") | map(attribute="size_available") | first }}' + + - name: Clean apt packages + apt: + autoremove: true + purge: true + + - name: Uninstall snapd + apt: + name: snapd + state: absent + + - name: Remove snapd files + file: + path: '/var/lib/snapd' + state: absent + + - name: Remove logs older than 1 day + command: journalctl --vacuum-time=1d + + - name: Remove log gzipped archives + shell: 'rm -f /var/log/*.gz /var/log/docker/*/*.gz' + + - name: Remove old backups + shell: 'rm -f /var/tmp/backups/*/*' + + - name: Gather space info + setup: + gather_subset: 'hardware' + + - name: Save available space + set_fact: + free_after: '{{ ansible_mounts | selectattr("mount", "equalto", "/") | map(attribute="size_available") | first }}' + + - name: Show space recovered + debug: + msg: '~ {{ ((free_after|int - free_before|int)/(1024*1024)) | round | int }} MB' diff --git a/ansible/main.yml b/ansible/main.yml new file mode 100644 index 0000000..93c55b7 --- /dev/null +++ b/ansible/main.yml @@ -0,0 +1,14 @@ +--- +- name: Configure faucet proxy + hosts: faucet-master + roles: + - role: origin-cert + tags: origin-cert + - role: faucet-proxy + tags: faucet-proxy + +- name: Configure faucet miners + hosts: faucet-miners + roles: + - role: geth-miner + tags: geth-miner diff --git a/ansible/upgrade.yml b/ansible/upgrade.yml new file mode 100644 index 0000000..e6c6733 --- /dev/null +++ b/ansible/upgrade.yml @@ -0,0 +1,12 @@ +- name: Update and upgrade apt packages + gather_facts: false + hosts: all + tasks: + - name: Upgrade packages + apt: + upgrade: yes + update_cache: yes + cache_valid_time: 86400 #One day + - name: Remove unused packages + apt: + autoremove: yes