From b729e4030ac5da695e8ea1e58936e4adb2be6a5c Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Fri, 14 Mar 2025 12:23:53 +0800 Subject: [PATCH] Refactor environment injection and secret rendering for improved deployment handling --- base/env.k | 20 +++++++++++++------- main.k | 13 +++++++------ tmp/build-errors.log | 2 +- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/base/env.k b/base/env.k index 37da848..1ca4e7e 100644 --- a/base/env.k +++ b/base/env.k @@ -14,20 +14,26 @@ envSecretRender = lambda e: Envs { } data = e.envs } - secret + [secret] } -envInjector = lambda envs: Envs, deploy: appsv1.Deployment { +envInjector = lambda envs: Envs, deploy { """Inject envs to Deployment""" - _result: [appsv1.Deployment] = [] + _result = {} if deploy.kind != "Deployment": - _result = [deploy] + _result = deploy else: - secretEnv = [{ + secretEnv: [corev1.EnvVar] = [{ name = k - secret = v + valueFrom = { + secretKeyRef = { + name = "app-secret" + key = k + } + } } for k, v in envs.envs] + print(secretEnv) deploy.spec.template.spec.containers[0].env = secretEnv - _result = [deploy] + _result = deploy _result } diff --git a/main.k b/main.k index d980463..df85082 100644 --- a/main.k +++ b/main.k @@ -1,5 +1,5 @@ import base - +import yaml import manifests base.App { @@ -17,15 +17,16 @@ base.App { envs = base.Envs { envs = { - "key1": "value1" - "key2": "value2" + "APP_VAR": "varvalue" + "APP_SECRET": "secretvalue" } } -apps_manifests = [base.envInjector(envs,base.appRender(a)) for a in base.App.instances()] +deploys = sum([base.appRender(a) for a in base.App.instances()], []) +print(yaml.encode(deploys)) + +apps_manifests = [base.envInjector(envs, deploy) for deploy in deploys] env_manifests = [base.envSecretRender(a) for a in base.Envs.instances()] - - # base.appRender(a) manifests.yaml_stream([apps_manifests, env_manifests]) diff --git a/tmp/build-errors.log b/tmp/build-errors.log index 707aa92..6f61b86 100644 --- a/tmp/build-errors.log +++ b/tmp/build-errors.log @@ -1 +1 @@ -exit status 1exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1 \ No newline at end of file +exit status 1exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1 \ No newline at end of file