Remove gdk.auto_reconfigure option to ensure gdk reconfigure always runs within gdk update

Summary

The gdk.auto_reconfigure configuration option should be removed to ensure gdk reconfigure is always executed as part of gdk update. This option is no longer necessary and removing it will simplify the GDK configuration while ensuring consistent behavior across all installations.

Background

The gdk.auto_reconfigure flag has an interesting history:

  1. May 2020 (!1237 (merged)): Initially introduced as gdk.experimental.auto_reconfigure with a default value of false. This was an experimental feature to automatically run gdk reconfigure after a successful gdk update.

  2. March 2021 (!1873 (merged)): Promoted from experimental to stable and changed the default to true. The setting was moved from gdk.experimental.auto_reconfigure to gdk.auto_reconfigure, making it the default behavior.

  3. February 2025 (!4576 (merged)): The deprecated gdk.experimental.auto_reconfigure setting was finally removed, but gdk.auto_reconfigure remained.

Current State

Currently, gdk reconfigure runs by default within gdk update as confirmed in the code: https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/195370ae285d3962bd4b258e50d815e951d561c8/lib/gdk/command/update.rb#L19

Users can disable this by setting gdk.auto_reconfigure = false in their gdk.yml.

Proposal

Remove the gdk.auto_reconfigure configuration option entirely and always run gdk reconfigure as part of gdk update.

Rationale:

  1. Consistency: Running gdk reconfigure after updates ensures all GDK installations have consistent, up-to-date configurations.

  2. Prevents configuration drift: Without automatic reconfiguration, users may end up with outdated or incorrect configurations after updates.

  3. Simplifies maintenance: The option has been enabled by default for 4+ years (since March 2021), indicating it's the expected and desired behavior.

  4. Reduces complexity: Removing this option simplifies the GDK configuration surface area.

  5. Historical precedent: The flag was originally experimental and has been stable with true as the default for years, suggesting the "opt-out" capability is no longer needed.

Implementation

  1. Remove gdk.auto_reconfigure from lib/gdk/config.rb
  2. Update lib/gdk/command/update.rb to always call reconfigure after a successful update
  3. Remove related documentation from doc/configuration.md
  4. Update gdk.example.yml
  5. Add an announcement to inform users of the change
  6. Update tests

Related