package
2.0.0+incompatible
Repository: https://github.com/iqinning/go-config.git
Documentation: pkg.go.dev
# README
Vault Source
The vault source reads config from different secret engines in a Vault server. For example:
kv: secret/data/<my/secret>
database credentials: database/creds/<my-db-role>
New Source
Specify source with data
vaultSource := vault.NewSource(
// mandatory: it specifies server address.
// It could have different formats:
// 127.0.0.1 -> https://127.0.0.1:8200
// http://127.0.0.1 -> http://127.0.0.1:8200
// http://127.0.0.1:2233
vault.WithAddress("http://127.0.0.1:8200"),
// mandatory: it specifies a resource to been access
vault.WithResourcePath("secret/data/my/secret"),
// mandatory: it specifies a resource to been access
vault.WithToken("<my-token>"),
// optional: path to store my secret.
// By default use resourcePath value
vault.WithSecretName("my/secret"),
// optional: namespace.
vault.WithNameSpace("myNameSpace"),
)
Load Source
Load the source into config
// Create new config
conf := config.NewConfig()
// Load file source
conf.Load(vaultSource)
# Functions
NewSource creates a new vault source.
WithAddress sets the server address.
WithNameSpace sets the namespace that its going to be access.
WithResourcePath sets the resource that will be access.
WithSecretName sets the name of the secret to wrap in on a map.
WithToken sets the key token to use.