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, [])
|
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 = [
|
secrets_input = [
|
||||||
for secret in local.secrets : {
|
for secret in local.secrets : {
|
||||||
name = secret.name
|
name = secret.name
|
||||||
@ -105,7 +136,7 @@ terraform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
secrets = local.secrets_input
|
secrets = concat(local.secrets_input, local.regcred_secrets)
|
||||||
|
|
||||||
s3_outputs = {
|
s3_outputs = {
|
||||||
bucket_name = dependency.s3.outputs.bucket_name
|
bucket_name = dependency.s3.outputs.bucket_name
|
||||||
|
|||||||
@ -4,5 +4,8 @@ variable "namespaces" {
|
|||||||
name = string
|
name = string
|
||||||
labels = optional(map(string), {})
|
labels = optional(map(string), {})
|
||||||
annotations = 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