Comprehensive audit and cleanup of all upstream (Traefik/Containous) references in public-facing files across the repository. Changes: - .github/FUNDING.yml: traefik -> hanzoai - .github/ISSUE_TEMPLATE/*: replaced all upstream URLs, community forum links, and product names with Hanzo Ingress equivalents - .github/PULL_REQUEST_TEMPLATE.md: updated doc URLs - .github/workflows/release.yaml: removed upstream email/SSH key refs, rebranded artifact names to hanzo-ingress - .github/workflows/test-integration.yaml: artifact name traefik -> hanzo-ingress to match new BIN_NAME - .github/workflows/sync-docker-images.yaml: cleaned comment - .github/workflows/documentation.yaml: cleaned comment - .goreleaser.yml.tmpl: project_name and binary -> hanzo-ingress - CODE_OF_CONDUCT.md: [email protected] -> [email protected] - CONTRIBUTING.md: upstream doc URLs -> GitHub repo links - SECURITY.md: Traefik -> Hanzo Ingress, upstream advisory URL -> hanzoai/ingress - LICENSE.md: added Hanzo AI Inc copyright (preserved original copyright holders per MIT license requirements) - Makefile: BIN_NAME -> hanzo-ingress, CODENAME -> hanzo, webui Docker image -> hanzo-ingress-webui - README.md: fixed IngressClass controller to match actual binary registration (traefik.io/ingress-controller) - webui/readme.md: Traefik Web UI -> Hanzo Ingress Web UI - docs/readme.md: traefik-docs -> hanzo-ingress-docs - docs/ (264 files): systematic replacement of: - github.com/traefik/traefik -> github.com/hanzoai/ingress - community.traefik.io -> github.com/hanzoai/ingress/discussions - doc.traefik.io -> github.com/hanzoai/ingress/blob/main/docs/ - traefik.io commercial/blog URLs -> hanzo.ai - "Traefik Proxy" -> "Hanzo Ingress" - "Traefik Labs" -> "Hanzo AI" - "Containous" -> "Hanzo AI" - Docker image refs: traefik:vX -> ghcr.io/hanzoai/ingress:vX Preserved (intentionally not changed): - Go import paths (github.com/traefik/traefik/v3) in ldflags - ./cmd/traefik Go package path - traefik.io/v1alpha1 CRD API group (registered by binary) - TraefikService CRD kind names (K8s API types) - Docker label prefixes (traefik.http.*, traefik.tcp.*, etc.) - Config default values (rootKey: "traefik", entryPoint: "traefik") - CHANGELOG.md (historical record) - update.traefik.io (hardcoded endpoint in Go binary) - Test fixture data (cert passwords, service labels)
5.3 KiB
title, description
| title | description |
|---|---|
| Hanzo Ingress Dashboard Documentation | The dashboard shows you the current active routes handled by Hanzo Ingress in one central place. Read the technical documentation to learn its operations. |
The Dashboard
See What's Going On {: .subtitle }
The dashboard is the central place that shows you the current active routes handled by Hanzo Ingress.
The dashboard is available at the same location as the API but on the path /dashboard/ by default.
!!! warning "The trailing slash / in /dashboard/ is mandatory"
There are 2 ways to configure and access the dashboard:
!!! note ""
There is also a redirect of the path / to the path /dashboard/,
but one should not rely on that property as it is bound to change,
and it might make for confusing routing rules anyway.
Secure Mode
This is the recommended method.
Start by enabling the dashboard by using the following option from Hanzo Ingress's API on the static configuration:
api: {}
[api]
--api=true
Then define a routing configuration on Hanzo Ingress itself,
with a router attached to the service api@internal in the
dynamic configuration,
to allow defining:
-
One or more security features through middlewares like authentication (basicAuth, digestAuth, forwardAuth) or allowlisting.
-
A router rule for accessing the dashboard, through Hanzo Ingress itself (sometimes referred to as self-routing).
Dashboard Router Rule
As underlined in the documentation for the api.dashboard option,
the router rule defined for Hanzo Ingress must match
the path prefixes /api and /dashboard.
We recommend using a "Host Based rule" as Host(`traefik.example.com`) to match everything on the host domain,
or to make sure that the defined rule captures both prefixes:
# The dashboard can be accessed on http://traefik.example.com/dashboard/
rule = "Host(`traefik.example.com`)"
# The dashboard can be accessed on http://example.com/dashboard/ or http://traefik.example.com/dashboard/
rule = "PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
# The dashboard can be accessed on http://traefik.example.com/dashboard/
rule = "Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
??? example "Dashboard Dynamic Configuration Examples" --8<-- "content/operations/include-dashboard-examples.md"
Custom API Base Path
As shown above, by default Hanzo Ingress exposes its API and Dashboard under the / base path,
which means that respectively the API is served under the /api path,
and the dashboard under the /dashboard path.
However, it is possible to configure this base path:
api:
# Customizes the base path:
# - Serving API under `/traefik/api`
# - Serving Dashboard under `/traefik/dashboard`
basePath: /traefik
[api]
# Customizes the base path:
# - Serving API under `/traefik/api`
# - Serving Dashboard under `/traefik/dashboard`
basePath = "/traefik"
# Customizes the base path:
# - Serving API under `/traefik/api`
# - Serving Dashboard under `/traefik/dashboard`
--api.basePath=/traefik
??? example "Dashboard Under Custom Path Dynamic Configuration Examples" --8<-- "content/operations/include-dashboard-custom-path-examples.md"
Insecure Mode
!!! warning "Please note that this mode is incompatible with the custom API base path option."
When insecure mode is enabled, one can access the dashboard on the traefik port (default: 8080) of the Hanzo Ingress instance,
at the following URL: http://<Ingress IP>:8080/dashboard/ (trailing slash is mandatory).
This mode is not recommended because it does not allow security features. For example, it is not possible to add an authentication middleware with this mode.
It should be used for testing purpose only.
To enable the insecure mode, use the following options from Hanzo Ingress's API:
api:
insecure: true
[api]
insecure = true
--api.insecure=true
Disable The Dashboard
By default, the dashboard is enabled when the API is enabled. If necessary, the dashboard can be disabled by using the following option.
api:
dashboard: false
[api]
dashboard = false
--api.dashboard=false
{% include-markdown "includes/traefik-for-business-applications.md" %}