hack/e2e-platform-packages.sh
Rama main · réplica de lectura del repositorio original.
#!/bin/sh
set -eu
api_server_endpoint=${COZY_APISERVER_ENDPOINT:-https://192.168.123.10:6443}
linstor_drbd_enabled=${COZY_LINSTOR_DRBD_ENABLED:-true}
# Container-mode Talos shares the runner kernel and cannot load DRBD. Keep the
# normal package graph for QEMU, and let that lane replace two Packages instead:
# LINSTOR, otherwise identical with its logger sidecar disabled, and kubevirt-cdi,
# which is NOT identical -- it raises the importer memory limit from CDI's 600M
# to 4Gi and the request from 60M to 256Mi, for the reason stated above that
# override below.
#
# The consequence is worth stating where it is made, and it applies to both:
# the merge-gating lane exercises neither the shipped CDI default nor
# `drbd.enabled: true`. Every e2e lane runs on containers, so whether a
# tenant worker disk imports at 600M, and whether the DRBD path works at all,
# is answered by no CI lane.
case "$linstor_drbd_enabled" in
true|false) ;;
*)
echo "COZY_LINSTOR_DRBD_ENABLED must be true or false, got: $linstor_drbd_enabled" >&2
exit 2
;;
esac
# Packages left out of this install. The container lane always drops the two it
# replaces below; COZY_DISABLED_PACKAGES adds the complement computed by
# hack/select-install.sh for the selected suites. Both land under one
# disabledPackages key, so the list is merged here rather than emitted twice.
disabled=""
if [ "$linstor_drbd_enabled" = false ]; then
disabled="cozystack.linstor cozystack.kubevirt-cdi"
fi
for pkg in ${COZY_DISABLED_PACKAGES:-}; do
case "$pkg" in
cozystack.*[!a-z0-9.-]* | cozystack.)
echo "COZY_DISABLED_PACKAGES: invalid package name: $pkg" >&2
exit 2
;;
cozystack.?*) ;;
*)
echo "COZY_DISABLED_PACKAGES: invalid package name: $pkg" >&2
exit 2
;;
esac
case " $disabled " in
*" $pkg "*) ;;
*) disabled="${disabled:+$disabled }$pkg" ;;
esac
done
cat <<EOF
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.cozystack-platform
spec:
variant: isp-full
components:
platform:
values:
networking:
podCIDR: "10.244.0.0/16"
podGateway: "10.244.0.1"
serviceCIDR: "10.96.0.0/16"
joinCIDR: "100.64.0.0/16"
publishing:
host: "example.org"
apiServerEndpoint: "$api_server_endpoint"
# Must match Tenant/root spec.monitoring, which the install sets to
# false. Left true, cozystack-basics renders Services into
# cozy-monitoring, which a narrow suite selection never creates.
monitoring:
rootEnabled: false
bundles:
enabledPackages:
- cozystack.external-dns-application
EOF
if [ -n "$disabled" ]; then
echo " disabledPackages:"
for pkg in $disabled; do
echo " - $pkg"
done
fi
if [ "$linstor_drbd_enabled" = false ]; then
cat <<'EOF'
---
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.linstor
spec:
variant: default
components:
linstor:
values:
drbd:
enabled: false
---
# CDI's own 600M ceiling was seen to OOM the decompress+convert of a tenant
# worker disk near 100% on this lane, after which CDI retries from scratch and
# the DataVolume cycles forever instead of failing. It is an override here and
# not a chart default because the same import completes at 600M on a QEMU-node
# cluster, so what has been shown to need the headroom is this substrate, not
# the product. Move it into packages/system/kubevirt-cdi/values.yaml the day it
# reproduces somewhere that is not a container lane.
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.kubevirt-cdi
spec:
variant: default
components:
kubevirt-cdi:
values:
importerResources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 750m
memory: 4Gi
EOF
fi