--- # yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/helmrelease_v2beta1.json apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: &app k8s-gateway namespace: networking spec: interval: 15m chart: spec: chart: app-template version: 1.2.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 3 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: controller: replicas: 2 strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" image: repository: quay.io/oriedge/k8s_gateway tag: v0.3.2 args: ["-conf", "/etc/coredns/Corefile"] 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 probes: readiness: custom: true spec: httpGet: path: /ready port: 8181 liveness: custom: true spec: httpGet: path: /health port: 8080 startup: enabled: false serviceAccount: create: true name: *app persistence: config-file: enabled: true type: configMap name: k8s-gateway-configmap subPath: Corefile mountPath: /etc/coredns/Corefile readOnly: true topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app