Skip to main content

Fetches kubeconfigs from qbert API

Project description

Fetches kubeconfig from qbert API

Although the kubectl 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

pip install qbertconfig

Usage

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

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

How it works

Here is the basic structure of a Kubeconfig:

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]

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 Distribution

qbertconfig-0.1.2.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

qbertconfig-0.1.2-py2-none-any.whl (9.9 kB view details)

Uploaded Python 2

File details

Details for the file qbertconfig-0.1.2.tar.gz.

File metadata

  • Download URL: qbertconfig-0.1.2.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.14

File hashes

Hashes for qbertconfig-0.1.2.tar.gz
Algorithm Hash digest
SHA256 aa8a9cdd0cb4c4fe17025b6aa4bf9b3c6915e0e6138ab551013ba05e105a7fe9
MD5 9749a4390d3ef1afcb69d152e4775434
BLAKE2b-256 02b6a785fb0570686bdda5d5e6306ca3a823f74af8cdd99bce6123a9dbb5e05f

See more details on using hashes here.

File details

Details for the file qbertconfig-0.1.2-py2-none-any.whl.

File metadata

File hashes

Hashes for qbertconfig-0.1.2-py2-none-any.whl
Algorithm Hash digest
SHA256 c48b388a6290b2e586053025bb707e1179a55969f4caceb0c1a48bfaf4701ff6
MD5 dca3c931480a8aa24c4e9e0851182a1d
BLAKE2b-256 e520e1ed4152abe12803084c8d2d4c258f39827d10016d5b5a7150610723dc35

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page