On this page
community.general.credstash – retrieve secrets from Credstash on AWS
Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.credstash
.
Synopsis
- Credstash is a small utility for managing secrets using AWS’s KMS and DynamoDB: https://github.com/fugue/credstash
Requirements
The below requirements are needed on the local controller node that executes this lookup.
- credstash (python library)
Parameters
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
_terms
list / elements=string / required
|
term or list of terms to lookup in the credit store
|
||
aws_access_key_id
string
|
env:AWS_ACCESS_KEY_ID
|
AWS access key ID
|
|
aws_secret_access_key
string
|
env:AWS_SECRET_ACCESS_KEY
|
AWS access key
|
|
aws_session_token
string
|
env:AWS_SESSION_TOKEN
|
AWS session token
|
|
profile_name
string
|
env:AWS_PROFILE
|
AWS profile to use for authentication
|
|
region
string
|
AWS region
|
||
table
string / required
|
Default:
"credential-store"
|
name of the credstash table to query
|
|
version
string
|
Credstash version
|
Examples
- name: first use credstash to store your secrets
ansible.builtin.shell: credstash put my-github-password secure123
- name: "Test credstash lookup plugin -- get my github password"
ansible.builtin.debug:
msg: "Credstash lookup! {{ lookup('community.general.credstash', 'my-github-password') }}"
- name: "Test credstash lookup plugin -- get my other password from us-west-1"
ansible.builtin.debug:
msg: "Credstash lookup! {{ lookup('community.general.credstash', 'my-other-password', region='us-west-1') }}"
- name: "Test credstash lookup plugin -- get the company's github password"
ansible.builtin.debug:
msg: "Credstash lookup! {{ lookup('community.general.credstash', 'company-github-password', table='company-passwords') }}"
- name: Example play using the 'context' feature
hosts: localhost
vars:
context:
app: my_app
environment: production
tasks:
- name: "Test credstash lookup plugin -- get the password with a context passed as a variable"
ansible.builtin.debug:
msg: "{{ lookup('community.general.credstash', 'some-password', context=context) }}"
- name: "Test credstash lookup plugin -- get the password with a context defined here"
ansible.builtin.debug:
msg: "{{ lookup('community.general.credstash', 'some-password', context=dict(app='my_app', environment='production')) }}"
Return Values
Common return values are documented here, the following are the fields unique to this lookup:
Key | Returned | Description |
---|---|---|
_raw
string
|
success |
Value(s) stored in Credstash.
|
Authors
- Unknown (!UNKNOWN)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/credstash_lookup.html