mirror of
https://gitlab.sarex.io/infra/terraform-contour-mirror.git
synced 2026-08-05 18:31:00 +03:00
++ add regcred fan-out to namespaces flagged image_pull_secret
This commit is contained in:
parent
1d069fa769
commit
417a2bdb77
@ -26,6 +26,37 @@ locals {
|
||||
|
||||
secrets = try(local.secret_values_env.secrets, [])
|
||||
|
||||
# image-pull-secret (regcred) fan-out. Single source: vault.common.regcred.dockerconfigjson.
|
||||
# Rolled as a kubernetes.io/dockerconfigjson secret named `regcred` into every
|
||||
# namespace flagged `image_pull_secret: true` in infrastructure.yaml. Only created
|
||||
# when the source is a real docker config (guards against the CHANGE_ME placeholder).
|
||||
regcred_dockerconfigjson = try(local.secret_values_env.vault.common.regcred.dockerconfigjson, "")
|
||||
regcred_valid = can(jsondecode(local.regcred_dockerconfigjson))
|
||||
regcred_namespaces = [
|
||||
for ns in try(local.infra_config.environments[local.env_name].namespaces, []) :
|
||||
ns.name if try(ns.image_pull_secret, false)
|
||||
]
|
||||
regcred_secrets = local.regcred_valid ? [
|
||||
for ns in local.regcred_namespaces : {
|
||||
name = "regcred"
|
||||
namespace = ns
|
||||
type = "dockerconfigjson"
|
||||
registry_url = ""
|
||||
data = { ".dockerconfigjson" = base64encode(local.regcred_dockerconfigjson) }
|
||||
depends_on = {}
|
||||
yc_sa_key_names = {}
|
||||
custom_keys = {}
|
||||
constant_keys = {}
|
||||
random_keys = {}
|
||||
credential_keys = {}
|
||||
labels = {}
|
||||
annotations = {}
|
||||
ignore_changes = false
|
||||
sink = "k8s"
|
||||
vault_path = ""
|
||||
}
|
||||
] : []
|
||||
|
||||
secrets_input = [
|
||||
for secret in local.secrets : {
|
||||
name = secret.name
|
||||
@ -105,7 +136,7 @@ terraform {
|
||||
}
|
||||
|
||||
inputs = {
|
||||
secrets = local.secrets_input
|
||||
secrets = concat(local.secrets_input, local.regcred_secrets)
|
||||
|
||||
s3_outputs = {
|
||||
bucket_name = dependency.s3.outputs.bucket_name
|
||||
|
||||
@ -4,5 +4,8 @@ variable "namespaces" {
|
||||
name = string
|
||||
labels = optional(map(string), {})
|
||||
annotations = optional(map(string), {})
|
||||
# When true, the secrets stack rolls the common regcred (dockerconfigjson)
|
||||
# into this namespace. Not used by the namespace module itself.
|
||||
image_pull_secret = optional(bool, false)
|
||||
}))
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user