mirror of
https://github.com/hanzoai/ingress.git
synced 2026-11-03 00:49:13 +00:00
* rebrand: strip "traefik" branding from the ingress controller
Removes all "traefik" branding/paths/env/comments from the shipping
surface while keeping load-bearing config schema and external deps intact.
Paths / binary:
- cmd/traefik/ -> cmd/ingress/ (traefik.go->ingress.go, etc.); merged out
the empty cmd/ingress/generate.go stub. Build refs updated in Dockerfile,
Makefile, .goreleaser.yml.tmpl, script/crossbinary-default.sh, README.
- contrib/systemd/traefik.service -> ingress.service (Hanzo Ingress unit,
/etc/ingress paths, hanzo-ingress binary).
- contrib/grafana/traefik*.json -> ingress*.json; metric queries
traefik_* -> ingress_* (now match the engine's ingress_ prefix) + titles.
- script/gcg/traefik-*.toml -> ingress-*.toml; Owner/Repo -> hanzoai/ingress.
Code/config branding (comments + non-schema strings):
- doc.go, mount.go, client/router.go, zap_backend.go, forward_backend.go,
register.go: "Traefik" -> "the ingress"/"Hanzo Ingress"; corrected the
annotation example to ingress.kubernetes.io/.
- ingress.sample.{toml,yml}: header + log + entryPoint example.
- pkg/config/dynamic/fixtures/sample.toml comment.
- pkg/redactor/testdata example+expected: /etc/traefik/traefik.toml ->
/etc/ingress/ingress.toml, TraefikLogsFile -> IngressLogsFile (both files
kept identical so the redactor golden test stays green).
- .golangci.yml importas aliases traefik* -> ingress* and the stale
crd/traefikio path -> crd/hanzoai; unused-var exclude ingressVersion.
- .dockerignore / .gitignore: drop stale /traefik artifacts.
- script/code-gen.sh: PROJECT_MODULE -> github.com/hanzoai/ingress,
v1alpha1 path -> crd/hanzoai, CRD output -> hanzo.ai_*.yaml /
01-ingress-crd.yml.
- script/deploy.sh: drop the upstream traefik-library-image push.
- Removed dead, disabled upstream docs-publish workflow
(.github/workflows/documentation.yaml, pushed to traefik/doc).
- LLM.md: rewrote rebrand notes; documented load-bearing "traefik" that
stays (external imports, hash-bound realm, upstream issue URL, license
attribution) and vendored upstream docs/webui/changelog as out of scope.
Load-bearing "traefik" intentionally KEPT (not branding):
- external Go modules github.com/traefik/{oxy,yaegi,grpc-web};
- digest_auth_test.go htdigest realm "traefik" (invalidates the hashes);
- consul_test.go upstream issue URL #8092 (provenance citation);
- LICENSE.md + boilerplate.go.tmpl Containous/Traefik Labs copyright
(MIT attribution; Hanzo AI appended);
- integration/ test fixtures (traefik/whoami images, rawdata-*.json
golden entrypoint names, nomad traefik.* tags) — test-only, semantics-
sensitive; out of scope for this pass.
Verify: `go build $(go list ./... | grep -v /webui)` passes; redactor /
config/dynamic / nomad / server/service tests pass. The webui go:embed
failure and the kubernetes/crd test (ingress.k8s.io group mismatch) are
pre-existing on main, not caused by this rebrand.
* build(ingress): own yaegi + grpc-web via hanzoai source-fork replaces (#29)
Task #29 — own the framework deps (Traefik half). The Traefik engine is
already fully source-forked into github.com/hanzoai/ingress and the
user-facing surface is debranded (cmd/ingress -> hanzo-ingress, CRD group
hanzo.ai, ingress_ metrics, X-Ingress-* headers). The last upstream
traefik/* runtime libraries are now pinned to hanzoai source-forks:
github.com/traefik/grpc-web => github.com/hanzoai/grpc-web v0.16.0
github.com/traefik/yaegi => github.com/hanzoai/yaegi v0.16.1
Both forks keep the upstream module path at the identical version tag, so
the import lines in pkg/plugins (yaegi Go-interpreter for plugins) and
pkg/middlewares/grpcweb are unchanged — only resolution moves to a path
hanzoai controls (immune to upstream re-tag/deletion; patchable in-house).
oxy has no hanzoai fork yet and stays on the existing traefik/oxy replace —
tracked next-wave (create hanzoai/oxy first).
Proof:
go list -m github.com/traefik/{yaegi,grpc-web} -> both => hanzoai/*
go build ./... -> exit 0 (webui assets staged)
go test ./pkg/plugins/... -> ok (yaegi consumer)
readonly (CI-mode) build of swapped pkgs -> exit 0 (go.sum complete)
* docs(ingress): document traefik/* framework-dep ownership boundary (#29)
---------
Co-authored-by: Antje Worring <[email protected]>
Co-authored-by: Hanzo Dev <[email protected]>
72 lines
1.4 KiB
Cheetah
72 lines
1.4 KiB
Cheetah
project_name: hanzo-ingress
|
|
version: 2
|
|
|
|
[[if .GOARCH]]
|
|
dist: "./dist/[[ .GOOS ]]-[[ .GOARCH ]]"
|
|
[[else]]
|
|
dist: "./dist/[[ .GOOS ]]"
|
|
[[end]]
|
|
|
|
builds:
|
|
- binary: hanzo-ingress
|
|
|
|
main: ./cmd/ingress/
|
|
env:
|
|
- CGO_ENABLED=0
|
|
ldflags:
|
|
- -s -w -X github.com/hanzoai/ingress/v3/pkg/version.Version={{.Version}} -X github.com/hanzoai/ingress/v3/pkg/version.Codename={{.Env.CODENAME}} -X github.com/hanzoai/ingress/v3/pkg/version.BuildDate={{.Date}}
|
|
flags:
|
|
- -trimpath
|
|
goos:
|
|
- "[[ .GOOS ]]"
|
|
goarch:
|
|
[[if .GOARCH]]
|
|
- "[[ .GOARCH ]]"
|
|
[[else]]
|
|
- amd64
|
|
- '386'
|
|
- arm
|
|
- arm64
|
|
- ppc64le
|
|
- s390x
|
|
- riscv64
|
|
[[end]]
|
|
goarm:
|
|
- '7'
|
|
- '6'
|
|
ignore:
|
|
- goos: darwin
|
|
goarch: '386'
|
|
- goos: openbsd
|
|
goarch: arm
|
|
- goos: openbsd
|
|
goarch: arm64
|
|
- goos: freebsd
|
|
goarch: arm
|
|
- goos: freebsd
|
|
goarch: arm64
|
|
- goos: windows
|
|
goarch: arm
|
|
|
|
changelog:
|
|
disable: true
|
|
|
|
archives:
|
|
- id: hanzo-ingress
|
|
name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
|
formats:
|
|
- tar.gz
|
|
format_overrides:
|
|
- goos: windows
|
|
formats:
|
|
- zip
|
|
files:
|
|
- LICENSE.md
|
|
- CHANGELOG.md
|
|
|
|
checksum:
|
|
name_template: "{{ .ProjectName }}_v{{ .Version }}_checksums.txt"
|
|
|
|
release:
|
|
disable: true
|