Skip to content
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

feat(k8sd)!: introduce support for storing helm charts on microcluster db #1093

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

berkayoz
Copy link
Member

  • Added a table to the microcluster database for storing helm charts.
  • Added queries and helper functions for inserting and selecting helm charts.
  • Added the ChartLoader interface and updated the helm client to enable loading helm charts in different ways.
  • Added the database based ChartLoader to fetch charts from microcluser.
  • Added the file based ChartLoader to fetch charts from the filesystem, used in testing.
  • Added a helm chart controller that synchronizes available charts in the snap to the microcluster database.
  • Moved helm charts from k8s/manifests into respective feature directories and embedded the charts using go embed package.
  • Packed helm charts that are in directory form to tarballs.
  • Updated feature controller to create the helm char with the database loader and updated features to consume a helm client.
  • Fixed the bug of ports still being in use, in the testing util WithState by adding a retry loop for microcluster bootstrapping.
  • Updated InstallableChart type to include the name and version of the chart.

Copy link
Contributor

Microcluster Schema Changes Detected

⚠️ Warning: This pull request contains changes to the microcluster version.

Please ensure that the changes are intentional and have been reviewed by the appropriate team members.

Adding a migration:

You should not change the Microcluster migration files in interim Kubernetes releases to ensure a smooth
upgrade path from one LTS to the next. In case of upgrade failures, we need to be able to rollback to the last Kubernetes LTS which is only possible if the microcluster migrations have not been changed.

Do not under any circumstances remove any migrations and never change the order of migrations in the microcluster schema files.

…r db

- Added a table to the microcluster database for storing helm charts.
- Added queries and helper functions for inserting and selecting helm charts.
- Added the ChartLoader interface and updated the helm client to enable loading helm charts in different ways.
- Added the database based ChartLoader to fetch charts from microcluser.
- Added the file based ChartLoader to fetch charts from the filesystem, used in testing.
- Added a helm chart controller that synchronizes available charts in the snap to the microcluster database.
- Moved helm charts from `k8s/manifests` into respective feature directories and embedded the charts using go embed package.
- Packed helm charts that are in directory form to tarballs.
- Updated feature controller to create the helm char with the database loader and updated features to consume a helm client.
- Fixed the bug of ports still being in use, in the testing util `WithState` by adding a retry loop for microcluster bootstrapping.
- Updated InstallableChart type to include the name and version of the chart.
@berkayoz berkayoz force-pushed the KU-2730/helm-charts-microcluster branch from 61374c4 to 75ff4bc Compare February 20, 2025 19:04
@berkayoz berkayoz marked this pull request as ready for review February 21, 2025 07:39
@berkayoz berkayoz requested a review from a team as a code owner February 21, 2025 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant