From 0793b810008af1b24b6c4f4090dd8e038b829821 Mon Sep 17 00:00:00 2001 From: Nemo Date: Fri, 10 Jul 2020 22:32:32 +0200 Subject: [PATCH] Add Munin async server role --- group_vars/all/vault.yml.template | 4 ++ group_vars/munin_server.yml.template | 3 ++ playbook_munin_server_deploy.yml | 1 + roles/munin_async_server/README.md | 44 ++++++++++++++++++++++ roles/munin_async_server/defaults/main.yml | 11 ++++++ roles/munin_async_server/meta/main.yml | 26 +++++++++++++ roles/munin_async_server/tasks/main.yml | 6 +++ roles/munin_async_server/tasks/package.yml | 5 +++ roles/munin_async_server/tasks/service.yml | 6 +++ roles/munin_async_server/tasks/user.yml | 15 ++++++++ 10 files changed, 121 insertions(+) create mode 100644 roles/munin_async_server/README.md create mode 100644 roles/munin_async_server/defaults/main.yml create mode 100644 roles/munin_async_server/meta/main.yml create mode 100644 roles/munin_async_server/tasks/main.yml create mode 100644 roles/munin_async_server/tasks/package.yml create mode 100644 roles/munin_async_server/tasks/service.yml create mode 100644 roles/munin_async_server/tasks/user.yml diff --git a/group_vars/all/vault.yml.template b/group_vars/all/vault.yml.template index 2c269ad..78beddd 100644 --- a/group_vars/all/vault.yml.template +++ b/group_vars/all/vault.yml.template @@ -7,6 +7,10 @@ vault_public_key_: | vault_munin_admin_user: munin vault_munin_admin_password: munin +vault_private_key_munin_async_user_host: | + SSH_PRIV_KEY_OF_munin_async_user_USER_ON_USER_HOST +vault_public_key_munin_async_user_host: SSH_PUB_KEY_OF_munin_async_user_USER_ON_USER_HOST + vault_private_key_backup_user_host: | SSH_PRIV_KEY_OF_backup_user_USER_ON_USER_HOST vault_public_key_backup_user_host: SSH_PUBKEY_OF_backup_user_USER_ON_BACKUP_HOST diff --git a/group_vars/munin_server.yml.template b/group_vars/munin_server.yml.template index 0bd364d..8d6456f 100644 --- a/group_vars/munin_server.yml.template +++ b/group_vars/munin_server.yml.template @@ -9,4 +9,7 @@ munin_hosts: munin_admin_user: "{{ vault_munin_admin_user }}" munin_admin_password: "{{ vault_munin_admin_password }}" +private_key_munin_async_user_host: "{{ vault_private_key_munin_async_user_host }}" +public_key_munin_async_user_host: "{{ vault_public_key_munin_async_user_host }}" + munin_alerts: [] diff --git a/playbook_munin_server_deploy.yml b/playbook_munin_server_deploy.yml index fb299c0..e7917c0 100644 --- a/playbook_munin_server_deploy.yml +++ b/playbook_munin_server_deploy.yml @@ -2,3 +2,4 @@ - hosts: munin_server roles: - geerlingguy.munin + - munin_async_server diff --git a/roles/munin_async_server/README.md b/roles/munin_async_server/README.md new file mode 100644 index 0000000..6481170 --- /dev/null +++ b/roles/munin_async_server/README.md @@ -0,0 +1,44 @@ +Ansible Role: munin async server +========= + +This role set up Munin async server for a GNU/Linux server. + +Requirements +------------ + +The role geerlingguy.munin needs to be deploy on the Munin server before using the current role. + +Roll Variables +-------------- + +All variables and default values are defined in `defaults/main.yml` : + + # Name of the munin-async service and munin-async package (depends on your OS, can be munin-async, munin-asyncd...) + munin_async_service_name: munin-async + munin_async_package: munin-async + + # Private/Public SSH keys of Munin async server to access all Munin async client account + private_key_munin_async_user_host: "" + public_key_munin_async_user_host: "" + +Dependencies +------------ + +None. + +Example Playbook +---------------- + + - hosts: munin_server + roles: + - munin_async_server + +License +------- + +BSD + +Author Information +------------------ + +This role was created in 2020 by Nemo. diff --git a/roles/munin_async_server/defaults/main.yml b/roles/munin_async_server/defaults/main.yml new file mode 100644 index 0000000..88ef02e --- /dev/null +++ b/roles/munin_async_server/defaults/main.yml @@ -0,0 +1,11 @@ +--- +# defaults file for munin_async_server + +# Name of the munin-async service and munin-async package (depends on your OS, can be munin-async, munin-asyncd...) +munin_async_service_name: munin-async +munin_async_package: munin-async + +# Private/Public SSH keys of Munin async server to access all Munin async client account +private_key_munin_async_user_host: "" +public_key_munin_async_user_host: "" + diff --git a/roles/munin_async_server/meta/main.yml b/roles/munin_async_server/meta/main.yml new file mode 100644 index 0000000..3673d79 --- /dev/null +++ b/roles/munin_async_server/meta/main.yml @@ -0,0 +1,26 @@ +galaxy_info: + author: nemo + description: Set up Munin async server for GNU/Linux. + company: Wirebrass + + license: license (BSD) + + min_ansible_version: 2.4 + + platforms: + - name: Debian + versions: + - stretch + - buster + - name: Gentoo + versions: + - all + + galaxy_tags: + - munin + - munin-async + - system + - server + - auto + +dependencies: [] diff --git a/roles/munin_async_server/tasks/main.yml b/roles/munin_async_server/tasks/main.yml new file mode 100644 index 0000000..b49f44d --- /dev/null +++ b/roles/munin_async_server/tasks/main.yml @@ -0,0 +1,6 @@ +--- +# Main tasks file for munin_async_server + +- import_tasks: package.yml +- import_tasks: user.yml +- import_tasks: service.yml diff --git a/roles/munin_async_server/tasks/package.yml b/roles/munin_async_server/tasks/package.yml new file mode 100644 index 0000000..a870d23 --- /dev/null +++ b/roles/munin_async_server/tasks/package.yml @@ -0,0 +1,5 @@ +--- +- name: Munin async installed + package: + name: "{{ munin_async_package }}" + state: present diff --git a/roles/munin_async_server/tasks/service.yml b/roles/munin_async_server/tasks/service.yml new file mode 100644 index 0000000..aa4f5f4 --- /dev/null +++ b/roles/munin_async_server/tasks/service.yml @@ -0,0 +1,6 @@ +--- +- name: Munin async enabled + service: + name: "{{ munin_async_service_name }}" + state: started + enabled: yes diff --git a/roles/munin_async_server/tasks/user.yml b/roles/munin_async_server/tasks/user.yml new file mode 100644 index 0000000..7c2f4c7 --- /dev/null +++ b/roles/munin_async_server/tasks/user.yml @@ -0,0 +1,15 @@ +--- +- name: Deploy private key to access other Munin async node + copy: + dest: /home/munin-async/.ssh/id_rsa + owner: munin-async + group: munin-async + mode: '0600' + content: "{{ private_key_munin_async_user_host }}" +- name: Deploy public key to access other Munin async node + copy: + dest: /home/munin-async/.ssh/id_rsa.pub + owner: munin-async + group: munin-async + mode: '0644' + content: "{{ public_key_munin_async_user_host + '\n' }}"