Add environment injection to deployment and enhance app rendering
This commit is contained in:
@@ -9,6 +9,7 @@ schema App:
|
||||
port: int
|
||||
|
||||
appRender = lambda a: App {
|
||||
"""Render app to Deployment and Service"""
|
||||
deployment = appsv1.Deployment {
|
||||
apiVersion = "apps/v1"
|
||||
kind = "Deployment"
|
||||
|
||||
+16
@@ -1,3 +1,4 @@
|
||||
import k8s.api.apps.v1 as appsv1
|
||||
import k8s.api.core.v1 as corev1
|
||||
|
||||
schema Envs:
|
||||
@@ -15,3 +16,18 @@ envSecretRender = lambda e: Envs {
|
||||
}
|
||||
secret
|
||||
}
|
||||
|
||||
envInjector = lambda envs: Envs, deploy: appsv1.Deployment {
|
||||
"""Inject envs to Deployment"""
|
||||
_result: [appsv1.Deployment] = []
|
||||
if deploy.kind != "Deployment":
|
||||
_result = [deploy]
|
||||
else:
|
||||
secretEnv = [{
|
||||
name = k
|
||||
secret = v
|
||||
} for k, v in envs.envs]
|
||||
deploy.spec.template.spec.containers[0].env = secretEnv
|
||||
_result = [deploy]
|
||||
_result
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user