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:
-
May 2020 (!1237 (merged)): Initially introduced as
gdk.experimental.auto_reconfigurewith a default value offalse. This was an experimental feature to automatically rungdk reconfigureafter a successfulgdk update. -
March 2021 (!1873 (merged)): Promoted from experimental to stable and changed the default to
true. The setting was moved fromgdk.experimental.auto_reconfiguretogdk.auto_reconfigure, making it the default behavior. -
February 2025 (!4576 (merged)): The deprecated
gdk.experimental.auto_reconfiguresetting was finally removed, butgdk.auto_reconfigureremained.
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:
-
Consistency: Running
gdk reconfigureafter updates ensures all GDK installations have consistent, up-to-date configurations. -
Prevents configuration drift: Without automatic reconfiguration, users may end up with outdated or incorrect configurations after updates.
-
Simplifies maintenance: The option has been enabled by default for 4+ years (since March 2021), indicating it's the expected and desired behavior.
-
Reduces complexity: Removing this option simplifies the GDK configuration surface area.
-
Historical precedent: The flag was originally experimental and has been stable with
trueas the default for years, suggesting the "opt-out" capability is no longer needed.
Implementation
- Remove
gdk.auto_reconfigurefromlib/gdk/config.rb - Update
lib/gdk/command/update.rbto always callreconfigureafter a successful update - Remove related documentation from
doc/configuration.md - Update
gdk.example.yml - Add an announcement to inform users of the change
- Update tests
Related
- Original experimental feature: !1237 (merged)
- Promotion to stable: !1873 (merged)
- Follow-up issue: #1186 (closed) (closed by !4576 (merged))
- Removal of experimental setting: !4576 (merged)