Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

bug: microcks login ignores the --config flag and always modifies default config

Ouverte Adaptée aux débutants
#594 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@aryarathoree y travaille déjà.

Depuis le 27/10/2026.

  • #599 par @aryarathoree — ouverte

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
88/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
go
Domaine
cli

Piste de recherche

Commence par lire login.go autour des lignes 113-124, où la commande appelle config.DefaultLocalConfigPath() au lieu d'utiliser globalClientOpts.ConfigPath. Compare cela avec cmd.go autour de la ligne 63 et avec logout, context, start, stop et import, qui respectent déjà le flag global. Le correctif consiste à faire en sorte que login lise et écrive via le chemin de configuration fourni ; terminé signifie que microcks login http://localhost:8080 --config ./test-config.yaml met à jour ce fichier et laisse la configuration par défaut intacte.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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?
  1. Specify a path for an isolated custom configuration file (e.g., ./test-config.yaml).

  2. Run the login command with the custom configuration file:

    microcks login http://localhost:8080 --config ./test-config.yaml
    
  3. Check ./test-config.yaml and observe that the file was not created or modified.

  4. Check ~/.config/microcks/config and 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.

Langage dominant
Go
Étoiles
59
Forks
74
Merge moyen
5 j 17 h
PR mergées (30 j)
22

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microcks/microcks-cli

Toutes les issues de microcks/microcks-cli

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.