Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/26664.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
keyring: fixes an issue where tlsSkipVerify was not defaulting to false
```
25 changes: 14 additions & 11 deletions nomad/encrypter.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,31 +118,34 @@ func NewEncrypter(srv *Server, keystorePath string) (*Encrypter, error) {
// fields
func fallbackVaultConfig(provider *structs.KEKProviderConfig, vaultcfg *config.VaultConfig) {

setFallback := func(key, fallback, env string) {
setFallback := func(key, cfg, env, fallback string) {
if provider.Config == nil {
provider.Config = map[string]string{}
}
if _, ok := provider.Config[key]; !ok {
if fallback != "" {
provider.Config[key] = fallback
if cfg != "" {
provider.Config[key] = cfg
} else if envVal := os.Getenv(env); envVal != "" {
provider.Config[key] = envVal
} else {
provider.Config[key] = os.Getenv(env)
provider.Config[key] = fallback
}
}
}

setFallback("address", vaultcfg.Addr, "VAULT_ADDR")
setFallback("token", vaultcfg.Token, "VAULT_TOKEN")
setFallback("tls_ca_cert", vaultcfg.TLSCaPath, "VAULT_CACERT")
setFallback("tls_client_cert", vaultcfg.TLSCertFile, "VAULT_CLIENT_CERT")
setFallback("tls_client_key", vaultcfg.TLSKeyFile, "VAULT_CLIENT_KEY")
setFallback("tls_server_name", vaultcfg.TLSServerName, "VAULT_TLS_SERVER_NAME")
setFallback("address", vaultcfg.Addr, "VAULT_ADDR", "")
setFallback("token", vaultcfg.Token, "VAULT_TOKEN", "")
setFallback("tls_ca_cert", vaultcfg.TLSCaPath, "VAULT_CACERT", "")
setFallback("tls_client_cert", vaultcfg.TLSCertFile, "VAULT_CLIENT_CERT", "")
setFallback("tls_client_key", vaultcfg.TLSKeyFile, "VAULT_CLIENT_KEY", "")
setFallback("tls_server_name", vaultcfg.TLSServerName, "VAULT_TLS_SERVER_NAME", "")

// default to false as this will be parsed by the go-kms-wrapping package
skipVerify := ""
if vaultcfg.TLSSkipVerify != nil {
skipVerify = fmt.Sprintf("%v", *vaultcfg.TLSSkipVerify)
}
setFallback("tls_skip_verify", skipVerify, "VAULT_SKIP_VERIFY")
setFallback("tls_skip_verify", skipVerify, "VAULT_SKIP_VERIFY", "false")
}

func (e *Encrypter) loadKeystore() error {
Expand Down
1 change: 1 addition & 0 deletions nomad/structs/config/vault.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ func DefaultVaultConfig() *VaultConfig {
Addr: "https://vault.service.consul:8200",
JWTAuthBackendPath: "jwt-nomad",
ConnectionRetryIntv: DefaultVaultConnectRetryIntv,
TLSSkipVerify: pointer.Of(false),
}
}

Expand Down
Loading