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