bug: microcks login ignores the --config flag and always modifies default config
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 88/100
Direzione di ricerca
Inizia leggendo login.go intorno alle righe 113-124, dove il comando chiama config.DefaultLocalConfigPath() invece di usare globalClientOpts.ConfigPath. Confrontalo con cmd.go intorno alla riga 63 e con logout, context, start, stop e import, che rispettano già il flag globale. La correzione consiste nel fare in modo che login legga e scriva tramite il percorso di configurazione fornito; fatto significa che microcks login http://localhost:8080 --config ./test-config.yaml aggiorna quel file e lascia intatta la configurazione predefinita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
When authenticating using the microcks login command, the global --config <path> flag is silently ignored. Even when a custom configuration file path is explicitly provided, microcks login continues to read and write authentication tokens, users, and contexts directly to the default path (~/.config/microcks/config).
This breaks multi-profile setups, CI/CD pipeline isolation (where jobs maintain ephemeral configuration files in dedicated directories), and prevents tests from running in isolated temporary directories.
Expected behavior
Passing --config <path> to microcks login should load and persist configuration, user tokens, server definitions, and contexts into the specified path, matching the behavior of microcks logout, microcks context, microcks start, microcks stop, and microcks import.
Actual behavior
microcks login ignores the provided --config argument and writes the login state to ~/.config/microcks/config. The specified custom configuration file remains untouched.
How to Reproduce?
-
Specify a path for an isolated custom configuration file (e.g.,
./test-config.yaml). -
Run the login command with the custom configuration file:
microcks login http://localhost:8080 --config ./test-config.yaml -
Check
./test-config.yamland observe that the file was not created or modified. -
Check
~/.config/microcks/configand observe that the default configuration file was updated with the context and server information.
Microcks version or git rev
1.0.3 / master (commit 5cef506)
Install method (docker-compose, helm chart, operator, docker-desktop extension,...)
Built from source (go build)
Additional information
Root cause
In cmd.go:63, the persistent --config flag is registered and bound to clientOpts.ConfigPath, then passed to NewLoginCommand(&clientOpts):
command.PersistentFlags().StringVar(
&clientOpts.ConfigPath,
"config",
defaultLocalConfigPath,
"Path to Microcks config",
)
command.AddCommand(NewLoginCommand(&clientOpts))
However, in login.go:113-124, the command hardcodes a call to config.DefaultLocalConfigPath() instead of reading globalClientOpts.ConfigPath:
configFile, err := config.DefaultLocalConfigPath()
if err != nil {
return err
}
localConfig, err := config.ReadLocalConfig(configFile)
// ...
if err := config.WriteLocalConfig(*localConfig, configFile); err != nil {
return err
}
Every other command (start, stop, context, logout, import, and service) correctly uses globalClientOpts.ConfigPath.
Changing the hardcoded path assignment to configFile := globalClientOpts.ConfigPath should restore consistency across the CLI and ensure that microcks login respects the global --config flag.
- Lingua principale
- Go
- Stelle
- 59
- Fork
- 74
- Merge medio
- 5g 17h
- PR unite (30g)
- 22
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microcks/microcks-cli
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
microcks/microcks-cli#601 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
microcks/microcks-cli#598 ·
I maintainer di solito rispondono entro 1 giorno
-
Wrong link to test resultsForse già presa @SajanBisht l’ha presa 12 giorni fa. Apertacomponent/cli keep-open kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
microcks/microcks-cli#589 · 4 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Default configuration path falls back to the current directory when the home directory cannot be determinedForse già presa @Sarthak-Shreshtha01 l’ha presa 16 giorni fa. Apertacomponent/cli kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microcks/microcks-cli#583 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug: YAML parse error in config is silently swallowed, login overwrites all other contextsForse già presa @Sarthak-Shreshtha01 l’ha presa 21 giorni fa. Apertacomponent/cli kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microcks/microcks-cli#572 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microcks/microcks-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
cloudevents/sdk-go#1346 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
kubernetes/cloud-provider-aws#1517 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
agent-butler-finding chore
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
jordansmall/spindrift#6221 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 3 giorni