[][src]Struct kube_conf::Config

pub struct Config {
    pub current_context: Option<String>,
    pub preferences: Option<Mapping>,
    pub clusters: Vec<Cluster>,
    pub contexts: Vec<Context>,
    pub users: Vec<User>,
    pub api_version: Option<String>,
    pub kind: Option<String>,
}

The main struct that holds the entire config map. See the methods on this struct for ways to parse a config.

Examples

Fetching current context

use kube_conf::Config;
let config = Config::load("tests/config.yml")?;
let current_context = config.get_current_context().unwrap();

assert_eq!("dev-frontend", current_context.name);

Fetching the default kubeconfig file

This typically means the file located at $HOME/.kube/config

use kube_conf::Config;
let config = Config::load_default()?;
let current_context = config.current_context.unwrap();

assert_eq!("dev-frontend", current_context);

Fields

current_context: Option<String>

The name of the current active context. The actual context can be retrieved by finding the context in the context set based on this name.

preferences: Option<Mapping>

Preferences provided in the config.yml file.

clusters: Vec<Cluster>

The clusters as defined by the "clusters" key

contexts: Vec<Context>

The contexts as defined by the "contexts" key

users: Vec<User>

The users as defined by the "users" key

api_version: Option<String>

Will typically be "v1", generally not needed

kind: Option<String>

Will typically be "Config", generally not needed

Methods

impl Config[src]

pub fn load_default() -> Result<Config>[src]

Fetches the current config based on the user's configured environment.

This includes $KUBECONFIG when set, or simply $HOME/.kube/config otherwise.

TODO: Support multiple kubeconfig files in the KUBECONFIG env var separated by colons, i.e. KUBECONFIG=file1:file2. Merge the result.

pub fn load<P: AsRef<Path>>(path: P) -> Result<Config>[src]

Fetches the config from the provided path.

pub fn get_current_context(&self) -> Option<&Context>[src]

Gets the currently active context based on the current-context key in the config file.

Trait Implementations

impl Clone for Config[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Config[src]

impl<'de> Deserialize<'de> for Config[src]

Auto Trait Implementations

impl Send for Config

impl Sync for Config

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]