blob: f20c841f29e107c16ff6134e580061dca27c0bd7 [file] [log] [blame]
option app_label = "kubernetes";
option name = "kubernetes";
message KubernetesService (Service){
option verbose_name = "Kubernetes Service";
}
message KubernetesResourceInstance (ServiceInstance){
option verbose_name = "Kubernetes Resource Instance";
optional string resource_definition = 3 [help_text = "yaml blob"];
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"];
}
message KubernetesServiceInstance (ComputeServiceInstance){
option verbose_name = "Kubernetes Service Instance";
optional string pod_ip = 1 [max_length=32, db_index = False, null = True, blank = True, help_text = "IP address of pod"];
required bool need_event = 2 [default = False, blank = True, help_text = "True if a kafka event needs to be sent by the pull step"];
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"];
}
message KubernetesData (XOSBase) {
optional string name = 1 [max_length=256, db_index = False, null = False, blank = False, help_text = "Name of this data store" ];
optional string data = 2 [db_index = False, null = True, blank = True, help_text = "Set of key,value pairs encoded as a json dictionary"];
required manytoone trust_domain->TrustDomain:kubernetes_configmaps = 3:1003 [db_index = True, null = False, blank = False, help_text = "Trust domain this data resides in"];
}
message KubernetesConfigMap (KubernetesData) {
}
message KubernetesSecret (KubernetesData) {
}
message KubernetesSecretVolumeMount (XOSBase) {
required manytoone secret->KubernetesSecret:kubernetes_secret_volume_mounts = 1:1001 [db_index = True, null = False, blank = False, help_text = "Secret to mount"];
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"];
optional string mount_path = 3 [max_length=256, db_index = False, null = False, blank = False, help_text = "Path to mount secret"];
optional string sub_path = 4 [max_length=1024, db_index = False, null = True, blank = True, help_text = "Subpath within secret to mount"];
}
message KubernetesConfigVolumeMount (XOSBase) {
required manytoone config->KubernetesConfigMap:kubernetes_config_voume_mounts = 1:1001 [db_index = True, null = False, blank = False, help_text = "Config to mount"];
required manytoone service_instance->KubernetesServiceInstance:kubernetes_config_volume_mounts = 2:1001 [db_index = True, null = False, blank = False, help_text = "Service instance in which to mount config"];
optional string mount_path = 3 [max_length=1024, db_index = False, null = False, blank = False, help_text = "Path to mount secret"];
optional string sub_path = 4 [max_length=1024, db_index = False, null = True, blank = True, help_text = "Subpath within secret to mount"];
}