Rowan Ruselerandkfox1111 b0aa3e4266 Fix duplicate port names in controller-manager containers (#751)
* Fix duplicate port names in controller-manager containers

Multiple controller-manager containers were using the same "heathz" port
name, causing Kubernetes warnings about duplicate ports in the
StatefulSet. This also affected the prometheus port "prom-cm".

Changes:
* Renamed healthz port to hp-cm (health port - controller manager)
* Renamed prom-cm to pm-cm for consistency
* Addedd {{ .portSuffix }} variable to differentiate external controller
  ports
* Implemented port suffix logic

The suffix logic handles cluster names by:
1. Names <9 chars: use full name as suffic
  * e.g.: child01 -> -child01
2. Names with trailing numbers: preserve the number format users chose
  * Detects 1-2 digit numbers with optional hyphen
  * Truncates base name to fit within 15 chars
  * e.g.: verlongcluster-01 -> -verylo-01
3. Names without numbers: use SHA-256 hash for uniqueness
  * Trunactes name to 5 chars and appends 3-char hash
  * e.g.: verlongclustername -> -veryl-a3f

The logic separates container suffix (full name) from port suffix
(truncated) so container names remain descriptive while port names stay
compliant.

Fixes #525 #655

Signed-off-by: Rowan Ruseler <[email protected]>

* Add optional port name overrides for ext. controller

The auto-generated port name suffixes for external controller manager
can collide when cluster names are similar, as the 3-character has
provides only 4,096 possibilities. With the optional healthPortName and
prometheusPortName fields to cluster configuration, allows users to
explicity set port names when automatica generation creates collisions.

Signed-off-by: Rowan Ruseler <[email protected]>

* Fix portSuffix generation

Changed from "and" to "or", so portSuffic is calculated when either
healthPortName or prometheusPortName is unset.

Signed-off-by: Rowan Ruseler <[email protected]>

---------

Signed-off-by: Rowan Ruseler <[email protected]>
Co-authored-by: kfox1111 <[email protected]>
2026-02-23 15:20:25 +01:00
2023-02-21 15:47:06 +01:00
2023-11-08 13:11:58 +01:00
2023-09-18 17:52:01 +02:00
2023-11-08 13:11:58 +01:00
2023-11-08 13:11:58 +01:00
2022-11-30 10:16:57 -06:00
2023-11-13 14:14:24 -08:00
2024-01-23 08:05:49 -08:00

Note

Things to consider:

  1. We do not support running out of the git main branch. This is where development happens. Please use released versions via the published repo or git tags.
  2. All the helm charts in this repo are beta. We encourage you to try them out and contribute. The API may change as we move towards a production ready release.

SPIFFE Helm Charts

Apache 2.0 License Development Phase Artifact Hub

A suite of Helm Charts for standardized installations of SPIRE components in Kubernetes environments.

How to install or upgrade

You most likely want to do an integrated setup based on the spire chart. See the Instructions.

Contributing

Before contributing ensure to check our CONTRIBUTING guidelines.

LICENSE

This project is licensed under Apache License, Version 2.0.

Reporting a Vulnerability

Vulnerabilities can be reported by sending an email to [email protected]. A confirmation email will be sent to acknowledge the report within 72 hours. A second acknowledgement will be sent within 7 days when the vulnerability has been positively or negatively confirmed.

S
Description
SPIFFE hardened Helm charts fork,基于当前 homelab 部署版本维护必要补丁
Readme Apache-2.0
3.9 MiB
Languages
Go Template 49.2%
Shell 23.7%
Go 16.2%
Python 7.9%
Makefile 1.6%
Other 1.4%