Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Maintenance: specify default ingress controller in service ingress definition files #58

Description

@jayaddison

During the recent upgrade of our ingress-nginx controller in #57, I noticed two deficiencies with the per-service ingress definition files.

Each service we run in Kubernetes has one of these files; for example the api service currently has: https://github.com/openculinary/api/blob/a488c6a32c14ce8e13e8431231dd2b1dca113989/k8s/web-ingress.yaml

The files basically declare what types of traffic can be accepted by the service, and where to send those network requests.

All of our service ingresses have extremely simple ingress rules: all traffic (HTTP path /) is sent to the service running on port 80 (Internet Service www).

Also, we only use a single ingress controller -- ingress-nginx -- throughout our entire cluster.

The two changes I'd suggest are:

  • Instead of declaring an HTTP-path based rule, use a default backend in every service ingress definition file.

  • Explicitly declare ingress-nginx as the ingress controller to be associated with each service ingress.

    • Yes, in theory we could annotate it once as the default, and rely on that working for every service ingress definition file implicitly.. but it seems better and slightly safer long-term to make the declaration explicit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions