This document describes the sources section in the release config.yaml, which lists Git repositories used to build the GitOps Operator and related components.
Each sources entry in config.yaml includes the following fields:
| Field | Description |
|---|---|
path |
Local path where the repository will be cloned as a submodule. Must be under sources directory. |
url |
Git repository URL (HTTPS). |
commit |
Specific commit hash to checkout. |
ref |
Git branch or tag used only by CI for generating release labels. Not used for checkout. |
Warning
The commit field is always used for checkout. ref is purely metadata for CI.
- Edit the entry in
config.yamlwith the newcommitandref:
sources:
...
- path: ...
url: ...
ref: <new tag or branch>
commit: <new commit hash>- Sync & validate submodules:
make sourcesUse the updater script when you want to refresh the sources section directly from GitHub:
make update-sourcesThe script applies these rules:
- The current
refvalue is classified using the exact upstream ref name. - If that exact ref is a branch, it updates
committo the current branch tip. - It skips the mainline branches
mainandmaster. - If that exact ref is a tag and it looks like a release version, it searches for the latest available z-stream tag in the same major/minor stream and updates both
refandcommit. - If a tag is not semver-like or there is no newer z-stream tag, it keeps the current
refand only ensures the tag commit is correct.
- Add a new entry to
config.yaml:
sources:
...
- path: sources/<repo>
url: <repo-url>
ref: <tag or branch>
commit: <commit hash>Important
The submodule path must always be under the sources/ directory.
- Initialize, sync & validate submodules
make sources