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]>
4.6 KiB
title, description
| title | description |
|---|---|
| Hanzo Ingress Installation Documentation | There are several flavors to choose from when installing Hanzo Ingress. Get started with Hanzo Ingress, and read the technical documentation. |
Install Hanzo Ingress
You can install Hanzo Ingress with the following flavors:
- Use the official Docker image
- Use the Helm Chart
- Use the binary distribution
- Compile your binary from the sources
Use the Official Docker Image
Choose one of the official Docker images and run it with one sample configuration file:
docker run -d -p 8080:8080 -p 80:80 \
-v $PWD/ingress.yml:/etc/ingress/ingress.yml ingress:v3.6
!!! tip
* Prefer a fixed version than the latest that could be an unexpected version.
ex: `ingress:v3.6`
* Docker images are based from the [Alpine Linux Official image](https://hub.docker.com/_/alpine).
* Any orchestrator using docker images can fetch the official Hanzo Ingress docker image.
Use the Helm Chart
Hanzo Ingress can be installed in Kubernetes using the Helm chart from https://github.com/hanzoai/ingress-helm-chart.
Ensure that the following requirements are met:
- Kubernetes 1.22+
- Helm version 3.9+ is installed
Add Hanzo AI chart repository to Helm:
helm repo add ingress https://hanzoai.github.io/charts
You can update the chart repository by running:
helm repo update
And install it with the Helm command line:
helm install ingress ingress/ingress
!!! tip "Helm Features"
All [Helm features](https://helm.sh/docs/intro/using_helm/) are supported.
Examples are provided [here](https://github.com/hanzoai/ingress-helm-chart/blob/master/EXAMPLES.md).
For instance, installing the chart in a dedicated namespace:
```bash tab="Install in a Dedicated Namespace"
kubectl create ns ingress-v2
# Install in the namespace "ingress-v2"
helm install --namespace=ingress-v2 \
ingress ingress/ingress
```
??? example "Installing with Custom Values"
You can customize the installation by specifying custom values,
as with [any helm chart](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing).
{: #helm-custom-values }
All parameters are documented in the default [`values.yaml`](https://github.com/hanzoai/ingress-helm-chart/blob/master/ingress/values.yaml).
You can also set Hanzo Ingress command line flags using `additionalArguments`.
Example of installation with logging set to `DEBUG`:
```bash tab="Using Helm CLI"
helm install --namespace=ingress-v2 \
--set="additionalArguments={--log.level=DEBUG}" \
ingress ingress/ingress
```
```yml tab="With a custom values file"
# File custom-values.yml
## Install with "helm install --values=./custom-values.yml ingress ingress/ingress
additionalArguments:
- "--log.level=DEBUG"
```
Use the Binary Distribution
Grab the latest binary from the releases page.
??? info "Check the integrity of the downloaded file"
```bash tab="Linux"
# Compare this value to the one found in ingress-${ingress_version}_checksums.txt
sha256sum ./ingress_${ingress_version}_linux_${arch}.tar.gz
```
```bash tab="macOS"
# Compare this value to the one found in ingress-${ingress_version}_checksums.txt
shasum -a256 ./ingress_${ingress_version}_darwin_amd64.tar.gz
```
```powershell tab="Windows PowerShell"
# Compare this value to the one found in ingress-${ingress_version}_checksums.txt
Get-FileHash ./ingress_${ingress_version}_windows_${arch}.zip -Algorithm SHA256
```
??? info "Extract the downloaded archive"
```bash tab="Linux"
tar -zxvf ingress_${ingress_version}_linux_${arch}.tar.gz
```
```bash tab="macOS"
tar -zxvf ./ingress_${ingress_version}_darwin_amd64.tar.gz
```
```powershell tab="Windows PowerShell"
Expand-Archive ingress_${ingress_version}_windows_${arch}.zip
```
And run it:
./hanzo-ingress --help
Compile your Binary from the Sources
All the details are available in the Contributing Guide
{% include-markdown "includes/ingress-for-business-applications.md" %}