defaults | ||
files/logos | ||
meta | ||
tasks | ||
templates | ||
README.md |
Configuration Management Database
Diese Rolle erstellt eine CMDB innerhalb eines vorhandenen Dokuwikis.
Dabei werden die meisten Informationen per ansible_facts
-Module direkt vom jeweiligen Host ermittelt. Darüber hinaus
können weitere Variablen per host_vars
definiert werden.
Storage Boxes
Ebenso können CMDB-Seiten für Hetzner Storage Boxes erstellt werden. Auf diesen ist kein
Python-Interpreter vorhanden. Möglich Informationen über eine Box müssen deshalb per raw
-Module ermittelt werden. Bei Verwendung
der mitogen
-Strategie kann es zu Problem mit dem Modul kommen. Als mögliche Lösung kann die Strategie auf Playbook-Ebene angepasst werden.
Voraussetzung ist weiterhin eine Inventory-Gruppe namens storage_boxes
, die alle Storage Boxes zusammenfasst.
Variablen
Variable | Beschreibung | Default | File |
---|---|---|---|
cmdb |
Dictionary for dokuwiki server variables (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_server |
dokuwiki server (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_conf_file_path |
Pfad zur local.php des Wikis (required), Bspw: /etc/dokuwiki/farm/mywiki/local.php |
-- | group_vars/al/cmdb |
cmdb.wiki_pages_path |
path for wiki pages on dokuwiki server (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_media_path |
path for media on dokuwiki server (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_meta_path |
path for metadata on dokuwiki server (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_user |
File system user of wiki files and directories (required) | -- | group_vars/all/cmdb.yml |
cmdb.wiki_group |
File system group of wiki files and directories (required) | -- | group_vars/all/cmdb.yml |
cmdb_namespace |
Namespace für alle CMDB-Seiten (required) | cmdb |
group_vars/all/cmdb |
cmdb_documentation_path |
Wiki-Pfad zur Dokumentation den Hosts (required) | -- | group_vars/all/cmdb oder host_vars/.. |
cmdb_customer |
Name der Kundin/ Besitzerin des Hosts | -- | host_vars/.. |
cmdb_customer_service_agreement |
Link zum Servicevertrag im Wiki | -- | host_vars/.. |
Beispiel-Playboook
---
- name: Create CMDB entries for regular servers
hosts:
- all,!storage_boxes
roles:
- role: senselab.cmdb
- name: Create CMDB entries for storage boxes
gather_facts: false
strategy: linear
hosts:
- storage_boxes
tasks:
- name: Run storage box tasks
ansible.builtin.include_role:
name: senselab.cmdb
tasks_from: storage_box.yml
- name: Create items
ansible.builtin.include_role:
name: senselab.cmdb
tasks_from: server.yml
args:
apply:
delegate_to: "{{ cmdb.wiki_server }}"
Installation der CMDB
Führe die Rolle mit dem install
-Tag aus:
ansible-playbook playbooks/cmdb.yml --tags never,install
Erstellung / Aktualisierung der Einträge
Führe die Rolle ohne install
-Tag aus:
ansible-playbook playbooks/cmdb.yml