Fix CLI credentials config file loading issue (closes #261) #685
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Summary:
This pull request fixes issue #261 by resolving the Kubero CLI's failure to create the credentials configuration file during the
kubero logincommand, which caused subsequent commands likekubero dashboardandkubero listto fail with the error:Error while loading credentialsConfig file: Config File "credentials" Not Found in "[/etc/kubero /home/<user>/.kubero]". The changes ensure the credentials file is properly created in either/etc/kuberoor~/.kubero, validate the API URL to prevent errors likeunsupported protocol scheme "", and improve error handling for better user feedback.Motivation and Context:
The issue reported in #261 indicates that users successfully log in but cannot execute other CLI commands due to a missing credentials file. This disrupts the CLI's usability, particularly for users managing Kubero instances on separate machines from their Kubernetes cluster. The fix enhances the CLI's reliability by ensuring proper configuration file creation and validation, aligning with Kubero's goal of providing a seamless PaaS experience. The changes also address a dependency issue in the test suite to ensure CI/CD compliance.
Dependencies:
github.com/spf13/cobrafor CLI command handling (already part of Kubero’s dependencies).gopkg.in/yaml.v3for YAML parsing (already part of Kubero’s dependencies).sigs.k8s.io/[email protected](to resolve test failure; see below).missing go.sum entry for github.com/evanphx/json-patch/v5), run:go.sumto include the required dependency, ensuringgo test ./...passes.Fixes #261
Type of change
How Has This Been Tested?
The changes were tested by:
cmd/kubero/login.go,cmd/kubero/main.go, andREADME.md.go build -o kubero ./cmd/kubero.kubero loginwith:julephttp://kubero.julep.ai<redacted>~/.kubero/credentialswas created with correct YAML content:kubero dashboardandkubero listto confirm they execute without errors.http://): Confirmed error message:invalid API URL./etc/kubero: Confirmed fallback to~/.kubero.credentials file not found; please run 'kubero login'.go get sigs.k8s.io/controller-runtime/pkg/[email protected]to fixgo.sumerror.go test ./...in the repository root to confirm tests pass (cached tests forpkg/coreandpkg/dnspassed; no tests incmd/kuberooroperator/api/v1).Test Configuration:
<latest-commit>; update with actual hash when creating PR).Checklist:
go.sumissue)