Ingress customization

Argonaut provisions ingress-nginx for managing ingress. This can be customized for specific application needs by just plugging in the services.external.extraAnnotations field in the service descriptor art.yaml file.

Example snippet for changing the max body size in the request:

services:
  - port: 8080
    protocol: "tls-terminated"
    external:
      hosts:
        - "app.prod.example.com"
      paths: ["/"]
      extraAnnotations:
        nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/24

This supports any annotations present here.

By default, some annotations are added such as an http -> https redirect. This can be eliminated and overridden by using the services.external.overrideAnnotations field. Example:

services:
  - port: 8080
    protocol: "tls-terminated"
    external:
      hosts:
        - "app.prod.example.com"
      paths: ["/"]
      overrideAnnotations:
        nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
        nginx.ingress.kubernetes.io/from-to-www-redirect: "true"