feat: add global.appConfig.orbit as canonical Knowledge Graph config with alias

What does this MR do and why?

This makes global.appConfig.orbit the canonical operator-facing configuration for the Orbit integration, and keeps global.appConfig.knowledgeGraph as a deprecated whole-root alias (removal planned for GitLab 19.5). Both roots normalize to one object, so either input renders byte-identical Rails configuration and an equal projected Secret. This follows the Rails change in gitlab!248500 and the existing Omnibus orbit_* naming.

Deprecated input Canonical input
global.appConfig.knowledgeGraph.enabled global.appConfig.orbit.enabled
global.appConfig.knowledgeGraph.grpcEndpoint global.appConfig.orbit.grpcEndpoint
global.appConfig.knowledgeGraph.jwtSecret.secret global.appConfig.orbit.jwtSecret.secret
global.appConfig.knowledgeGraph.jwtSecret.key global.appConfig.orbit.jwtSecret.key

Setting both roots fails instead of merging potentially conflicting endpoints or credentials. The check runs through the chart's checkConfig framework, so it is collected with any other configuration errors and reported under the CONFIGURATION CHECKS: header:

CONFIGURATION CHECKS:

global.appConfig:
    `global.appConfig.orbit` and `global.appConfig.knowledgeGraph` cannot both be set. Move the legacy `knowledgeGraph` configuration to `orbit`.

The rendered Rails stanza stays knowledge_graph:. The 19.2 backport gitlab!248507 that makes orbit: a valid stanza is still Draft, so rendering orbit: is not yet safe for every version operators can select with global.gitlabVersion. The Secret filename and mount path also stay unchanged as part of the Rails contract.

Verification

  • bundle exec rspec spec/configuration/knowledge_graph_spec.rb spec/integration/check_config/orbit_spec.rb: 11 examples, 0 failures.
  • bundle exec rubocop: no offenses.
  • helm lint .: 0 failures.
  • helm template confirmed canonical and legacy output are equal, the both-roots failure reported through checkConfig, and unchanged disabled behavior across the Webservice, Sidekiq, and Toolbox charts.

Related to gitlab!248500

Author checklist

For general guidance, please follow our Contributing guide.

Required

For anything in this list which will not be completed, please provide a reason in the MR discussion.

  • Merge Request Title and Description are up to date, accurate, and descriptive.
  • MR targeting the appropriate branch.
  • MR has a green pipeline.
  • Documentation created/updated.
  • Tests added/updated.
  • Have you validated that your change works end-to-end on a real cluster deployment?
    • Not yet, verified with helm template renders. Real-cluster validation to follow.
  • Equivalent MR/issue for omnibus-gitlab opened.
    • Omnibus already uses the canonical orbit_* names.

Reviewers checklist

Edited by João Alexandre Cunha

Merge request reports

Loading
Loading