You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
modules/vault-github/README.md

2.2 KiB

display_name description icon maintainer_github verified tags
Hashicorp Vault Integration (GitHub) Authenticates with Vault using GitHub ../.icons/vault.svg coder true
helper
integration
vault
github

Hashicorp Vault Integration (GitHub)

This module lets you authenticate with Hashicorp Vault in your Coder workspaces using external auth for GitHub.

module "vault" {
  source = "registry.coder.com/modules/vault-github/coder"
  version = "1.0.1"
  agent_id = coder_agent.example.id
  vault_addr = "https://vault.example.com"
}

Then you can use the Vault CLI in your workspaces to fetch secrets from Vault:

vault kv get -mount = secret my-secret

or using the Vault API:

curl -H "X-Vault-Token: ${VAULT_TOKEN}" -X GET "${VAULT_ADDR}/v1/secret/data/my-secret"

Vault login

Configuration

To configure the Vault module, you must set up a Vault GitHub auth method. See the Vault documentation for more information.

Examples

Configure Vault integration with a different Coder GitHub external auth ID (i.e., not the default github)

module "vault" {
  source = "registry.coder.com/modules/vault-github/coder"
  version = "1.0.1"
  agent_id = coder_agent.example.id
  vault_addr = "https://vault.example.com"
  coder_github_auth_id = "my-github-auth-id"
}

Configure Vault integration with a different Coder GitHub external auth ID and a different Vault GitHub auth path

module "vault" {
  source = "registry.coder.com/modules/vault-github/coder"
  version = "1.0.1"
  agent_id = coder_agent.example.id
  vault_addr = "https://vault.example.com"
  coder_github_auth_id = "my-github-auth-id"
  vault_github_auth_path = "my-github-auth-path"
}

Configure Vault integration and install a specific version of the Vault CLI

module "vault" {
  source = "registry.coder.com/modules/vault-github/coder"
  version = "1.0.1"
  agent_id = coder_agent.example.id
  vault_addr = "https://vault.example.com"
  vault_cli_version = "1.15.0"
}