Draft: Refactor sylva-units helm charts OCI workflow
What does this MR do and why?
Makes use of
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
metadata:
name: podinfo
spec:
url: oci://ghcr.io/stefanprodan/charts/podinfo
ref:
tag: "6.5.0"
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: podinfo-internal
spec:
chartRef:
kind: OCIRepository
name: podinfo-chart
namespace: podinfo
instead of
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: podinfo
spec:
type: oci
url: oci://ghcr.io/stefanprodan/charts/podinfo
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: podinfo
spec:
interval: 10m
timeout: 5m
chart:
spec:
chart: podinfo
version: "6.5.0"
sourceRef:
kind: HelmRepository
name: podinfo
from proposal https://github.com/fluxcd/helm-controller/issues/789. Considerations of this feature are defined in https://github.com/fluxcd/helm-controller/blob/main/docs/spec/v2beta2/helmreleases.md#chart-reference.
A drawback with this approach is we can no longer use HelmRelease.spec.chart.spec.valuesFiles
, while a feature request suggestion to move to HelmRelease.spec.valuesFiles
was already done by @tmmorin in https://github.com/fluxcd/helm-controller/issues/814#issuecomment-1878895581.
Related reference(s)
Concerns a sylva-units evolution proposed by #1738
Verify the Integrity and Authenticity of OCI Artifacts #451 (closed)
Test coverage
CI configuration
Below you can choose test deployment variants to run in this MR's CI.
Click to open to CI configuration
Legend:
Icon | Meaning | Available values |
---|---|---|
Infra Provider |
capd , capo , capm3
|
|
Bootstrap Provider |
kubeadm (alias kadm ), rke2
|
|
Node OS |
ubuntu , suse
|
|
Deployment Options |
light-deploy , oci , ha , misc
|
|
Pipeline Scenarios |
no-wkld simple-update simple-update-no-wkld rolling-update rolling-update-no-wkld wkld-k8s-upgrade nightly sylva-upgrade sylva-upgrade-no-wkld sylva-upgrade-from-x.x.x preview
|
-
🎬 preview☁️ capd🚀 kadm🐧 ubuntu -
🎬 preview☁️ capo🚀 rke2🐧 suse -
🎬 preview☁️ capm3🚀 rke2🐧 ubuntu -
☁️ capd🚀 kadm🛠️ dev-sources,light-deploy🐧 ubuntu -
☁️ capd🚀 rke2🛠️ light-deploy🐧 suse -
☁️ capo🚀 rke2🐧 suse -
☁️ capo🚀 kadm🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 wkld-k8s-upgrade🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update-no-wkld🛠️ ha,misc🐧 suse -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.3.x🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🐧 suse -
☁️ capm3🚀 kadm🐧 ubuntu -
☁️ capm3🚀 kadm🎬 rolling-update-no-wkld🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🎬 wkld-k8s-upgrade🛠️ ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capm3🚀 rke2🎬 sylva-upgrade-from-1.3.x🛠️ misc,ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 suse
Global config for deployment pipelines
-
autorun pipelines -
allow failure on pipelines
Notes:
- Enabling
autorun
will make deployment pipelines to be run automatically without human interaction - Disabling
allow failure
will make deployment pipelines mandatory for pipeline success. - if both
autorun
andallow failure
are disabled, deployment pipelines will need manual triggering but will be blocking the pipeline
Be aware: after configuration change, pipeline is not triggered automatically.
Please run it manually (by clicking the run pipeline
button in Pipelines tab) or push new code.