kubectl-karbon
by
nutanix

Description: Kubectl plugin to connect to Nutanix karbon clusters

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on May 24th, 2024
Created on May 10th, 2021
Open Issues & Pull Requests: 8 (+0)
Number of forks: 9
Total Stargazers: 25 (+0)
Total Subscribers: 7 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • wontfix (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 38.5 days
Mean response time: 424.2 days
90th percentile: 810.0 days
Tracked items: 2

Most active contributors

Detailed Description

kubectl-karbon is a kubectl plugin developed by Nutanix that streamlines the process of connecting to Nutanix Karbon Kubernetes clusters. Written in Go, the tool eliminates the need to access the Prism UI to establish cluster connections by leveraging the Karbon API to automatically retrieve and install kubeconfig files on local systems. The plugin is designed to work across Linux, macOS, and Windows platforms, making it accessible to users regardless of their operating system preference.

The core functionality of kubectl-karbon centers on cluster authentication and configuration management. Users can authenticate with Nutanix Prism Central through the login command, which handles kubeconfig file creation, SSH key and certificate retrieval, and related setup tasks. The logout command provides the inverse operation, removing kubeconfig files, SSH credentials, and cleaning up the SSH agent. Additional commands include list to display available Kubernetes clusters, help for command documentation, and version to check the plugin version.

Installation flexibility is a key design consideration. The tool can be installed through multiple channels including Kubectl Krew, the official kubectl plugin manager, making it easy to discover and maintain alongside other kubectl extensions. Homebrew and Linuxbrew packages are available for macOS and Linux users seeking a more traditional package management approach. Manual installation is also supported for users who prefer direct binary placement in their PATH. The plugin integrates seamlessly into the kubectl ecosystem, becoming available as kubectl karbon after installation.

Configuration in kubectl-karbon follows a hierarchical precedence system where command-line flags take priority over environment variables, which in turn override settings from a configuration file. The default configuration file location is $HOME/.kubectl-karbon.yaml, though users can specify alternatives using the config flag. Supported environment variables include KARBON_SERVER, KARBON_PORT, KARBON_CLUSTER, KARBON_USER, KARBON_PASSWORD, and several others controlling SSH behavior, keyring usage, and kubeconfig handling. This flexibility allows users to tailor the tool to their specific workflows and security requirements.

Password management in kubectl-karbon prioritizes security by defaulting to non-persistent password handling. Users can optionally store passwords in system keyrings across macOS, Linux, BSD, and Windows platforms, or provide them interactively. The tool supports SSH key and certificate management with options to integrate with running SSH agents or save credentials to the ~/.ssh/ directory.

Advanced features include a merge capability that adds new contexts to existing kubeconfig files rather than overwriting them, enabling management of multiple Kubernetes clusters through a single configuration file. Kubie mode provides integration with Kubie and Kube tools that support split configuration files, storing each cluster's kubeconfig independently in a designated directory. The force flag allows users to overwrite existing files when needed.

Repository activity data shows relatively low engagement with a median issue and pull request response latency of 923.1 hours. The most active contributor tracked is tuxtof with five recorded events. The wontfix label appears most frequently among issue classifications. The repository maintains connections with related Nutanix projects including the Terraform provider and overlaps with broader Kubernetes ecosystem projects like Rancher and ArtifactHub through shared contributors.

kubectl-karbon
by
nutanixnutanix/kubectl-karbon

Repository Details

Fetching additional details & charts...