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