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
 | 
					    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)
 | 
					# 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