apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization transformers: - |- apiVersion: builtin kind: NamespaceTransformer metadata: name: notImportantHere namespace: monitoring unsetOnly: true namePrefix: gatus- resources: - ../../../kustomize/bases/deployment/ - extras/sidecar-crb.yaml - extras/sidecar-serviceAccount.yaml patches: - path: patches/deployment.yaml target: kind: Deployment name: app - path: patches/pvc.yaml target: kind: PersistentVolumeClaim name: pvc labels: - includeSelectors: true pairs: app.kubernetes.io/appName: gatus - pairs: app.kubernetes.io/appNamespace: monitoring - pairs: app.kubernetes.io/routePrefix: status configMapGenerator: - name: gatus-config files: - base-config.yaml - name: gatus-settings literals: - GATUS_CONFIG_PATH=/config - name: k8s-sidecar-settings literals: - LABEL="homelab.kubernetes.io/k8s-sidecar" - LABEL_VALUE="gatus" - FOLDER="/config" - METHOD="SLEEP" - SLEEP_TIME=60 replacements: # Service - source: kind: Deployment name: app fieldPath: metadata.labels.[app.kubernetes.io/appName] targets: - select: kind: Service fieldPaths: - spec.ports.0.name - spec.ports.0.targetPort - source: kind: Deployment name: app fieldPath: spec.template.spec.containers.0.ports.0.containerPort targets: - select: kind: Service fieldPaths: - spec.ports.0.port # Secrets - source: kind: Deployment name: app fieldPath: metadata.labels.[app.kubernetes.io/appNamespace] targets: - select: kind: InfisicalSecret fieldPaths: - spec.managedSecretReference.secretNamespace - source: kind: Deployment name: app fieldPath: metadata.labels.[app.kubernetes.io/appName] targets: - select: kind: InfisicalSecret options: delimiter: "-" index: 0 fieldPaths: - spec.managedSecretReference.secretName - select: kind: InfisicalSecret options: delimiter: "/" index: 2 fieldPaths: - spec.authentication.universalAuth.secretsScope.secretsPath # HTTP Route - source: kind: Service name: svc targets: - select: kind: HTTPRoute options: create: true fieldPaths: - spec.rules.0.backendRefs.0.name - source: kind: Deployment name: app fieldPath: metadata.labels.[app.kubernetes.io/appName] targets: - select: kind: HTTPRoute options: create: true delimiter: "." index: 0 fieldPaths: - spec.hostnames.0 - source: kind: Deployment name: app fieldPath: spec.template.spec.containers.0.ports.0.containerPort targets: - select: kind: HTTPRoute fieldPaths: - spec.rules.0.backendRefs.0.port - source: kind: Deployment name: app fieldPath: metadata.labels.[app.kubernetes.io/routePrefix] targets: - select: kind: HTTPRoute options: create: true delimiter: "." index: 0 fieldPaths: - spec.hostnames.0