Documentation
PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.21
Documentation for other releases can be found by using the version selector in the top right of any doc page.vault_secret
Read, write, and delete secrets from HashiCorp Vault with granular secret operations supporting both KV v1 and v2 engines.
Attributes
check_mode:
support: full
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| path | true | string | The path to the secret in Vault. | |
| secret | object | The secret data to write (required for state=present). | ||
| state | string | read present absent |
The desired state of the secret. | |
| engine | string | The secrets engine type. | ||
| version | integer | The KV secrets engine version (1 or 2). | ||
| token | string | The Vault token for authentication. If not provided, uses VAULT_TOKEN environment variable. | ||
| url | string | The URL of the Vault server. If not provided, uses VAULT_ADDR environment variable. | ||
| namespace | string | The Vault namespace (Enterprise feature). | ||
| mount | string | The mount point for the secrets engine. | ||
| validate_certs | boolean | Validate SSL certificates. |
Examples
- name: Read secret from Vault
vault_secret:
path: secret/data/myapp/config
state: read
url: "http://vault:8200"
token: "{{ vault_token }}"
register: app_secrets
- name: Write secret to Vault
vault_secret:
path: secret/data/myapp/config
state: present
url: "http://vault:8200"
token: "{{ vault_token }}"
secret:
username: admin
password: "{{ db_password }}"
- name: Delete secret from Vault
vault_secret:
path: secret/data/myapp/config
state: absent
url: "http://vault:8200"
token: "{{ vault_token }}"
- name: Read secret from KV v1 engine
vault_secret:
path: kv/myapp/config
state: read
version: 1
url: "http://vault:8200"
token: "{{ vault_token }}"
register: kv1_secrets
- name: Write secret using environment variables
vault_secret:
path: secret/data/myapp/config
state: present
secret:
api_key: "{{ api_key }}"