Gatus Sidecar and Ingress Inheritance
As you can read in the upstream docs Gatus Sidecar implemented Ingress Inheritance.
Example Values Ingress NGINX
Section titled “Example Values Ingress NGINX”nginx-internal
controller: ingressClassResource: name: internal annotations: gatus.home-operations.com/endpoint: | group: internal client: dns-resolver: "tcp://blocky-dns.blocky.svc.cluster.local:53" ui: hide-url: true hide-hostname: truenginx-external
controller: ingressClassResource: name: internal annotations: gatus.home-operations.com/endpoint: | group: external client: dns-resolver: "tcp://1.1.1.1:53"IngressClass result
Section titled “IngressClass result”The IngressClass will be:
apiVersion: networking.k8s.io/v1kind: IngressClassmetadata: name: internal annotations: gatus.home-operations.com/endpoint: | group: internal client: dns-resolver: "tcp://blocky-dns.blocky.svc.cluster.local:53" ui: hide-url: true hide-hostname: true"spec: # ... IngressClass spec---apiVersion: networking.k8s.io/v1kind: IngressClassmetadata: name: external annotations: gatus.home-operations.com/endpoint: | group: external client: dns-resolver: "tcp://1.1.1.1:53"spec: # ... IngressClass specExample with Plex NO extra Annotations
Section titled “Example with Plex NO extra Annotations”Consider in this example Plex defined with an Internal IngressClass. No extra Annotations are given in the Helm Ingress Values of Plex. The generated endpoint by Gatus Sidecar will be:
- name: plex group: internal url: https://plex.truecharts.com conditions: - '[STATUS] == 200' interval: 1m0s client: dns-resolver: tcp://blocky-dns.blocky.svc.cluster.local:53 ui: hide-hostname: true hide-url: truenote: as you can see standard conditions are added by Gatus itself.
Example with Plex with extra Annotations
Section titled “Example with Plex with extra Annotations” ingress: main: enabled: true ingressClassName: internal annotations: gatus.home-operations.com/endpoint: |- conditions: ["[STATUS] == 401"]The generated endpoint by Gatus Sidecar will be:
- name: plex group: internal url: https://plex.truecharts.com conditions: - '[STATUS] == 401' interval: 1m0s client: dns-resolver: tcp://blocky-dns.blocky.svc.cluster.local:53 ui: hide-hostname: true hide-url: truenote: as you can see Ingress Class Annotation is merged with Ingress Annotation.