HashiCorp Vault Container Plugin
The HashiCorp Vault container plugin allows you to manage secrets and protect sensitive data in your Release infrastructure.
important
You must set up a connection to the HashiCorp Vault server before adding HashiCorp Vault task. For more information, see Set up Connection to HashiCorp Vault Server.
note
In the release flow editor, Container tasks have a blue border.
HashiCorp Vault provides the following features:
- Create/Update Secret (Container)
- Read Secret (Container)
- Delete Secret (Container)
Prerequisites
For HashiCorp Vault integration, you need the following:
- HashiCorp Vault server running and accessible via HTTP(s)
- Remote runner setup to run the container tasks
Set up Connection to HashiCorp Vault Server
- From the navigation pane, under CONFIGURATION, click Connections.
- Under Secrets Management, next to Vault Server (Container), click . The New Vault Server (Container) page opens.
- In the Title field, enter the name of the HashiCorp Vault server. This name will display in HashiCorp Vault tasks.
- In the URL field, enter the URL of the HashiCorp Vault server.
- In the Authentication Method field, select your relevant authentication type from the drop-down list.
- PAT
- Basic
- AppRole
- LDAP
- For Basic and LDAP, you can enter Username and Password.
- For AppRole, you can enter RoleId and SecretId.
- For PAT, you can enter the Api Token.
- To test the connection, click Test.
- To save the configuration, click Save.
Create/Update Secret (Container)
The Create/Update Secret (Container) task is used to create or update secret within the vault.
- In the release flow tab of a Release template, add a task of type Vault > Create/Update Secret (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your remote runner. This will help you to route jobs to that particular remote runner.
- In the Server field, select the HashiCorp Vault server where Release connects.
- In the Mount Point field, enter the mount point path for the secrets engine.
- In the Version field, select the version of the secret that you want to create or update.
- In the Path field, enter the path of the secret that you want to create or update.
- In the Key field, enter the key of the secret that you want to create or update.
- In the Value field, enter the value of the secret that you want to create or update.
Read Secret (Container)
The Read Secret (Container) task is used to read secrets within the vault.
- In the release flow tab of a Release template, add a task of type Vault > Read Secret (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your remote runner. This will help you to route jobs to that particular remote runner.
- In the Server field, select the HashiCorp Vault server where Release connects.
- In the Mount Point field, enter the mount point path for the secrets engine.
- In the Version field, select the version of the secret that you want to read.
- In the Path field, enter the path of the secret that you want to read.
- In the Key field, enter the key of the secret that you want to read.
Delete Secret (Container)
The Delete Secret (Container) task is used to delete secrets within the vault.
- In the release flow tab of a Release template, add a task of type Vault > Delete Secret (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your remote runner. This will help you to route jobs to that particular remote runner.
- In the Server field, select the HashiCorp Vault server where Release connects.
- In the Mount Point field, enter the mount point path for the secrets engine.
- In the Version field, select the version of the secret that you want to delete.
- In the Path field, enter the path of the secret that you want to delete.