Cross-file `needs:` across separate nested helmfiles didn't resolve in Helmfile v1 (releases defined in sibling files weren't visible to each other's dependency graph) -- confirmed live against the homelab cluster: kafka-cluster failed with "depend(s) on an undefined release" even though strimzi-operator had just been installed successfully by a sibling file. Collapsed releases.d/*.gotmpl into a single helmfile.yaml.gotmpl so the whole release graph is resolved together. Also add a second Ingress (management-service-grpc, backend-protocol: GRPC) scoped to the QueueService gRPC path prefix on the same host/port as the REST ingress. kmsvc-cli dials --server directly via gRPC (default kmsvc.homelab.internal:443 per its README), so raw gRPC needs an external path too, not just REST -- the original "gRPC stays internal" default didn't account for the CLI's own connection model. Add Dockerfile.queue-operator (existed for cmd/server only before).
28 lines
831 B
YAML
28 lines
831 B
YAML
{{- if and .Values.ingress.enabled .Values.ingress.grpcEnabled }}
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: management-service-grpc
|
|
namespace: {{ .Values.namespace }}
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: {{ .Values.ingress.clusterIssuer }}
|
|
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className }}
|
|
tls:
|
|
- hosts:
|
|
- {{ .Values.ingress.host }}
|
|
secretName: {{ .Values.ingress.tlsSecretName }}
|
|
rules:
|
|
- host: {{ .Values.ingress.host }}
|
|
http:
|
|
paths:
|
|
- path: {{ .Values.ingress.grpcPathPrefix }}
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: management-service
|
|
port:
|
|
number: {{ .Values.grpcPort }}
|
|
{{- end }}
|