hashivault_k8s_auth_role – Hashicorp Vault kubernetes secret engine role

New in version 4.3.1.

Synopsis

  • Module to define a kubernetes role that vault can generate dynamic credentials for vault

Requirements

The below requirements are needed on the host that executes this module.

  • hvac>=0.10.1

  • ansible>=2.0.0

  • requests

Parameters

Parameter Choices/Defaults Comments
authtype
-
    Choices:
  • token
  • userpass
  • github
  • ldap
  • approle
Default:
"token or environment variable `VAULT_AUTHTYPE`"
authentication type
aws_header
-
Default:
"to environment variable `VAULT_AWS_HEADER`"
X-Vault-AWS-IAM-Server-ID Header value to prevent replay attacks.
ca_cert
-
Default:
"to environment variable `VAULT_CACERT`"
Path to a PEM-encoded CA cert file to use to verify the Vault server TLS certificate
ca_path
-
Default:
"to environment variable `VAULT_CAPATH`"
Path to a directory of PEM-encoded CA cert files to verify the Vault server TLS certificate. If ca_cert is specified, its value will take precedence
client_cert
-
Default:
"to environment variable `VAULT_CLIENT_CERT`"
Path to a PEM-encoded client certificate for TLS authentication to the Vault server
client_key
-
Default:
"to environment variable `VAULT_CLIENT_KEY`"
Path to an unencrypted PEM-encoded private key matching the client certificate
login_mount_point
-
Default:
"value of authtype or environment varialbe `VAULT_LOGIN_MOUNT_POINT`"
authentication mount point
max_ttl
-
maximum allowed lifetime of tokens issued in seconds using this role.
mount_point
-
Default:
"kubernetes"
name of the secret engine mount name.
name
-
name of the role in vault
namespace
-
Default:
"to environment variable VAULT_NAMESPACE"
namespace for vault
password
-
Default:
"to environment variable `VAULT_PASSWORD`"
password to login to vault.
period
-
If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token's TTL will be set to the value of this parameter
policies
-
policies to be set on tokens issued using this role.
role_file
-
File with a json object containing play parameters. pass all params but name, state, mount_point which stay in the ansible play
token
-
Default:
"to environment variable `VAULT_TOKEN`"
token for vault
ttl
-
TTL period of tokens issued using this role in seconds
url
-
Default:
"to environment variable `VAULT_ADDR`"
url for vault
username
-
Default:
"to environment variable `VAULT_USER`"
username to login to vault.
verify
-
Default:
"to environment variable `VAULT_SKIP_VERIFY`"
If set, do not verify presented TLS certificate before communicating with Vault server. Setting this variable is not recommended except during testing

Examples

---
- hosts: localhost
  tasks:
    - hashivault_k8s_auth_role:
        name: "test"
        policies: ["test", "test2"]
        bound_service_account_names: ["vault-auth"]
        bound_service_account_namespaces: ["default", "some-app"]

    - hashivault_k8s_auth_role:
        name: test
        role_file: some_k8s_role.json

Status

Authors

  • UNKNOWN

Hint

If you notice any issues in this documentation, you can edit this document to improve it.