- infos = Information about the ansible plugin is in keys below
- infos/author = Maximilian Irlinger [email protected]
- infos/licence = BSD
- infos/needs =
- infos/provides = storage/ansible
- infos/recommends =
- infos/placements = setstorage
- infos/status = recommended productive maintained conformant unittest writeonly
- infos/metadata =
- infos/description = export Ansible playbooks
Provides a write-only storage plugin for use with kdb export
and kdb record-export
.
The output format is an Ansible playbook that utilized the ansible-libelektra module.
Keys that possess the metakey meta:/elektra/removed
will be removed using the remove
option in ansible-libelektra.
You can use the following configuration keys to modify the behavior and output of the plugin:
Key | Default Value | Description |
---|---|---|
playbook |
1 |
Whether to generate a whole playbook or just a (list of) task(s) (0 ) |
playbook/name |
My Elektra Playbook | The name property of the playbook |
playbook/hosts |
all | The hosts property of the playbook |
task/main/name |
Set Elektra Keys | The name of the 'main' task of the playbook |
This plugin requires yaml-cpp. On a Debian based OS the package for the library is called libyaml-cpp-dev
. On macOS you can install the package yaml-cpp
via HomeBrew.
# Backup-and-Restore: user:/tests
kdb set user:/tests/company/roles/ceo Hans
#> Create a new key user:/tests/company/roles/ceo with string "Hans"
kdb export user:/tests/company ansible -c playbook/name="Company Roles",task/main/name="I can customize this too"
# RET:0
---
- name: Company Roles
hosts: all
collections:
- elektra_initiative.libelektra
tasks:
- name: I can customize this too
elektra:
keys:
- user:
tests:
company:
roles:
ceo:
- value: Hans
-
This plugin only supports writing of Ansible Playbooks. It is currently not possible to read them with this plugin. Do not use this plugin as a general-purpose storage plugin.
-
If keys below
system:/elektra/mountpoints
are included, we will always create a second task for them instead of using themount
operation of the ansible-libelektra module. This task will be created first. Keys created during the 'main' task will then already be able to use the correctly mounted files.