-
Notifications
You must be signed in to change notification settings - Fork 180
feat: byo catalog #2901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: byo catalog #2901
Conversation
|
Comparison of Helm chart templating output: @@ data @@
! - one map entry removed:
- HELM_CHART_CATALOG: "https://gitea.dev.linode-apl.net/otomi/charts.git"
@@ data.VERSIONS @@
! ± value change in multiline text (one insert, one deletion)
- {"api":"main","aplCharts":"main","console":"main","consoleLogin":"main","core":"main","specVersion":48,"tasks":"main","tools":"main"}
+ {"api":"APL-1458","aplCharts":"main","console":"main","consoleLogin":"main","core":"main","specVersion":50,"tasks":"main","tools":"main"}
@@ spec.template.spec.containers.otomi-api.image @@
! ± value change
- docker.io/linode/apl-api:main
+ docker.io/linode/apl-api:APL-1458
@@ (root level) @@
! + one map entry added:
+ catalogs:
+ default:
+ name: default
+ url: "https://github.com/linode/apl-charts.git"
+ branch: main
+ enabled: true
@@ versions.specVersion @@
! ± value change
- 48
+ 50 |
| @@ -1,4 +1,4 @@ | |||
| api: main | |||
| api: APL-1458 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reminder: Please revert this before merging.
|
Comparison of Helm chart templating output: @@ data @@
! - one map entry removed:
- HELM_CHART_CATALOG: "https://gitea.dev.linode-apl.net/otomi/charts.git"
@@ data.VERSIONS @@
! ± value change in multiline text (one insert, one deletion)
- {"api":"main","aplCharts":"main","console":"main","consoleLogin":"main","core":"main","specVersion":48,"tasks":"main","tools":"main"}
+ {"api":"APL-1458","aplCharts":"main","console":"main","consoleLogin":"main","core":"main","specVersion":50,"tasks":"main","tools":"main"}
@@ spec.template.spec.containers.otomi-api.image @@
! ± value change
- docker.io/linode/apl-api:main
+ docker.io/linode/apl-api:APL-1458
@@ (root level) @@
! + one map entry added:
+ catalogs:
+ default:
+ name: default
+ url: "https://github.com/linode/apl-charts.git"
+ branch: main
+ enabled: true
@@ versions.specVersion @@
! ± value change
- 48
+ 50 |
|
Comparison of Helm chart templating output: @@ data @@
! - one map entry removed:
- HELM_CHART_CATALOG: "https://gitea.dev.linode-apl.net/otomi/charts.git"
@@ data.VERSIONS @@
! ± value change in multiline text (one insert, one deletion)
- {"api":"main","aplCharts":"main","console":"main","consoleLogin":"main","core":"main","specVersion":48,"tasks":"main","tools":"main"}
+ {"api":"APL-1458","console":"main","consoleLogin":"main","core":"main","specVersion":50,"tasks":"main","tools":"main"}
@@ spec.template.spec.containers.otomi-api.image @@
! ± value change
- docker.io/linode/apl-api:main
+ docker.io/linode/apl-api:APL-1458
@@ (root level) @@
! + one map entry added:
+ catalogs:
+ default:
+ name: default
+ url: "https://github.com/linode/apl-charts.git"
+ branch: main
+ enabled: true
@@ versions.specVersion @@
! ± value change
- 48
+ 50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces support for Bring Your Own (BYO) catalog functionality, allowing users to configure custom Helm chart repositories instead of relying solely on the default APL charts repository. The implementation includes a migration strategy that automatically sets up a default catalog configuration, with optional private repository support via sealed secrets.
Changes:
- Adds
AplCatalogresource type with schema validation for catalog configuration - Removes
OTOMI_CHARTS_URLenvironment variable and thecloneOtomiChartsInGiteafunction - Implements migration function to create default catalog configuration with Gitea integration when available
- Updates API version from 48 to 50 with catalog-related schema changes
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| versions.yaml | Updates API version to branch APL-1458 and removes aplCharts version reference |
| values/otomi-api/otomi-api.gotmpl | Removes hardcoded HELM_CHART_CATALOG environment variable |
| values-schema.yaml | Adds catalog schema definition with git URL, branch, and credentials support |
| values-changes.yaml | Registers setDefaultAplCatalog migration function for version 50 |
| tests/fixtures/env/settings/versions.yaml | Updates specVersion to 50 |
| tests/fixtures/env/catalogs/default.yaml | Adds default catalog fixture configuration |
| src/operator/EXECUTION_FLOW.md | Removes cloneOtomiChartsInGitea step from installation flow |
| src/common/repo.ts | Adds AplCatalog kind and platformCatalogs resource group handling |
| src/common/repo.test.ts | Adds comprehensive test coverage for AplCatalog resource operations |
| src/common/k8s.ts | Adds getSealedSecretsPEM function to retrieve sealed secrets public key |
| src/common/k8s.test.ts | Adds test coverage for getSealedSecretsPEM function |
| src/common/envalid.ts | Removes OTOMI_CHARTS_URL environment variable |
| src/cmd/migrate.ts | Implements setDefaultAplCatalog migration with sealed secret creation |
| src/cmd/migrate.test.ts | Adds test coverage for catalog migration scenarios |
| src/cmd/install.ts | Removes cloneOtomiChartsInGitea call from installation flow |
| src/cmd/install.test.ts | Removes cloneOtomiChartsInGitea mock |
| src/cmd/commit.ts | Removes cloneOtomiChartsInGitea function and unused imports |
| package.json | Adds @linode/kubeseal-encrypt dependency |
| helmfile.d/snippets/defaults.yaml | Updates specVersion to 50 |
| helmfile.d/snippets/defaults.gotmpl | Adds default catalog configuration to defaults |
| .env.sample | Removes OTOMI_CHARTS_URL environment variable |
📌 Summary
This PR introduces support for Bring Your Own (BYO) catalog functionality, allowing users to configure custom Helm chart repositories instead of relying solely on the default APL charts repository.
🔍 Reviewer Notes
🧹 Checklist