1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/test/integration
Adrian Likins 297dfb1d50 Vault secrets script client inc new 'keyring' client (#27669)
This adds a new type of vault-password script  (a 'client') that takes advantage of and enhances the 
multiple vault password support.

If a vault password script basename ends with the name '-client', consider it a vault password script client. 

A vault password script 'client' just means that the script will take a '--vault-id' command line arg.

The previous vault password script (as invoked by --vault-password-file pointing to an executable) takes
no args and returns the password on stdout. But it doesnt know anything about --vault-id or multiple vault
passwords.

The new 'protocol' of the vault password script takes a cli arg ('--vault-id') so that it can lookup that specific
vault-id and return it's password.

Since existing vault password scripts don't know the new 'protocol', a way to distinguish password scripts
that do understand the protocol was needed.  The convention now is to consider password scripts that are
named like 'something-client.py' (and executable) to be vault password client scripts.

The new client scripts get invoked with the '--vault-id' they were requested for. An example:

     ansible-playbook --vault-id my_vault_id@contrib/vault/vault-keyring-client.py some_playbook.yml

That will cause the 'contrib/vault/vault-keyring-client.py' script to be invoked as:

     contrib/vault/vault-keyring-client.py --vault-id my_vault_id

The previous vault-keyring.py password script was extended to become vault-keyring-client.py. It uses
the python 'keyring' module to request secrets from various backends. The plain 'vault-keyring.py' script
would determine which key id and keyring name to use based on values that had to be set in ansible.cfg.
So it was also limited to one keyring name.

The new vault-keyring-client.py will request the secret for the vault id provided via the '--vault-id' option.
The script can be used without config and can be used for multiple keyring ids (and keyrings).

On success, a vault password client script will print the password to stdout and exit with a return code of 0.
If the 'client' script can't find a secret for the --vault-id, the script will exit with return code of 2 and print an error to stderr.
2017-10-13 15:23:08 -04:00
..
targets Vault secrets script client inc new 'keyring' client (#27669) 2017-10-13 15:23:08 -04:00
asa.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
cloud-config-aws.yml.template Add region to ansible-test AWS cloud config. (#30733) 2017-09-22 00:19:21 -07:00
cloud-config-azure.yml.template Fix Azure config template. 2017-08-16 12:17:38 -07:00
cloud-config-cs.ini.template Add support for cloud tests to ansible-test. (#24315) 2017-05-05 16:23:00 +08:00
dellos6.yaml Migrate Network Tests into ansible/ansible (#18233) 2016-10-28 19:50:29 +01:00
dellos9.yaml Migrate Network Tests into ansible/ansible (#18233) 2016-10-28 19:50:29 +01:00
dellos10.yaml Migrate Network Tests into ansible/ansible (#18233) 2016-10-28 19:50:29 +01:00
eos.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
integration.cfg Fix ansible-test config management. 2017-10-04 12:52:36 -07:00
integration_config.yml Fix cosmetic problems in YAML source 2016-11-11 14:50:57 -08:00
inventory Fix fact failures cause by ordering of collectors (#30777) 2017-09-28 10:36:22 -04:00
inventory.network Add VyOS integration tests for net_linkagg (#26478) 2017-07-06 11:25:15 +02:00
inventory.networking.template Increase python version coverage for tests. (#24762) 2017-05-19 01:37:53 +08:00
inventory.remote.template Add support for OS X CI on Shippable. (#17160) 2016-08-23 10:49:46 -07:00
inventory.winrm.template Increase python version coverage for tests. (#24762) 2017-05-19 01:37:53 +08:00
ios.yaml IOS Ping: Add new module to support ping tests from IOS devices (#28557) 2017-08-29 11:21:49 -04:00
iosxr.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
junos.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
network-all.yaml New module: management of the Nuage Networks VSP SDN solution (network/nuage/nuage_vspk) (#24895) 2017-07-25 12:35:03 +01:00
network-integration.cfg Increase socket connect retry timeout for integration test (#30681) 2017-09-21 15:02:19 +05:30
nxos.yaml Stop toggling nxapi (#28532) 2017-09-28 15:09:30 -04:00
ops.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
platform_agnostic.yaml remove net_command (#28525) 2017-08-23 02:07:39 +05:30
target-prefixes.network openvswitch targets via network-integration (#27295) 2017-07-27 14:14:13 +01:00
vyos.yaml Fix trailing space in ec2_vol example, fix 'the the' typos (#28440) 2017-08-19 23:00:51 +02:00
windows-integration.cfg Fix ansible-test config management. 2017-10-04 12:52:36 -07:00