{"id":13522679,"url":"https://github.com/corneliusweig/konfig","last_synced_at":"2025-04-06T09:11:11.007Z","repository":{"id":46616405,"uuid":"178614017","full_name":"corneliusweig/konfig","owner":"corneliusweig","description":"konfig helps to merge, split or import kubeconfig files","archived":false,"fork":false,"pushed_at":"2022-06-30T06:25:55.000Z","size":64,"stargazers_count":365,"open_issues_count":8,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T08:12:29.231Z","etag":null,"topics":["config","kubeconfig","kubectl","kubectl-plugin","kubectl-plugins","kubernetes","merge"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/corneliusweig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-30T21:38:13.000Z","updated_at":"2025-03-29T09:21:30.000Z","dependencies_parsed_at":"2022-08-24T17:42:20.778Z","dependency_job_id":null,"html_url":"https://github.com/corneliusweig/konfig","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corneliusweig%2Fkonfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corneliusweig%2Fkonfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corneliusweig%2Fkonfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corneliusweig%2Fkonfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corneliusweig","download_url":"https://codeload.github.com/corneliusweig/konfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457803,"owners_count":20941906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","kubeconfig","kubectl","kubectl-plugin","kubectl-plugins","kubernetes","merge"],"created_at":"2024-08-01T06:00:51.064Z","updated_at":"2025-04-06T09:11:10.986Z","avatar_url":"https://github.com/corneliusweig.png","language":"Shell","funding_links":[],"categories":["kubectl Plugins","Shell","config","Containers"],"sub_categories":["Installing plugins via awesome-kubectl-plugins","Kubernetes"],"readme":"# konfig\n\n![Latest GitHub release](https://img.shields.io/github/release/corneliusweig/konfig.svg)\n![GitHub workflow status](https://img.shields.io/github/workflow/status/corneliusweig/konfig/konfig%20CI)\n![Written in Bash](https://img.shields.io/badge/written%20in-bash-19bb19.svg)\n\u003c!--![GitHub stars](https://img.shields.io/github/stars/corneliusweig/konfig.svg?label=github%20stars)--\u003e\n\nkonfig helps to merge, split or import kubeconfig files\n \n## Usage\n\n### Import a kubeconfig\n```bash\nkonfig import --save new-cfg\n```\nImports the config file `new-cfg` into the default kubeconfig at `~/.kube/config`.\nTo show the result without changing your kubeconfig, do\n```bash\nkonfig import new-cfg\n```\n\nCAVEAT: due to how shells work, the following will lose your current `~/.kube/config`\n```bash\n# WRONG, don't do this!\nkonfig import new-cfg \u003e ~/.kube/config\n```\n\n### Merge several kubeconfig files\n```bash\nkonfig merge config1 config2 \u003e merged-config\n```\nThis variant creates a self-contained kubeconfig where all credentials are stored inline in the kubeconfig.\nIf you want to preserve the structure and keep credentials separate, use `--preserve-structure`.\n\n### Extract a minimal kubeconfig for one or several contexts\nThis will extract a minimal kubeconfig with a single context `minikube`:\n```bash\n# extract context minikube from the default kubeconfig\nkonfig export minikube \u003e minikube.config\n\n# extract context minikube and docker-for-desktop from two input configs\nkonfig export minikube docker-for-desktop -k ~/.kube/other,~/dockercfg \u003e local\n```\n\n## Installation\nThere are several ways to install `konfig`.\nThe recommended installation method is via `krew`.\n\n### Via krew\nKrew is the `kubectl` plugin manager. If you have not yet installed `krew`, get it at\n[https://github.com/kubernetes-sigs/krew](https://github.com/kubernetes-sigs/krew).\nThen installation is as simple as\n```bash\nkubectl krew install konfig\n```\nThe plugin will be available as `kubectl konfig`, see [doc/USAGE](doc/USAGE.md) for further details. You could also define an alias as well: `alias konfig = 'kubectl konfig'`\n\n### Manual\nWhen using the binaries for installation, also have a look at [USAGE](#Usage).\n\n#### OSX \u0026 Linux\n```bash\ncurl -Lo konfig https://github.com/corneliusweig/konfig/raw/v0.2.6/konfig \\\n  \u0026\u0026 chmod +x konfig \\\n  \u0026\u0026 sudo mv -i konfig /usr/local/bin\n```\nFeel free to change the `sudo mv` to put `konfig` in some other location from your `$PATH` variable.\n\n#### Windows\n\u003e If you figure out how to run `konfig` on Windows, please send a PR with instructions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorneliusweig%2Fkonfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorneliusweig%2Fkonfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorneliusweig%2Fkonfig/lists"}