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]>
3.5 KiB
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