blob: cfb57af208c40016b0da3eece389b45411e4e1ec [file] [log] [blame]
Scott Baker82b2b082018-04-16 16:02:14 -07001option app_label = "kubernetes";
2option name = "kubernetes";
3
4message KubernetesService (Service){
5 option verbose_name = "Kubernetes Service";
6
7}
8
Scott Baker4f5f1e22018-08-31 17:09:55 -07009message KubernetesResourceInstance (ServiceInstance){
Scott Baker1a2ee302018-08-27 16:16:19 -070010 option verbose_name = "Kubernetes Resource Instance";
Scott Baker1a2ee302018-08-27 16:16:19 -070011 optional string resource_definition = 3 [help_text = "yaml blob"];
12 optional string kubectl_state = 4 [max_length=32, db_index = False, choices = "(('created', 'CREATED'), ('updated', 'UPDATED'), ('deleted', 'DELETED'))", help_text = "Most recent state of kubectl"];
13}
14
Scott Baker3fd18e52018-04-17 09:18:21 -070015message KubernetesServiceInstance (ComputeServiceInstance){
Scott Baker82b2b082018-04-16 16:02:14 -070016 option verbose_name = "Kubernetes Service Instance";
Scott Bakerac43a742018-05-07 16:54:03 -070017 optional string pod_ip = 1 [max_length=32, db_index = False, null = True, blank = True, help_text = "IP address of pod"];
Scott Baker987748d2018-08-09 16:14:11 -070018 required bool need_event = 2 [default = False, blank = True, help_text = "True if a kafka event needs to be sent by the pull step"];
19 optional string last_event_sent = 3 [max_length=32, db_index = False, null = True, blank = True, choices = "(('created', 'CREATED'), ('updated', 'UPDATED'), ('deleted', 'DELETED'))", help_text = "Type of last event sent"];
Scott Baker82b2b082018-04-16 16:02:14 -070020}
Scott Bakerac43a742018-05-07 16:54:03 -070021
22message KubernetesData (XOSBase) {
23 optional string name = 1 [max_length=256, db_index = False, null = False, blank = False, help_text = "Name of this data store" ];
24 optional string data = 2 [db_index = False, null = True, blank = True, help_text = "Set of key,value pairs encoded as a json dictionary"];
25 required manytoone trust_domain->TrustDomain:kubernetes_configmaps = 3 [db_index = True, null = False, blank = False, help_text = "Trust domain this data resides in"];
26}
27
28message KubernetesConfigMap (KubernetesData) {
29}
30
31message KubernetesSecret (KubernetesData) {
32}
33
34message KubernetesSecretVolumeMount (XOSBase) {
35 required manytoone secret->KubernetesSecret:kubernetes_secret_volume_mounts = 1 [db_index = True, null = False, blank = False, help_text = "Secret to mount"];
36 required manytoone service_instance->KubernetesServiceInstance:kubernetes_secret_volume_mounts = 2 [db_index = True, null = False, blank = False, help_text = "Service instance in which to mount secret"];
37 optional string mount_path = 3 [max_length=256, db_index = False, null = False, blank = False, help_text = "Path to mount secret"];
38 optional string sub_path = 4 [max_length=1024, db_index = False, null = True, blank = True, help_text = "Subpath within secret to mount"];
39}
40
41message KubernetesConfigVolumeMount (XOSBase) {
42 required manytoone config->KubernetesConfigMap:kubernetes_config_voume_mounts = 1 [db_index = True, null = False, blank = False, help_text = "Config to mount"];
43 required manytoone service_instance->KubernetesServiceInstance:kubernetes_config_volume_mounts = 2 [db_index = True, null = False, blank = False, help_text = "Service instance in which to mount config"];
44 optional string mount_path = 3 [max_length=1024, db_index = False, null = False, blank = False, help_text = "Path to mount secret"];
45 optional string sub_path = 4 [max_length=1024, db_index = False, null = True, blank = True, help_text = "Subpath within secret to mount"];
46}
47