fix(config): handle directory paths for --config and HARBOR_CLI_CONFIG#994
Open
Jay2006sawant wants to merge 1 commit into
Open
fix(config): handle directory paths for --config and HARBOR_CLI_CONFIG#994Jay2006sawant wants to merge 1 commit into
Jay2006sawant wants to merge 1 commit into
Conversation
Fixes goharbor#993 Signed-off-by: Jay2006sawant <jay242902@gmail.com>
Author
|
@Vad1mo PTAL! |
qcserestipy
requested changes
Jun 18, 2026
qcserestipy
left a comment
Collaborator
There was a problem hiding this comment.
Thank you for catching this! This can be simplified by just checking for file or dir in DetermineConfigPath. Added tests and normalization function can therefore be removed/adapted.
| return "", fmt.Errorf("failed to resolve absolute path for config file: %w", err) | ||
| } | ||
| return harborConfigPath, nil | ||
| return normalizeConfigPath(cfgFile) |
Collaborator
There was a problem hiding this comment.
the cli should return an error instead of automagically appending a config.yaml suffix. it should be enough to check here whether the path is a file or dir. if dir fail
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Briefly describe what this pull request does and why the change is needed.
When
--configorHARBOR_CLI_CONFIGpointed to a directory (as documented in the README), Harbor CLI persisted that directory path intodata.yamlbefore validating it was a file. This caused a fatal error on every subsequent run untildata.yamlwas manually repaired.This PR resolves directory paths to
<dir>/config.yamland ensures the config file is validated before updatingdata.yaml.Type of Change
Please select the relevant type.
Changes
normalizeConfigPathto resolve directory paths toconfig.yamlfor--configandHARBOR_CLI_CONFIGInitConfigto callEnsureConfigFileExistsbeforeApplyDataFile, preventing invalid paths from being persistedTest_Config_EnvVar_Directory,Test_Config_Flag_Directory)Test plan
go test ./pkg/utils/... -run Test_Configharbor -c ~/.config/harbor-cli version— exits 0,data.yamlstores file pathHARBOR_CLI_CONFIG=$HOME/.config/harbor-cli harbor version— exits 0harbor versionruns work without manualdata.yamlrepair