--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: &app k8s-gateway namespace: networking spec: interval: 30m chart: spec: chart: app-template version: 2.6.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: defaultPodOptions: topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app controllers: main: replicas: 2 strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" containers: main: image: repository: quay.io/oriedge/k8s_gateway tag: v0.4.0 args: ["-conf", "/etc/coredns/Corefile"] probes: readiness: custom: true spec: httpGet: path: /ready port: 8181 liveness: custom: true spec: httpGet: path: /health port: 8080 startup: enabled: false service: main: type: LoadBalancer loadBalancerIP: "${CLUSTER_LB_K8SGATEWAY}" externalTrafficPolicy: Local ports: http: enabled: false metrics: enabled: true port: 9153 dns: enabled: true port: 53 targetPort: 1053 protocol: UDP serviceMonitor: main: enabled: true endpoints: - port: metrics scheme: http path: /metrics interval: 1m scrapeTimeout: 10s serviceAccount: create: true name: *app persistence: config-file: type: configMap name: k8s-gateway-configmap globalMounts: - path: /etc/coredns/Corefile subPath: Corefile readOnly: true