Add example playbook
This commit is contained in:
parent
d99950a6e8
commit
9c98c905c1
2 changed files with 52 additions and 11 deletions
61
README.md
61
README.md
|
@ -3,17 +3,16 @@ Configuration Management Database
|
|||
|
||||
Diese Rolle erstellt eine [CMDB](https://de.wikipedia.org/wiki/Configuration_Management_Database) innerhalb eines vorhandenen Dokuwikis.
|
||||
|
||||
## Installation
|
||||
Führe die Rolle mit dem `install`-Tag aus:
|
||||
```Shell
|
||||
ansible-playbook playbooks/cmdb.yml --tags install
|
||||
```
|
||||
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.
|
||||
|
||||
## Erstellung / Aktualisierung der Einträge
|
||||
Führe die Rolle ohne `install`-Tag aus:
|
||||
```Shell
|
||||
ansible-playbook playbooks/cmdb.yml --skip-tags install
|
||||
```
|
||||
## Storage Boxes
|
||||
|
||||
Ebenso können CMDB-Seiten für [Hetzner Storage Boxes](https://docs.hetzner.com/de/robot/storage-box) 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
|
||||
|
||||
|
@ -26,3 +25,45 @@ ansible-playbook playbooks/cmdb.yml --skip-tags install
|
|||
| `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`|
|
||||
|
||||
## Beispiel-Playboook
|
||||
|
||||
```YAML
|
||||
---
|
||||
- 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:
|
||||
```Shell
|
||||
ansible-playbook playbooks/cmdb.yml --tags never,install
|
||||
```
|
||||
|
||||
## Erstellung / Aktualisierung der Einträge
|
||||
Führe die Rolle ohne `install`-Tag aus:
|
||||
```Shell
|
||||
ansible-playbook playbooks/cmdb.yml
|
||||
```
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- name: Initiate cmdb
|
||||
ansible.builtin.import_tasks: install.yml
|
||||
delegate_to: "{{ cmdb.wiki_server }}"
|
||||
tags: install
|
||||
tags: never, install
|
||||
|
||||
- name: Gather facts
|
||||
ansible.builtin.package_facts:
|
||||
|
|
Loading…
Reference in a new issue