Files
zeekayandHanzo Dev 15d100931d
Hanzo CI/CD / cicd (push) Failing after 9m46s
CI/CD / cicd (push) Failing after 10m4s
Name the ingress in the docs, and fix what that exposed
Most of it was stale, not cosmetic: the docs taught `TRAEFIK_*` env,
`traefik.http.*` labels, `traefik.ingress.kubernetes.io/` annotations,
`.traefik.yml` plugins and `traefik_*` metrics. This binary answers to
`INGRESS_*`, `ingress.http.*`, `ingress.kubernetes.io/`, `.ingress.yml` and
`ingress.*` — a reader following the old text configured nothing.

Two were worse than stale. Gateway API examples gave `group: traefik.io` for an
IngressService backendRef, which kubernetes.go:1265 refuses against hanzo.ai.
The contributing guide built with `github.com/traefik/ingress` ldflags against
a module that is `github.com/hanzoai/ingress/v3`.

script/code-gen.sh globs `hanzo.ai_*.yaml` and matched nothing — the per-CRD
dumps had been deleted and never regenerated, so `cat` failed the script under
`set -e`. controller-gen v0.19.0 restores all ten; they concatenate
byte-for-byte into the committed definition and fixture.

CHANGELOG.md is untouched: 6,789 lines of imported release history, where a
rewrite would falsify the record rather than rebrand it. `@traefiklabs/faency`,
`traefik/whoami`, k3s's `--disable=traefik`, the `traefik.io` CRD group and the
MIT attribution stay — upstream's addresses, not our brand.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-16 13:01:19 -07:00

3.5 KiB
Raw Permalink Blame History

title, description
title description
Hanzo Ingress Configuration Overview Read the official Hanzo Ingress documentation to get started with configuring the Hanzo Ingress.

Boot Environment

Hanzo Ingress’s configuration is divided into two main categories:

  • Install Configuration: (formerly known as the static configuration) Defines parameters that require Hanzo Ingress to restart when changed. This includes entry points, providers, API/dashboard settings, and logging levels.
  • Routing Configuration: (formerly known as the dynamic configuration) Involves elements that can be updated without restarting Hanzo Ingress, such as routers, services, and middlewares.

This section focuses on setting up the install configuration, which is essential for Hanzo Ingress’s initial boot.

Configuration Methods

Hanzo Ingress offers multiple methods to define install configuration.

!!! warning "Note" It’s crucial to choose one method and stick to it, as mixing different configuration options is not supported and can lead to unexpected behavior.

Here are the methods available for configuring the Hanzo Ingress proxy:

File

You can define the install configuration in a file using formats like YAML or TOML.

Configuration Example

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

providers:
  docker: {}

api:
  dashboard: true

log:
  level: INFO
[entryPoints]
  [entryPoints.web]
    address = ":80"

  [entryPoints.websecure]
    address = ":443"

[providers]
  [providers.docker]

[api]
  dashboard = true

[log]
  level = "INFO"

Configuration File

At startup, Hanzo Ingress searches for install configuration in a file named ingress.yml (or ingress.yaml or ingress.toml) in the following directories:

  • /etc/ingress/
  • $XDG_CONFIG_HOME/
  • $HOME/.config/
  • . (the current working directory).

You can override this behavior using the configFile argument like this:

ingress --configFile=foo/bar/myconfigfile.yml

CLI

Using the CLI, you can pass install configuration directly as command-line arguments when starting Hanzo Ingress.

Configuration Example

ingress \
  --entryPoints.web.address=":80" \
  --entryPoints.websecure.address=":443" \
  --providers.docker \
  --api.dashboard \
  --log.level=INFO

Environment Variables

You can also set the install configuration using environment variables. Each option corresponds to an environment variable prefixed with INGRESS_.

Configuration Example

INGRESS_ENTRYPOINTS_WEB_ADDRESS=":80" INGRESS_ENTRYPOINTS_WEBSECURE_ADDRESS=":443" INGRESS_PROVIDERS_DOCKER=true INGRESS_API_DASHBOARD=true INGRESS_LOG_LEVEL="INFO" ingress

Helm

When deploying Hanzo Ingress using Helm in a Kubernetes cluster, the install configuration is defined in a values.yaml file.

You can find the official Hanzo Ingress Helm chart on GitHub

Configuration Example

ports:
  web:
    exposedPort: 80
  websecure:
    exposedPort: 443

additionalArguments:
  - "--providers.kubernetescrd.ingressClass"
  - "--log.level=INFO"
helm repo add ingress https://hanzoai.github.io/charts
helm repo update
helm install ingress ingress/ingress -f values.yaml