Skip to content

Overview

Annotation Description
nginx.ingress.kubernetes.io/ssl-redirect=false Prevent automatic redirect from HTTP to HTTPS
nginx.ingress.kubernetes.io/backend-protocol=HTTPS Use a backend protocol other than HTTP to connect to upstream services. Can be HTTPS, GRPC, GRPCS and AJP
kubernetes.io/tls-acme=true Automatically generate and sign a new certificate
platform.flanksource.com/restrict-to-groups Restrict access to the specified Ingress to authenticated users with membership in the configured groups
platform.flanksource.com/extra-configuration-snippet Extra nginx configuration snippet to apply
platform.flanksource.com/pass-auth-headers Authentication headers to pass through to the backend, a Authentication: Bearer header with a JWT token is sent to backends by default

For a full list of supported nginx annotation see here

Ingress Authentication

Using a combination of Dex and Oauth2-Proxy you can configure ingress'es to require authentication and membership in specific groups:

Dynamic Ingress Hostname

Karina supports deploying the same workload on multiple clusters, in order to facilitate this dynamic ingress names are supported.

Create the ingress as usual and use {{.Domain}} where you would normally use the cluster wildcard DNS entry, The template will be replaced at runtime by Quack

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kibana-ing
  namespace: eck
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
    - hosts:
        - kibana.{{.Domain}}
  rules:
    - host: kibana.{{.Domain}}
      http:
        paths:
          - backend:
              service:
                name: logs-kb-http
                port:
                  number: 5601