Skip to content

Commit d0212f4

Browse files
committed
MINOR: artifacthub: add missing Artifact Hub annotations to all charts
Add the following annotations where absent across all three charts: - artifacthub.io/category: networking - artifacthub.io/images (main container image pinned to appVersion) - artifacthub.io/license: Apache-2.0 - artifacthub.io/links (support link -> GitHub Issues) - artifacthub.io/operator: "true" (kubernetes-ingress, haproxy-unified-gateway) - artifacthub.io/operatorCapabilities: full lifecycle (same two charts) The plain haproxy chart is a workload deployment, not a controller, so operator/operatorCapabilities are intentionally omitted there. Also fix three artifacthub.io/changes entries in kubernetes-ingress that contained ": " mid-text (README:, Upgrade note:, Behaviour change:), causing the YAML parser to produce dicts instead of strings and Artifact Hub to reject them with "invalid change: description not provided". The entries are now wrapped in double quotes within the block literal. Signed-off-by: Dinko Korunic <dkorunic@haproxy.com>
1 parent cfc0a6a commit d0212f4

4 files changed

Lines changed: 33 additions & 3 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ test/lintconf.yaml
3232

3333
# TODO
3434
TODO
35+
36+
# Claude/OpenCode docs
37+
docs/

haproxy-unified-gateway/Chart.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ maintainers:
3434
- name: Dinko Korunic
3535
email: dkorunic@haproxy.com
3636
annotations:
37+
artifacthub.io/category: networking
38+
artifacthub.io/images: |
39+
- name: controller
40+
image: docker.io/haproxytech/haproxy-unified-gateway:1.0.2
3741
artifacthub.io/license: Apache-2.0
42+
artifacthub.io/links: |
43+
- name: support
44+
url: https://github.com/haproxytech/helm-charts/issues
45+
artifacthub.io/operator: "true"
46+
artifacthub.io/operatorCapabilities: full lifecycle
3847
artifacthub.io/changes: |-
3948
- Stop rendering controller.service.http and controller.service.https Service ports; the controller adds them per Gateway listener (see issue #348)

haproxy/Chart.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ maintainers:
2929
- name: Dinko Korunic
3030
email: dkorunic@haproxy.com
3131
annotations:
32+
artifacthub.io/category: networking
33+
artifacthub.io/images: |
34+
- name: haproxy
35+
image: docker.io/haproxytech/haproxy-alpine:3.3.6
36+
artifacthub.io/license: Apache-2.0
37+
artifacthub.io/links: |
38+
- name: support
39+
url: https://github.com/haproxytech/helm-charts/issues
3240
artifacthub.io/changes: |
3341
- Update base image to HAProxy 3.3.6
3442
- Fix newline issue with YAML normalisation (#344)

kubernetes-ingress/Chart.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ maintainers:
3030
- name: Dinko Korunic
3131
email: dkorunic@haproxy.com
3232
annotations:
33+
artifacthub.io/category: networking
34+
artifacthub.io/images: |
35+
- name: controller
36+
image: docker.io/haproxytech/kubernetes-ingress:3.2.8
37+
artifacthub.io/license: Apache-2.0
38+
artifacthub.io/links: |
39+
- name: support
40+
url: https://github.com/haproxytech/helm-charts/issues
41+
artifacthub.io/operator: "true"
42+
artifacthub.io/operatorCapabilities: full lifecycle
3343
artifacthub.io/changes: |-
3444
- Fix CRD pre-upgrade hook Job failing when the controller ServiceAccount name changes across upgrades (e.g. with --reset-values from a chart version where the fullname template produced a different name). The Job now uses a dedicated ServiceAccount + ClusterRole + ClusterRoleBinding created as pre-upgrade hooks (weight -5) so RBAC materialises before the Job (weight 0) in the same hook phase. New resources gated on rbac.create; least-privilege scope (customresourcedefinitions only). When rbac.create=false the Job falls back to the controller SA as before.
3545
- Fail at template render when controller.{serviceMonitor,podMonitor}.enabled=true but controller.prometheus.enabled=false (the controller would not expose /metrics)
@@ -39,16 +49,16 @@ annotations:
3949
- Fix blank line in controller-service.yaml spec when controller.service.clusterIP is unset
4050
- Normalise extraLabels rendering in ServiceMonitor and PodMonitor to match the chart's `{{- toYaml ... | nindent N }}` convention
4151
- Remove explicit serviceAccount.automountServiceAccountToken=true default from values.yaml; chart now defers to Kubernetes default (still true). Set the value explicitly to override
42-
- README: correct Kubernetes version requirement (1.23+, not 1.22+); fix gateway-controller-name installation example to use controller.kubernetesGateway.{enabled,gatewayControllerName}; drop stale chart version from OCI install example
52+
- "README: correct Kubernetes version requirement (1.23+, not 1.22+); fix gateway-controller-name installation example to use controller.kubernetesGateway.{enabled,gatewayControllerName}; drop stale chart version from OCI install example"
4353
- Drop dead semverCompare branches for K8s <1.23 across HPA, PDB, IngressClass, Service, proxy Service, CRD job, and the emptyDir Memory medium gate in _podspec.tpl
4454
- controller-defaultcertsecret.yaml now uses helm lookup to reuse an existing default cert across install retries instead of regenerating it
4555
- controller-configmap.yaml elides empty data block when controller.config and controller.logging.traffic are both unset
4656
- controller-proxy-service.yaml label parsing uses splitn (no longer breaks on values containing colons; computes once)
4757
- Container-level securityContext no longer duplicates runAsNonRoot/User/Group (now inherited from pod-level); same rendered semantics
4858
- clusterrole.yaml resource quoting normalised to "*" with 4-space indent throughout
49-
- crdjob name no longer includes .Release.Revision; the before-hook-creation delete policy already handles cleanup. Upgrade note: the old revision-suffixed Job from the prior release will remain in-cluster until manually deleted
59+
- "crdjob name no longer includes .Release.Revision; the before-hook-creation delete policy already handles cleanup. Upgrade note: the old revision-suffixed Job from the prior release will remain in-cluster until manually deleted"
5060
- values.yaml comments clarify topologySpreadConstraints DaemonSet behavior and probe port 1042 origin
51-
- Decouple --prometheus and --pprof from controller.service.enablePorts.admin via new controller.prometheus.enabled and controller.pprof.enabled toggles (both default true). Behaviour change: users who set enablePorts.admin=false to disable Prometheus/pprof must now also set the new toggles. See README for migration notes.
61+
- "Decouple --prometheus and --pprof from controller.service.enablePorts.admin via new controller.prometheus.enabled and controller.pprof.enabled toggles (both default true). Behaviour change: users who set enablePorts.admin=false to disable Prometheus/pprof must now also set the new toggles. See README for migration notes."
5262
- Extract shared pod template spec into _podspec.tpl partial; controller-{deployment,daemonset,proxy-deployment}.yaml now ~60 lines each (was ~300+). Same rendered output for Deployment and DaemonSet modes. Proxy-mode pod now also honors serviceAccount.automountServiceAccountToken, controller.extraEnvFrom, and controller.sysctls (previously omitted by oversight)
5363
- Fix --quic-announce-port hard-wired to service.ports.https; auto-derive from topology (useHostNetwork/useHostPort) or override via controller.quic.announcePort
5464
- Remove dead defaultBackend.* helpers and ci values left over from the v1.x in-controller default-backend migration

0 commit comments

Comments
 (0)