Add environment schema and secret rendering for application configuration
This commit is contained in:
		
							parent
							
								
									c4a1f3aefd
								
							
						
					
					
						commit
						1993029144
					
				
							
								
								
									
										17
									
								
								base/env.k
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								base/env.k
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
import k8s.api.core.v1 as corev1
 | 
			
		||||
 | 
			
		||||
schema Envs:
 | 
			
		||||
    """Env schema"""
 | 
			
		||||
    envs: {str:str}
 | 
			
		||||
 | 
			
		||||
envSecretRender = lambda e: Envs {
 | 
			
		||||
    secret = corev1.Secret {
 | 
			
		||||
        apiVersion = "v1"
 | 
			
		||||
        kind = "Secret"
 | 
			
		||||
        metadata = {
 | 
			
		||||
            name = "app-sevret"
 | 
			
		||||
        }
 | 
			
		||||
        data = e.envs
 | 
			
		||||
    }
 | 
			
		||||
    secret
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								main.k
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								main.k
									
									
									
									
									
								
							@ -15,6 +15,15 @@ base.App {
 | 
			
		||||
    port = 8080
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
base.Envs {
 | 
			
		||||
    envs = {
 | 
			
		||||
        "key1": "value1"
 | 
			
		||||
        "key2": "value2"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apps_manifests = [base.appRender(a) for a in base.App.instances()]
 | 
			
		||||
 | 
			
		||||
env_manifests = [base.envSecretRender(a) for a in base.Envs.instances()]
 | 
			
		||||
# base.appRender(a)
 | 
			
		||||
manifests.yaml_stream([base.appRender(a) for a in base.App.instances()])
 | 
			
		||||
manifests.yaml_stream([apps_manifests, env_manifests])
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
exit status 1exit status 2exit status 1exit status 1exit status 1exit status 1
 | 
			
		||||
exit status 1exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user