Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#594 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@aryarathoree ya está trabajando en esto.

Desde el 27/10/2026.

  • #599 de @aryarathoree — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
88/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go
Área
cli

Línea de trabajo

Empieza leyendo login.go alrededor de las líneas 113-124, donde el comando llama a config.DefaultLocalConfigPath() en lugar de usar globalClientOpts.ConfigPath. Compara eso con cmd.go alrededor de la línea 63 y con logout, context, start, stop e import, que ya respetan el flag global. La corrección consiste en hacer que login lea y escriba a través de la ruta de configuración proporcionada; hecho significa que microcks login http://localhost:8080 --config ./test-config.yaml actualiza ese archivo y deja la configuración predeterminada intacta.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Go
Estrellas
59
Forks
74
Merge medio
5 d 17 h
PR fusionados (30 d)
22

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microcks/microcks-cli

Todos los issues de microcks/microcks-cli

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.