Releases: sunny0826/kubecm
kubecm-v0.32.0
Thanks to @yardenshoham for contributing to kubecm!
Changelog
What's Changed
- chore(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #998
- chore(deps): bump k8s.io/client-go from 0.30.0 to 0.31.0 by @dependabot in #1000
- Sort contexts before listing them by @yardenshoham in #1016
- chore(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #1010
- chore(deps): bump dawidd6/action-homebrew-bump-formula from 3 to 4 by @dependabot in #1014
Full Changelog: v0.31.0...v0.32.0
kubecm-v0.31.0
Changelog
What's Changed
- update README & docs by @sunny0826 in #977
- chore(deps): bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in #978
- chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common from 1.0.929 to 1.0.948 by @dependabot in #982
- chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.2 to 1.7.0 by @dependabot in #981
- clean up chinese docs by @sunny0826 in #995
- feat(cmd): add non-interactively mode to rename command by @sunny0826 in #996
Full Changelog: v0.30.0...v0.31.0
kubecm-v0.30.0
Changelog
What's Changed
- fixing issue #888 by @AdamRussak in #967
- add KUBECM_DISABLE_K8S_MORE_INFO env to disable output moreinfo by @yxxhero in #973
- chore(deps): bump goreleaser/goreleaser-action from 5 to 6 by @dependabot in #970
- chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.10.0 to 1.12.0 by @dependabot in #968
- add yxxhero as a contributor for code by @allcontributors in #975
New Contributors
Full Changelog: v0.29.1...v0.30.0
kubecm-v0.29.1
Changelog
Add a new parameter --context
to specify the context to be added when running kubecm add or merge command.
Prepare two kubeconfig.
./kubecm list --config kubeconfig1
+------------+-------------+-------------+----------+-------------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+==============+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+--------------+
./kubecm list --config kubeconfig2
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| * | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
Specify context2 and context3 to be added.
./kubecm add --config kubeconfig1 -f kubeconfig2 --context context2,context3
# result
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
Specify context1 and context2 to be merged.
./kubecm merge kubeconfig1 kubeconfig2 --context context1,context2
# result
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
Specify the contexts to be added after overwriting the name with the context template.
./kubecm add --config kubeconfig1 -f kubeconfig2 --context cluster2-user2,cluster3-user3 --context-template cluster,user
# result
+------------+-------------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+===================+=============+==========+=========================+================+
| | cluster2-user2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------------+-------------+----------+-------------------------+----------------+
| | cluster3-user3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------------+-------------+----------+-------------------------+----------------+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------------+-------------+----------+-------------------------+----------------+
What's Changed
- chore(deps): bump codecov/codecov-action from 4.4.0 to 4.4.1 by @dependabot in #957
- chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke from 1.0.890 to 1.0.929 by @dependabot in #958
- feat: allow specify the context to be added by @cr7258 in #962
Full Changelog: v0.29.0...v0.29.1
kubecm-v0.29.0
Highlight
Thanks to @cr7258 for his outstanding contribution to solving a long-standing issue #768 .
Generate context name by specific attributes
Use two kubeconfig files for testing.
./kubecm list --config kubeconfig1
+------------+-------------+-------------+----------+-------------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+==============+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+--------------+
./kubecm list --config kubeconfig2
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| * | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
Case 1: Use the default context-template value ("context")
The context name is the same as the original kubeconfig.
./kubecm add --config kubeconfig1 -f kubeconfig2
# result
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
Case 2: Define context template
./kubecm add --config kubeconfig1 -f kubeconfig2 --context-template filename,cluster,user
# result
+------------+-------------------------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+===============================+=============+==========+=========================+================+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------------------------+-------------+----------+-------------------------+----------------+
| | kubeconfig2-cluster2-user2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------------------------+-------------+----------+-------------------------+----------------+
| | kubeconfig2-cluster3-user3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------------------------+-------------+----------+-------------------------+----------------+
| | kubeconfig2-cluster4-user4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------------------------+-------------+----------+-------------------------+----------------+
Case 3: Define context template and context prefix
./kubecm add --config kubeconfig1 -f kubeconfig2 --context-template cluster,user --context-prefix demo
# result
+------------+------------------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+========================+=============+==========+=========================+================+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+------------------------+-------------+----------+-------------------------+----------------+
| | demo-cluster2-user2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+------------------------+-------------+----------+-------------------------+----------------+
| | demo-cluster3-user3 | cluster3 | user3 | https://example3.com | default |
+------------+------------------------+-------------+----------+-------------------------+----------------+
| | demo-cluster4-user4 | cluster4 | user4 | https://example4.com | default |
+------------+------------------------+-------------+----------+-------------------------+----------------+
Case 4: kubecm merge with context template
./kubecm merge kubeconfig1 kubeconfig2 --context-template cluster,user
# result
+------------+-------------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+===================+=============+==========+=========================+================+
| | cluster1-user1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------------+-------------+----------+-------------------------+----------------+
| | cluster2-user2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------------+-------------+----------+-------------------------+----------------+
| | cluster3-user3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------------+-------------+----------+-------------------------+----------------+
| | cluster4-user4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------------+-------------+----------+-------------------------+----------------+
Case 5: Define context name
it's useful if there is only one context in the kubeconfig file.
./kubecm add --config kubeconfig2 -f kubeconfig1 --context-name seven
# result
+------------+-------------+-------------+----------+-------------------------+----------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+================+
| * | context2 | cluster2 | user2 | https://example2.com | kube-system |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | context4 | cluster4 | user4 | https://example4.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
| | seven | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+----------------+
If the kubeconfig file contains more than 1 context, an incremental number will be added as a suffix.
./kubecm add --config kubeconfig1 -f kubeconfig2 --context-name seven
Add Context: seven
Add Context: seven-2
Add Context: seven-3
Allow select context for kubecm add and merge command
Add the --select-context
parameter allowing the user to choose which context should be added when running the kubecm add
and kubecm merge
commands.
Prepare two kubeconfig.
./kubecm list --config kubeconfig1
+------------+-------------+-------------+----------+-------------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+==============+
| * | context1 | cluster1 | user1 | https://example1.com | default |
+------------+-------------+-------------+----------+-------------------------+--------------+
./kubecm list --config kubeconfig2
+------------+-------------+-------------+----------+-------------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+=============+=============+==========+=========================+==============+
| * | context2 | cluster2 | user2 | https://example2.com | default |
+------------+-------------+-------------+----------+-------------------------+--------------+
| | context3 | cluster3 | user3 | https://example3.com | default |
+------------+-----------...
kubecm-v0.28.0
Changelog
What's Changed
- feat: 🎸 rewrite create commands by @sunny0826 in #864
- chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common from 1.0.841 to 1.0.842 by @dependabot in #863
- docs: ✏️ update README by @sunny0826 in #865
- update docs by @sunny0826 in #866
- docs: ✏️ fix install docs by @sunny0826 in #868
Full Changelog: v0.27.1...v0.28.0
kubecm-v0.27.1
What's Changed
- chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common from 1.0.835 to 1.0.836 by @dependabot in #845
- docs: ✏️ add contribute docs by @sunny0826 in #846
- feat: bump to use go1.21 by @chenrui333 in #847
- add chenrui333 as a contributor for infra by @allcontributors in #848
- chore: remove
varcheck
check by @chenrui333 in #849 - ci: 🎡 update release action by @sunny0826 in #851
- add burmanm as a contributor for bug, and code by @allcontributors in #852
- ci: 🎡 fix codeql action by @sunny0826 in #854
- Verify the length of contexts in namespace cmd by @burmanm in #853
- feat: 🎸 get export env KUBECONFIG by @sunny0826 in #855
- fix: 🐛 Unable to switch to a namespace by @sunny0826 in #856
- chore(deps): bump github.com/pterm/pterm from 0.12.62 to 0.12.74 by @dependabot in #857
- chore(deps): bump actions/setup-go from 4 to 5 by @dependabot in #858
- chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke from 1.0.835 to 1.0.841 by @dependabot in #860
- chore(deps): bump github.com/aws/aws-sdk-go from 1.49.16 to 1.49.21 by @dependabot in #861
New Contributors
- @chenrui333 made their first contribution in #847
- @burmanm made their first contribution in #853
Full Changelog: v0.27.0...v0.27.1
kubecm-v0.27.0
acknowledgement
Thanks to @yardenshoham for the contribution!
Changelog
Features
- 420133e: feat: 🎸 add docs command (@sunny0826)
Docs
- 1cb4471: docs: ✏️ add all-contributors to README (@sunny0826)
Others
- b6f13b1: Add @AdamRussak as a contributor (@sunny0826)
- 2f1b4d7: Add @Mario-F as a contributor (@sunny0826)
- 0dffe8a: Add @MaxAnderson95 as a contributor (@sunny0826)
- 4a162ee: Add @astraw99 as a contributor (@sunny0826)
- 0b6fe60: Add @cnfatal as a contributor (@sunny0826)
- d58ea56: Add @cr7258 as a contributor (@sunny0826)
- 7af1cb3: Add @dennislapchenko as a contributor (@sunny0826)
- 739a602: Add @futuretea as a contributor (@sunny0826)
- a3d9f3d: Add @guyzsarun as a contributor (@sunny0826)
- bf19739: Add @hezhizhen as a contributor (@sunny0826)
- feba19a: Add @jsfaint as a contributor (@sunny0826)
- cebc02f: Add @l1b0k as a contributor (@sunny0826)
- 0ae2f1f: Add @nekomeowww as a contributor (@sunny0826)
- ecbc660: Add @seanly as a contributor (@sunny0826)
- c155f9b: Add @sunny0826 as a contributor (@sunny0826)
- 8256be6: Add @suzuki-shunsuke as a contributor (@sunny0826)
- f1ef335: Add @vimsucks as a contributor (@sunny0826)
- 4288ce8: Add @yardenshoham as a contributor (@sunny0826)
- be591b8: Add shorthand letter for
--ui-size
(#835) (@yardenshoham) - 9f08246: Fix
delete
removes user even if another context is using it (#837) (@yardenshoham) - cb3c55b: Merge branch 'master' into feat/docs (@sunny0826)
- 42d206a: Merge pull request #831 from sunny0826/dependabot/go_modules/github.com/aws/aws-sdk-go-1.49.13 (@sunny0826)
- 46824d8: Merge pull request #839 from sunny0826/feat/docs (@sunny0826)
- 08c9697: Merge pull request #842 from sunny0826/dependabot/go_modules/github.com/aws/aws-sdk-go-1.49.16 (@sunny0826)
- 550aa88: Merge pull request #843 from sunny0826/feat/docs-gen (@sunny0826)
- b71a0c0: Update LICENSE (#829) (@sunny0826)
- 6067534: Update SECURITY.md (#827) (@sunny0826)
- 2442aa1: Update SECURITY.md (#828) (@sunny0826)
- e1817a2: add yardenshoham as a contributor for test (#838) (@allcontributors[bot])
- 94d68fa: chore(deps): bump github.com/aws/aws-sdk-go from 1.44.327 to 1.49.9 (#822) (@dependabot[bot])
- fc25485: chore(deps): bump github.com/aws/aws-sdk-go from 1.49.13 to 1.49.16 (@dependabot[bot])
- 80e373b: chore(deps): bump github.com/aws/aws-sdk-go from 1.49.9 to 1.49.13 (@dependabot[bot])
- 933e097: chore(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#823) (@dependabot[bot])
- e70741d: chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke (#832) (@dependabot[bot])
- 65e78a4: chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke (#841) (@dependabot[bot])
- d7d695a: chore(deps): bump k8s.io/client-go from 0.27.1 to 0.29.0 (#834) (@dependabot[bot])
- 147b594: chore: 🤖 add allcontributors (#836) (@sunny0826)
- ae39923: chore: 🤖 add pr template (#844) (@sunny0826)
- 30680c5: chore: 🤖 update doc-gen script (@sunny0826)
- f592bb4: ci: 🎡 update e2e test (#826) (@sunny0826)
- 5fd868f: refactor: 💡 update go version to 1.20 (#825) (@sunny0826)
- 5fa4834: update (@sunny0826)
- 9fd8323: update docs (#824) (@sunny0826)
kubecm-v0.26.0
acknowledgement
Thanks to @dennislapchenko @nekomeowww @MaxAnderson95 for the contribution!
Changelog
Features
- 9400618: feat: Allow silencing context table print upon config write (#796) (@dennislapchenko)
- fe0bac5: Added an additional alias to the switch command (#799) (@MaxAnderson95)
- 54f96af: docs: added documentations and help message for setup completions when used as kubectl plugin (#793) (@nekomeowww)
Others
- 6f4354b: Update README.md (@sunny0826)
- 5db7213: chore(deps): bump actions/checkout from 3 to 4 (#771) (@dependabot[bot])
- fd379a0: chore(deps): bump actions/setup-go from 4 to 5 (#811) (@dependabot[bot])
- ce68e41: chore(deps): bump github.com/alibabacloud-go/tea from 1.1.20 to 1.2.1 (#727) (@dependabot[bot])
- 34a1cf2: chore(deps): bump github.com/aws/aws-sdk-go from 1.44.292 to 1.44.298 (#735) (@dependabot[bot])
- 7310ce7: chore(deps): bump github.com/aws/aws-sdk-go from 1.44.298 to 1.44.327 (#758) (@dependabot[bot])
- 9a9033b: chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common (#736) (@dependabot[bot])
- dff8106: chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common (#820) (@dependabot[bot])
- 8590684: chore(deps): bump github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke (#817) (@dependabot[bot])
- 39aa546: chore(deps): bump github/codeql-action from 2 to 3 (#816) (@dependabot[bot])
- 3b87ace: chore(deps): bump golang.org/x/crypto from 0.10.0 to 0.17.0 (#819) (@dependabot[bot])
- a52f2b4: chore(deps): bump golang.org/x/net from 0.11.0 to 0.17.0 (#783) (@dependabot[bot])
- 8331c68: chore(deps): bump goreleaser/goreleaser-action from 4 to 5 (#772) (@dependabot[bot])
kubecm-v0.25.0
Changelog
Features
- 46c5b55: feat: add cloud azure aks (#729) (@sunny0826)
Others
- bfd26f7: chore(deps): bump github.com/savioxavier/termlink from 1.2.1 to 1.3.0 (#726) (@dependabot[bot])