Skip to main content

Fetches kubeconfigs from qbert API

Project description

# Qbertconfig

Fetches kubeconfig from qbert API

Although the [`kubectl config`](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config) command is used to manage kubeconfigs, we have no way to pull a kubeconfig from Platform9 Managed Kubernetes' Qbert API. This aims to solve that problem by downloading and merging clusters' kubeconfigs with existing kubeconfig files.

## Installation

It's strongly recommended to use a python virtualenv

```bash
pip install qbertconfig
```

## Usage

```bash
qc [-h] [-k KUBECONFIG] fetch [--name cluster_name] [--uuid cluster_uuid]
```

_Note: The client also supports all `--os` cli flags provided by os-client-config_

## Testing

Yes, really, there are tests

```bash
pip install -r requirements.txt
nosetests -v -d tests/
```

## How it works

Here is the basic structure of a Kubeconfig:

```yaml
apiVersion: v1
kind: Config
preferences: {}
current-context: default
clusters: []
contexts: []
users: []
```

Each of cluster, context, or user, has a `name` associated with it. This is the unique identifier for each object, and each context uses these names to tie it all together.

Each of these sections can be managed with the `kubectl config` command. [[Documentation](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config)]

This utility will fetch a fresh kubeconfig from the Qbert API, and merge it's details into the specified kubeconfig.

With the fresh kubeconfig, the following sections are renamed to resolve common collisions when managing many PMK clouds.

- `user` is renamed to `fqdn-username` to align with unique keystone environments
- `context` is renamed to the `cluster_name`
- `cluster` is renamed to the `cluster_uuid`


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

qbertconfig-0.1.0-py2-none-any.whl (9.8 kB view hashes)

Uploaded py2

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page