vault

package
v1.37.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2026 License: MIT Imports: 11 Imported by: 0

README

HashiCorp Vault Secret-Store Plugin

The vault plugin allows to utilize secrets stored in a HashiCorp Vault server via the Vault API. It supports authentication via AppRole.

⭐ Telegraf v1.37.0 🏷️ secrets 💻 all

Usage

Secrets defined by a store are referenced with @{<store-id>:<secret_key>} the Telegraf configuration. Only certain Telegraf plugins and options of support secret stores. To see which plugins and options support secrets, see their respective documentation (e.g. plugins/outputs/influxdb/README.md). If the plugin's README has the Secret-store support section, it will detail which options support secret store usage.

Configuration

# Secret-store to access Vault Secrets
[[secretstores.vault]]
  ## Unique identifier for the secretstore.
  ## This id can later be used in plugins to reference the secrets
  ## in this secret-store via @{<id>:<secret_key>} (mandatory)
  id = "vault_secretstore"

  ## Address of the Vault server
  address = "localhost:8200"

  ## Mount path of the KV secrets engine.
  ## This is the path where the KV secrets engine is enabled. For example, if
  ## your full secret path in the Vault CLI is "secret/data/myapp/database",
  ## then mount_path = "secret".
  mount_path = ""

  ## Path to the secret within the KV secrets engine.
  ## This is the path to your specific secret under the mount point. For example,
  ## if your full secret path is "secret/data/myapp/database", then
  ## secret_path = "myapp/database". Note that the "/data/" segment in KV v2
  ## paths is handled automatically and should not be included.
  secret_path = ""

  ## Secret store engine to use.
  ## Supports 'kv-v1' and 'kv-v2' engines.
  ## By default will use the kv-v2 engine.
  # engine = "kv-v2"

  [secretstores.vault.approle]
    ## The Role ID for AppRole Authentication, a UUID string
    role_id = ""

    ## Whether the Secret ID is configured to be response wrapped or not
    # response_wrapped = false

    ## The Secret ID for AppRole Authentication
    secret = ""

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Vault

type Vault struct {
	ID         string   `toml:"id"`
	Address    string   `toml:"address"`
	MountPath  string   `toml:"mount_path"`
	SecretPath string   `toml:"secret_path"`
	Engine     string   `toml:"engine"`
	AppRole    *appRole `toml:"approle"`
	// contains filtered or unexported fields
}

func (*Vault) Get

func (v *Vault) Get(key string) ([]byte, error)

func (*Vault) GetResolver

func (v *Vault) GetResolver(key string) (telegraf.ResolveFunc, error)

func (*Vault) Init

func (v *Vault) Init() error

func (*Vault) List

func (v *Vault) List() ([]string, error)

func (*Vault) SampleConfig

func (*Vault) SampleConfig() string

func (*Vault) Set

func (v *Vault) Set(key, value string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL