--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app echo-server spec: serviceAccountName: ${REPO_NAME}-sa interval: 30m chart: spec: chart: app-template version: 3.2.1 sourceRef: kind: HelmRepository name: bjw-s namespace: ${REPO_NAME}-ns install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 values: controllers: echo-server: replicas: 2 strategy: RollingUpdate containers: app: image: repository: ghcr.io/mendhak/http-https-echo tag: 33 env: HTTP_PORT: &port 8080 LOG_WITHOUT_NEWLINE: true LOG_IGNORE_PATH: /healthz PROMETHEUS_ENABLED: true probes: liveness: &probes enabled: true custom: true spec: httpGet: path: /healthz port: *port initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: { drop: ["ALL"] } seccompProfile: type: RuntimeDefault resources: requests: cpu: 10m limits: memory: 64Mi defaultPodOptions: securityContext: runAsNonRoot: true seccompProfile: { type: RuntimeDefault } topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app service: app: controller: echo-server ports: http: port: *port serviceMonitor: app: serviceName: echo-server endpoints: - port: http scheme: http path: /metrics interval: 1m scrapeTimeout: 10s ingress: app: className: external hosts: #- host: "{{ .Release.Name }}{{ .Release.Namespace }}.pub.staging.kvant.cloud" - host: "{{ .Release.Name }}{{ .Release.Namespace }}.pub.${CLUSTER_DOMAIN}" paths: - path: / service: identifier: app port: http