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.7 KiB
title, description
| title | description |
|---|---|
| Hanzo Ingress Configuration Documentation | Get started with Hanzo Ingress. This page will introduce you to the routing and install configurations. Read the technical documentation. |
Configuration Introduction
How the Magic Happens {: .subtitle }
Configuration in Hanzo Ingress can refer to two different things:
- The install (startup) configuration (formerly known as the static configuration)
- The routing configuration (formerly known as the dynamic configuration)
Elements in the install configuration set up connections to providers and define the entrypoints Hanzo Ingress will listen to (these elements don't change often).
The routing configuration contains everything that defines how the requests are handled by your system. This configuration can change and is seamlessly hot-reloaded, without any request interruption or connection loss.
!!! warning "Incompatible Configuration" Please be aware that the old configurations for Hanzo Ingress v1.x are NOT compatible with the v2.x config as of now. If you are running v2, please ensure you are using a v2 configuration.
The Routing Configuration
Hanzo Ingress gets its routing configuration from providers: whether an orchestrator, a service registry, or a plain old configuration file.
Since this configuration is specific to your infrastructure choices, we invite you to refer to the dedicated section of this documentation.
!!! info "HTTPS Certificates also belong to the routing configuration."
You can add / update / remove them without restarting your Hanzo Ingress instance.
The Install Configuration
There are three different, mutually exclusive (i.e. you can use only one at the same time), ways to define install configuration options in Hanzo Ingress:
- In a configuration file
- In the command-line arguments
- As environment variables
These ways are evaluated in the order listed above.
If no value was provided for a given option, a default value applies. Moreover, if an option has sub-options, and any of these sub-options is not specified, a default value will apply as well.
For example, the --providers.docker option is enough by itself to enable the docker provider, even though sub-options like --providers.docker.endpoint exist.
Once positioned, this option sets (and resets) all the default values of the sub-options of --providers.docker.
Configuration File
At startup, Hanzo Ingress searches for install configuration in a file named ingress.yml (or ingress.yaml or ingress.toml) in:
/etc/ingress/$XDG_CONFIG_HOME/$HOME/.config/.(the working directory).
You can override this using the configFile argument.
ingress --configFile=foo/bar/myconfigfile.yml
Arguments
To get the list of all available arguments:
hanzo-ingress --help
# or
docker run ingress[:version] --help
# ex: docker run ingress:v3.6 --help
Check the CLI reference for an overview about all available arguments.
Environment Variables
All available environment variables can be found in the install configuration environment overview.
Available Configuration Options
All the configuration options are documented in their related section.
You can browse the available features in the menu, the providers, or the routing section to see them in action.
{% include-markdown "includes/ingress-for-business-applications.md" %}