-
Notifications
You must be signed in to change notification settings - Fork 136
[cozystack] Major Architecture Refactoring #1641
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
Conversation
…ate pod Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
|
Important Review skippedMore than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review. 160 files out of 299 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits. You can disable this status message by setting the ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
3f9a966 to
98da8a4
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
98da8a4 to
222b582
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
5ae9115 to
002a0f7
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1b90089 to
fb924e7
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
d8a115d to
71484d1
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
71484d1 to
ea9d44b
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
f33a75f to
977e633
Compare
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
|
One major negative downside to removing Flux Operator, is it removes also the opportunity for Flux Enterprise users. (I just got my Flux Enterprise subscription, and am about to test enabling it on Cozystack) This distro enables faster CVE responses, FIPS encryption, and other compliance checkboxes that would potentially be a blocker for example at my employer if they can't be covered. Flux Enterprise only covers these needs, Flux Upstream does just what the open source project supports. I'm not sure if your mind is made up about this already @kvaps |
|
I guess this is free for the user to customize, if you will adopt flux-aio then I will support in my fork flux-operator and that is fine A-OK (it is a reversible decision and it will be easy enough for the user to switch it for themselves, whether they used a hypothetical distro-A or distro-B of Cozystack) |
|
@kingdonb I'd like to preserve the opportunity of using flux enterprise with Cozystack. Right now you have the option to disable flux management by cozystack-operator:
This way, you can install Flux manually via flux-operator and just let Cozystack use it. Another idea is to provide oportunity to the user to specify kustomize patches for flux-aio. It could be preserved in |
|
I think so, yes. Have to come back to this when I can put hands on it. I had some troubles upgrading to 0.38 but they're all resolved now! The changelog is big this time 😅 BYO Flux sounds like a very reasonable interface! I think that flux-aio is probably also compatible with the images from the Flux Enterprise distribution, but that's something I'll need to check out for myself yet as well. |
|
We have decided to not merge this PR as-is, and go apply changes one-by-one. The plan:
|
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> ## What this PR does ### Release note <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [fluxcd] Enable source-watcher ```
This change is extracted from - #1641 and reworked to work standalone requires: - #1705 ## What this PR does Adds a new `flux-aio` module and migration script to upgrade FluxCD to version 22. This introduces a new modular approach to FluxCD installation using the flux-aio OCI module. Changes: - Created new `flux-aio` package with Chart.yaml, Makefile, and CUE configuration - Added flux-aio module configuration using OCI module from `ghcr.io/stefanprodan/modules/flux-aio` - Generated large fluxcd.yaml template (11956+ lines) for FluxCD resources - Added migration script (migrations/21) to handle upgrade from version 21 to 22 - Updated installer to include flux-aio module - Added script `issue-flux-certificates.sh` for managing TLS certificates for cozystack-assets - Updated platform templates to support flux-aio module - Updated cozystack-assets service references ### Release note ```release-note [fluxcd] Add flux-aio module and migration ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added TLS certificate support for Helm package repositories with automatic certificate provisioning. * **Chores** * Refactored FluxCD integration using Helm chart-based deployment. * Updated system to version 22 with automatic migration support. * Enhanced security dependencies (OpenSSL). <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone ## What this PR does This PR extracts changes from the #1641. It adds application metadata labels to HelmReleases and updates the filtering mechanism to use labels instead of chart/sourceRef matching. Changes: - Add three application metadata labels (`apps.cozystack.io/application.kind`, `apps.cozystack.io/application.group`, `apps.cozystack.io/application.name`) when creating/updating HelmRelease via Cozystack-API - Replace `shouldIncludeHelmRelease` filtering with label-based filtering in Get, List, and Update methods - Always add kind and group label requirements in List for precise filtering - Update CozystackResourceDefinitionController to watch only HelmReleases with `cozystack.io/ui=true` label - Update LineageControllerWebhook to extract metadata directly from HelmRelease labels instead of using chart mapping configuration - Add functionality to update HelmRelease chart from CozystackResourceDefinition using label selectors ### Release note ```release-note [registry] Add application labels and update filtering mechanism to use label-based filtering instead of chart/sourceRef matching ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added application metadata labels (kind, group, name) and exported label keys for HelmRelease identification. * New reconciler keeps HelmRelease charts in sync with application CRDs. * **Refactor** * Mapping, listing and selection moved to label-driven logic; reconciliation responsibilities split so core reconciler focuses on restart/debounce while a separate reconciler updates HelmReleases. * **Chores** * Migration script to backfill application labels on existing HelmReleases. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> ## What this PR does ### Release note <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [cozystack] Update go modules ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated Go toolchain to 1.25.0 and upgraded core Kubernetes libraries, OpenTelemetry, Prometheus, gRPC/protobuf and many indirect dependencies. Bumped builder base images to golang:1.25-alpine across multiple components. * **Refactor** * Removed legacy component versioning/emulation and simplified server startup and configuration paths. * **Tests** * Removed tests related to the legacy versioning/emulation behavior. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone ## What this PR does This PR extracts changes from the #1641. It adds application metadata labels to HelmReleases and updates the filtering mechanism to use labels instead of chart/sourceRef matching. Changes: - Add three application metadata labels (`apps.cozystack.io/application.kind`, `apps.cozystack.io/application.group`, `apps.cozystack.io/application.name`) when creating/updating HelmRelease via Cozystack-API - Replace `shouldIncludeHelmRelease` filtering with label-based filtering in Get, List, and Update methods - Always add kind and group label requirements in List for precise filtering - Update CozystackResourceDefinitionController to watch only HelmReleases with `cozystack.io/ui=true` label - Update LineageControllerWebhook to extract metadata directly from HelmRelease labels instead of using chart mapping configuration - Add functionality to update HelmRelease chart from CozystackResourceDefinition using label selectors ### Release note ```release-note [registry] Add application labels and update filtering mechanism to use label-based filtering instead of chart/sourceRef matching ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added application metadata labels (kind, group, name) and exported label keys for HelmRelease identification. * New reconciler keeps HelmRelease charts in sync with application CRDs. * **Refactor** * Mapping, listing and selection moved to label-driven logic; reconciliation responsibilities split so core reconciler focuses on restart/debounce while a separate reconciler updates HelmReleases. * **Chores** * Migration script to backfill application labels on existing HelmReleases. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [cozystack] Update go modules ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> * **Chores** * Updated Go toolchain to 1.25.0 and upgraded core Kubernetes libraries, OpenTelemetry, Prometheus, gRPC/protobuf and many indirect dependencies. Bumped builder base images to golang:1.25-alpine across multiple components. * **Refactor** * Removed legacy component versioning/emulation and simplified server startup and configuration paths. * **Tests** * Removed tests related to the legacy versioning/emulation behavior. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone ## What this PR does This PR extracts changes from the #1641. It adds application metadata labels to HelmReleases and updates the filtering mechanism to use labels instead of chart/sourceRef matching. Changes: - Add three application metadata labels (`apps.cozystack.io/application.kind`, `apps.cozystack.io/application.group`, `apps.cozystack.io/application.name`) when creating/updating HelmRelease via Cozystack-API - Replace `shouldIncludeHelmRelease` filtering with label-based filtering in Get, List, and Update methods - Always add kind and group label requirements in List for precise filtering - Update CozystackResourceDefinitionController to watch only HelmReleases with `cozystack.io/ui=true` label - Update LineageControllerWebhook to extract metadata directly from HelmRelease labels instead of using chart mapping configuration - Add functionality to update HelmRelease chart from CozystackResourceDefinition using label selectors ### Release note ```release-note [registry] Add application labels and update filtering mechanism to use label-based filtering instead of chart/sourceRef matching ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added application metadata labels (kind, group, name) and exported label keys for HelmRelease identification. * New reconciler keeps HelmRelease charts in sync with application CRDs. * **Refactor** * Mapping, listing and selection moved to label-driven logic; reconciliation responsibilities split so core reconciler focuses on restart/debounce while a separate reconciler updates HelmReleases. * **Chores** * Migration script to backfill application labels on existing HelmReleases. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [cozystack] Update go modules ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> * **Chores** * Updated Go toolchain to 1.25.0 and upgraded core Kubernetes libraries, OpenTelemetry, Prometheus, gRPC/protobuf and many indirect dependencies. Bumped builder base images to golang:1.25-alpine across multiple components. * **Refactor** * Removed legacy component versioning/emulation and simplified server startup and configuration paths. * **Tests** * Removed tests related to the legacy versioning/emulation behavior. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone requires: - #1705 Adds a new `flux-aio` module and migration script to upgrade FluxCD to version 22. This introduces a new modular approach to FluxCD installation using the flux-aio OCI module. Changes: - Created new `flux-aio` package with Chart.yaml, Makefile, and CUE configuration - Added flux-aio module configuration using OCI module from `ghcr.io/stefanprodan/modules/flux-aio` - Generated large fluxcd.yaml template (11956+ lines) for FluxCD resources - Added migration script (migrations/21) to handle upgrade from version 21 to 22 - Updated installer to include flux-aio module - Added script `issue-flux-certificates.sh` for managing TLS certificates for cozystack-assets - Updated platform templates to support flux-aio module - Updated cozystack-assets service references ```release-note [fluxcd] Add flux-aio module and migration ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> * **New Features** * Added TLS certificate support for Helm package repositories with automatic certificate provisioning. * **Chores** * Refactored FluxCD integration using Helm chart-based deployment. * Updated system to version 22 with automatic migration support. * Enhanced security dependencies (OpenSSL). <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> ## What this PR does ### Release note <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [fluxcd] Enable source-watcher ```
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> ## What this PR does ### Release note <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [fluxcd] Enable source-watcher ```
This change is extracted from - #1641 and reworked to work standalone requires: - #1705 ## What this PR does Adds a new `flux-aio` module and migration script to upgrade FluxCD to version 22. This introduces a new modular approach to FluxCD installation using the flux-aio OCI module. Changes: - Created new `flux-aio` package with Chart.yaml, Makefile, and CUE configuration - Added flux-aio module configuration using OCI module from `ghcr.io/stefanprodan/modules/flux-aio` - Generated large fluxcd.yaml template (11956+ lines) for FluxCD resources - Added migration script (migrations/21) to handle upgrade from version 21 to 22 - Updated installer to include flux-aio module - Added script `issue-flux-certificates.sh` for managing TLS certificates for cozystack-assets - Updated platform templates to support flux-aio module - Updated cozystack-assets service references ### Release note ```release-note [fluxcd] Add flux-aio module and migration ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added TLS certificate support for Helm package repositories with automatic certificate provisioning. * **Chores** * Refactored FluxCD integration using Helm chart-based deployment. * Updated system to version 22 with automatic migration support. * Enhanced security dependencies (OpenSSL). <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone ## What this PR does This PR extracts changes from the #1641. It adds application metadata labels to HelmReleases and updates the filtering mechanism to use labels instead of chart/sourceRef matching. Changes: - Add three application metadata labels (`apps.cozystack.io/application.kind`, `apps.cozystack.io/application.group`, `apps.cozystack.io/application.name`) when creating/updating HelmRelease via Cozystack-API - Replace `shouldIncludeHelmRelease` filtering with label-based filtering in Get, List, and Update methods - Always add kind and group label requirements in List for precise filtering - Update CozystackResourceDefinitionController to watch only HelmReleases with `cozystack.io/ui=true` label - Update LineageControllerWebhook to extract metadata directly from HelmRelease labels instead of using chart mapping configuration - Add functionality to update HelmRelease chart from CozystackResourceDefinition using label selectors ### Release note ```release-note [registry] Add application labels and update filtering mechanism to use label-based filtering instead of chart/sourceRef matching ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added application metadata labels (kind, group, name) and exported label keys for HelmRelease identification. * New reconciler keeps HelmRelease charts in sync with application CRDs. * **Refactor** * Mapping, listing and selection moved to label-driven logic; reconciliation responsibilities split so core reconciler focuses on restart/debounce while a separate reconciler updates HelmReleases. * **Chores** * Migration script to backfill application labels on existing HelmReleases. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This change is extracted from - #1641 and reworked to work standalone Signed-off-by: Andrei Kvapil <kvapss@gmail.com> <!-- Thank you for making a contribution! Here are some tips for you: - Start the PR title with the [label] of Cozystack component: - For system components: [platform], [system], [linstor], [cilium], [kube-ovn], [dashboard], [cluster-api], etc. - For managed apps: [apps], [tenant], [kubernetes], [postgres], [virtual-machine] etc. - For development and maintenance: [tests], [ci], [docs], [maintenance]. - If it's a work in progress, consider creating this PR as a draft. - Don't hesistate to ask for opinion and review in the community chats, even if it's still a draft. - Add the label `backport` if it's a bugfix that needs to be backported to a previous version. --> <!-- Write a release note: - Explain what has changed internally and for users. - Start with the same [label] as in the PR title - Follow the guidelines at https://github.com/kubernetes/community/blob/master/contributors/guide/release-notes.md. --> ```release-note [cozystack] Update go modules ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> * **Chores** * Updated Go toolchain to 1.25.0 and upgraded core Kubernetes libraries, OpenTelemetry, Prometheus, gRPC/protobuf and many indirect dependencies. Bumped builder base images to golang:1.25-alpine across multiple components. * **Refactor** * Removed legacy component versioning/emulation and simplified server startup and configuration paths. * **Tests** * Removed tests related to the legacy versioning/emulation behavior. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
closed in favor #1816 |
Overview
This PR introduces a significant architectural refactoring of Cozystack, moving from a static bundle-based configuration system to a dynamic, Kubernetes-native resource-driven architecture using custom resources and operators.
Major Changes
1. Introduction of New Custom Resources
Bundle API (
cozystack.io/v1alpha1.Bundle)dependsOnmechanismPlatform API (
cozystack.io/v1alpha1.Platform)2. New Cozystack Operator Component
cozystack-operator(separate fromcozystack-controller)Bundleresources and creates corresponding HelmReleasesPlatformresources3. ApplicationDefinition Refactoring
CozystackResourceDefinitioncontroller withApplicationDefinitioncontroller4. Artifact Generation System
5. FluxCD Integration Improvements
flux-aio(All-In-One) package added to core6. Bundle Architecture Migration
distro-full.yaml,paas-full.yaml)iaas/bundle.yaml- Infrastructure-as-a-Service bundlenaas/bundle.yaml- Network-as-a-Service bundlepaas/bundle.yaml- Platform-as-a-Service bundlesystem/bundle-*.yaml- System bundles (minimal, hosted, full)7. Platform Package Restructuring
8. Migration System
packages/core/platform/images/migrations/9. Telemetry Relocation
cozystack-controllertocozystack-operator10. Build System Improvements
scripts/tohack/directoryhack/for better organization11. API and Controller Changes
system_helm_reconciler.go,tenant_helm_reconciler.gonamespace_helm_reconciler.go,applicationdefinition_controller.go12. Application Package Updates
Technical Details
New Dependencies
Removed Components
New Components
Impact
This refactoring provides:
Release note