k8s-maestro 0.1.0

A Kubernetes job orchestrator tool library
Documentation
use k8s_openapi::api::core::v1::{ConfigMapEnvSource, EnvFromSource, SecretEnvSource};

#[derive(Debug, Clone)]
pub enum EnvironmentVariableFromObject{
    Secret(String),
    ConfigMap(String),
}

impl EnvironmentVariableFromObject {
    pub fn into_env_source(&self) -> EnvFromSource {
        match self {
            Self::Secret(name) => {
                let secret_source = SecretEnvSource {
                    name: Some(name.into()),
                    ..SecretEnvSource::default()
                };

                EnvFromSource {
                    secret_ref: Some(secret_source),
                    ..EnvFromSource::default()
                }
            },
            Self::ConfigMap(name) => {
                let configmap_source = ConfigMapEnvSource {
                    name: Some(name.into()),
                    ..ConfigMapEnvSource::default()
                };
                
                EnvFromSource {
                    config_map_ref: Some(configmap_source),
                    ..EnvFromSource::default()
                }
            }
        }
    }
}