--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app k8s-gateway namespace: networking spec: interval: 30m chart: spec: chart: app-template version: 3.2.1 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 uninstall: keepHistory: false values: defaultPodOptions: topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app controllers: k8s-gateway: replicas: 2 strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" containers: app: 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: app: controller: *app type: LoadBalancer loadBalancerIP: 192.168.169.100 externalTrafficPolicy: Local ports: http: enabled: false port: 8080 metrics: enabled: true port: 9153 dns: enabled: true port: 53 targetPort: 1053 protocol: UDP serviceMonitor: app: serviceName: *app 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