refactor(platform): deduplicate common packages in system bundle

Extract common system packages shared between isp-full and isp-full-generic
into a helper template `cozystack.platform.system.common-packages`.

Packages moved to helper:
- kubeovn-webhook, kubeovn-plunger, cozy-proxy
- multus, metallb, reloader
- linstor-scheduler, snapshot-controller

Packages NOT in helper (differ between variants):
- networking (variant differs: kubeovn-cilium vs kubeovn-cilium-generic)
- linstor (talos.enabled differs)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
This commit is contained in:
Aleksei Sviridkin 2026-01-30 21:23:59 +03:00
parent 77ce8227b4
commit 116d9aeb50
No known key found for this signature in database
GPG key ID: 7988329FDF395282
2 changed files with 18 additions and 16 deletions

View file

@ -50,3 +50,19 @@ spec:
{{- $root := index . 1 -}}
{{- include "cozystack.platform.package.optional" (list $name "default" $root) }}
{{ end }}
{{/*
Common system packages shared between isp-full and isp-full-generic bundles.
Does NOT include: networking (variant differs), linstor (talos.enabled differs)
*/}}
{{- define "cozystack.platform.system.common-packages" -}}
{{- $root := . -}}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-webhook" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-plunger" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.cozy-proxy" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.multus" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.metallb" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.reloader" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor-scheduler" $root) }}
{{include "cozystack.platform.package.default" (list "cozystack.snapshot-controller" $root) }}
{{- end }}

View file

@ -23,15 +23,8 @@
{{- $_ := set $networkingComponents "cilium" (dict "values" $ciliumValues) -}}
{{- end -}}
{{include "cozystack.platform.package" (list "cozystack.networking" "kubeovn-cilium" $ $networkingComponents) }}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-webhook" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-plunger" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.cozy-proxy" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.multus" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.metallb" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.reloader" $) }}
{{include "cozystack.platform.system.common-packages" $ }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor-scheduler" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.snapshot-controller" $) }}
{{- end }}
{{- if eq .Values.bundles.system.variant "isp-hosted" }}
@ -98,17 +91,10 @@
{{- end -}}
{{- /* Use kubeovn-cilium-generic variant (no values-talos.yaml) */ -}}
{{include "cozystack.platform.package" (list "cozystack.networking" "kubeovn-cilium-generic" $ $networkingComponents) }}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-webhook" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.kubeovn-plunger" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.cozy-proxy" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.multus" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.metallb" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.reloader" $) }}
{{include "cozystack.platform.system.common-packages" $ }}
{{- /* Pass talos.enabled: false to linstor for generic Linux */ -}}
{{- $linstorComponents := dict "linstor" (dict "values" (dict "talos" (dict "enabled" false))) -}}
{{include "cozystack.platform.package" (list "cozystack.linstor" "default" $ $linstorComponents) }}
{{include "cozystack.platform.package.default" (list "cozystack.linstor-scheduler" $) }}
{{include "cozystack.platform.package.default" (list "cozystack.snapshot-controller" $) }}
{{- end }}
# Cozystack Engine