SIGHUP Distribution Release v1.34.2
Welcome to SD release v1.34.2.
The distribution is maintained with ❤️ by the team SIGHUP by ReeVo.
This patch release backports the v1.35.0 and v1.35.1 module updates and features to the v1.34 line, while keeping Kubernetes 1.34 as the supported minor version. It targets Kubernetes v1.34.8 on-premises (bumped from 1.34.4 in v1.34.1) and continues to support EKS 1.34.
Installer Updates
- on-premises 📦 installer: v1.35.5
- Installs Kubernetes version 1.34.8 and adds support for Kubernetes v1.33.12.
- Updates etcd, containerd and runc.
- eks 📦 installer: v3.5.0
- Verified compatibility with Kubernetes 1.34.
Module updates 📦
- aws 📦 provider module: v5.3.0
- Bumps cluster-autoscaler to
v1.35.0, aws-load-balancer-controller tov3.4.0and aws-node-termination-handler tov1.25.6.
- Bumps cluster-autoscaler to
- auth 📦 core module: v0.7.0
- Bumps Dex to
v2.45.1, Gangplank tov1.2.1and Pomerium tov0.32.7.
- Bumps Dex to
- dr 📦 core module: v3.4.0
- Bumps Velero to
v1.18.1and Velero plugins tov1.14.1(AWS, Microsoft Azure and GCP). - Updates MinIO image to the Chainguard fork.
- Bumps Velero to
- ingress 📦 core module: v5.1.0
- Bumps cert-manager to
v1.20.2, ExternalDNS tov0.21.0and HAProxy tov3.2.8. - Updates NGINX images to the Chainguard fork
v1.15.5.
- Bumps cert-manager to
- logging 📦 core module: v5.4.0
- Bumps OpenSearch to
v3.7.0, OpenSearch Dashboard tov3.7.0, Logging operator tov6.5.1and Loki tov3.7.2. - Updates MinIO image to the Chainguard fork.
- Enables OpenSearch Dashboards
Explore. - Adds
access-log-exportersidecar to the gateway for NGINX metrics. - Requires
module-ingress>=v5.0.0due to updated ingress-nginx log regex expecting the$hostfield.
- Bumps OpenSearch to
- monitoring 📦 core module: v4.2.0
- Bumps AlertManager to
v0.31.1, Blackbox exporter tov0.28.0, Grafana tov12.4.1, Kubernetes RBAC proxy tov0.21.0, Kubernetes state metrics tov2.18.0, Node exporter tov1.10.2, Prometheus operator tov0.89.0, Prometheus operated tov3.10.0, x509 exporter tov4.1.0and Mimir tov3.0.4. - Updates MinIO image to the Chainguard fork.
- Enables Grafana
Drilldowndashboard. - Fixes some broken dashboard metrics, x509-exporter certificate watch paths and Grafana alerts.
- Bumps AlertManager to
- networking 📦 core module: v4.0.0
- Bumps Cilium to
v1.18.11and Tigera tov1.40.13. - Enables Whisker observability UI.
- Bumps Cilium to
- policy 📦 core module: v1.17.0
- Bumps Gatekeeper to
v3.22.2, Gatekeeper Policy Manager tov1.1.1and Kyverno tov1.18.1.
- Bumps Gatekeeper to
- tracing 📦 core module: v1.5.0
- Bumps tempo-distributed to
v2.10.5. - Updates MinIO image to the Chainguard fork.
- Bumps tempo-distributed to
New features 🌟
- [#504] Add Whisker Network Observability UI tool for clusters using Tigera Calico as CNI.
- [#519] Allow overriding the
pomeriumauth ingress throughspec.distribution.modules.auth.overrides.ingresses.pomerium. - [#527] The distribution is now a data-only repository: it no longer ships the generated Go types. It provides the public JSON schemas, defaults, templates, rules and
kfd.yaml.furyctlnow owns its config types (see furyctl#674), so integrators that previously imported the generated Go library should migrate accordingly. - [#530] Add support for a per-host
dnsZoneoverride infuryctl.yamlformasters,etcd,nodes, andloadBalancershost entries. When set on a host, the local value takes precedence over the globalspec.kubernetes.dnsZonewhen computingkubernetes_hostnameandetcd_initial_cluster. This makes it possible to assign different FQDNs to hosts in different DNS zones. - [#539] Pin
ansible(with itspython+uvbuild toolchain and the galaxy collections) undertools.commoninkfd.yaml, sofuryctlinstalls a self-contained, versioned Ansible via the bundled mise for theOnPremiseskind instead of requiring it on the host. Optional and backward compatible: distributions without the block keep using the host Ansible. - [#543] New
customResourcesdistribution field: add a newcustomResourcesfield under the distribution phase configuration that allows the deployment of custom resources together with the distribution phase. This allows to solve some cyclic dependencies that could arise using Kustomize Plugins (like the storage). Plugins remain the preferred way to deploy additional resources. - [#553] EKSCluster: added schema validation to require at least one of
privateAccessorpublicAccessto betruein the Kubernetes API server configuration. - [#554] Monitoring: bump PrometheusAgent version to 3.10.0
Bug Fixes 🐛
- [#515] Don't try to delete Kyverno Policies when CRDs are not present: the distribution pre-apply script tried to delete the default Kyverno policies even when the CRDs were not present in the cluster. Now the script checks for the CRDs before attempting to delete them.
- [#532] Fix worker nodes not receiving custom registry in OnPremises clusters:
kubernetes_image_registrywas placed undermaster.varsinstead ofall.varsin the generatedhosts.yaml, causing worker nodes to fall back to the defaultregistry.sighup.io/fury/on-premisesregistry for the pause container (sandbox_image). - [#537] Fix
PrometheusOperatorRejectedResourcesfalse positive: Deploy the AlertmanagerConfigs included with the monitoring module only when URLs are set for the webhooks they use, otherwise aPrometheusOperatorRejectedResourcesalert would be triggered because of missing Secrets causing alert noise. - [#549] Fix Gatekeeper Policy Manager NetworkPolicy blocking ingress traffic when auth provider is not SSO.
- [#555] Monitoring templates: don't try to patch the alertmanagerConfigs when they are not being deployed at all.
- [#564] OnPremises: fixed a race in the preflight
verify-playbook.yamlwhere fetchingadmin.conffrom multiple masters in parallel could randomly fail with a checksum mismatch. - [#580] EKSCluster: add a kapp rebase rule so
spec.loadBalancerClasson the HAProxyLoadBalancerServices always keeps value the AWS Load Balancer Controller webhook already set on them, instead of trying to clear it during the upgrade.
Breaking changes 💔
- [#505] Support NFTables mode for kube-proxy in on-premises clusters. Now the boolean
kubeProxy.enabledfield is removed and replaced by thekubeProxy.typeenum (ipvs,nftables,none). Migrate existing configurations as follows:enabled: falsebecomestype: none;enabled: true(or the field omitted) becomestype: ipvs, which is also the default whentypeis omitted. - [#519] For the
EKSClusterandKFDDistributionkinds,spec.distribution.modules.auth.overrides.ingressesnow only accepts thegangplank,dexandpomeriumkeys. Previously any key was accepted; configurations using other keys will now fail schema validation.
Upgrade procedure
Check the upgrade docs for the steps to upgrade the SIGHUP Distribution from one version to the next using furyctl.