Commit Graph
16 Commits
Author SHA1 Message Date
zeekay ee53f0bd67 refactor: migrate CRD API groups to hanzo.ai and labels to ingress.*
- CRD API group: traefik.io -> hanzo.ai (GroupName, apiVersion, RBAC)
- Docker/provider label prefix: traefik.* -> ingress.* (all providers)
- CRD kind: TraefikService -> IngressService
- Directory renames: traefikio/ -> hanzoai/ (types, generated code, listers, informers, clientset)
- Config root name: traefik -> ingress (KV stores, file paths, env prefix)
- Metrics prefix: traefik_ -> ingress_
- Kubernetes annotations: traefik.ingress.kubernetes.io/ -> ingress.kubernetes.io/
- Gateway annotations: traefik.io/ -> hanzo.ai/
- Internal provider package: provider/traefik -> provider/builtins
- Type renames: TraefikLog -> IngressLog, TraefikCmdConfiguration -> IngressCmdConfiguration
- Generated client methods: TraefikV1alpha1() -> HanzoV1alpha1(), Traefik() -> Hanzo()
- Sample configs: traefik.sample.{toml,yml} -> ingress.sample.{toml,yml}
- Config paths: /etc/traefik/ -> /etc/ingress/, ~/.config/traefik -> ~/.config/ingress
- Default cert CN: TRAEFIK DEFAULT CERT -> INGRESS DEFAULT CERT
2026-02-26 10:33:54 -08:00
zeekay a10105c019 refactor: migrate module path to github.com/hanzoai/ingress/v3
Replace all internal import paths from github.com/traefik/traefik/v3
to github.com/hanzoai/ingress/v3 across 462 files. Also migrates the
dynamic/ext sub-module and updates OpenTelemetry scope names, ldflags,
goreleaser config, Dockerfile, and golangci config.

External dependencies (traefik/paerser, traefik/grpc-web, traefik/yaegi,
traefik/oxy) are preserved as-is. Comment URLs to upstream issues are
retained for historical context.
2026-02-26 10:15:19 -08:00
zeekay 31441c90ce chore: complete brand cleanup — remove upstream references
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)
2026-02-26 09:59:06 -08:00
zeekay 09fc0f06cb ci: update workflow branch triggers from master to main
Default branch was renamed from master to main. Update all 7 CI
workflow files so push triggers fire on the correct branch.

External URLs in documentation.yaml (traefik/structor, seo-doc,
mixtus) are left as-is since they reference upstream repos.
2026-02-25 20:35:59 -08:00
zeekay 9707f1a12c docs: enhance README with badges, quick start, middleware table, architecture
Add CI/Go/license/GHCR badges, container image reference table,
full quick start (Docker/K8s/binary/compose), expanded architecture
diagram, complete middleware reference (26 built-in middlewares),
production deployment details with routed domains, and links to
docs.hanzo.ai and related projects.

310 -> 417 lines. Zero upstream references.
2026-02-25 11:02:54 -08:00
zeekay de778e679a fix: use GH_PAT for GHCR push (GITHUB_TOKEN 403 on forked repo)
GITHUB_TOKEN cannot push to GHCR packages on repos forked from
traefik/traefik due to org-level package restrictions. Use the
org-wide GH_PAT secret which has write:packages scope.
2026-02-25 07:52:54 -08:00
zeekay c5c8ac361b fix: add missing ReadTimeout/WriteTimeout to ingress-nginx test expectation
TestLoadIngresses/Auth_TLS_pass_certificate_to_upstream expected
ForwardingTimeouts with only DialTimeout, but buildServersTransport
always populates ReadTimeout and WriteTimeout from provider defaults
(60s each). Add them to match actual output.
2026-02-25 07:34:08 -08:00
zeekay da27438cc3 fix: resolve GHCR 403 on experimental image push
- Add explicit permissions (packages: write) for GHCR push from forked repo
- Disable provenance/SBOM attestations that trigger 403 Forbidden on GHCR
  for repos forked from traefik/traefik
- Add missing needs: build-webui dependency to prevent artifact race
2026-02-25 07:25:55 -08:00
zeekay c38924ecb4 fix: tidy go.mod — remove unused go-github/v28, mark go-version indirect 2026-02-25 07:22:01 -08:00
zeekay 1120a11f5b fix: disable documentation workflow (requires traefik-specific tooling)
The documentation workflow depends on traefik/structor, traefik/mixtus,
traefik/seo-doc, and a GH_TOKEN_REPO secret that are not available in
hanzoai/ingress. Disable with `if: false` until a Hanzo docs pipeline
is set up.
2026-02-25 00:17:46 -08:00
zeekay 90811c3d7b fix: restore upstream Makefile targets, update experimental to push to GHCR
The rebrand replaced the Makefile with a minimal version missing all
targets that CI workflows depend on (generate, binary, validate-files,
binary-linux-amd64, test-integration, multi-arch-image-*, generate-crd).

Restores the full upstream Makefile with:
- All CI-required targets intact
- Docker image targets pointing to ghcr.io/hanzoai/ingress
- Help text updated for hanzo-ingress

Also:
- experimental.yaml: switch from Docker Hub to GHCR (github.actor + GITHUB_TOKEN)
- sync-docker-images.yaml: disable daily cron (was syncing upstream traefik images)
2026-02-25 00:10:32 -08:00
zeekay af0d5a4c5b chore: trigger CI after enabling fork workflows 2026-02-25 00:07:07 -08:00
zeekay 694037f310 fix: unblock CI workflows — replace traefik repo guards, add push triggers
All 13 workflows were active but zero runs ever executed due to:
1. Repository guards (`github.repository == 'traefik/traefik'`) on 5 workflows
   silently skipped all jobs in hanzoai/ingress
2. Core CI (build, test-unit, test-integration, validate) only triggered on
   pull_request — never on push to master
3. Scheduled workflows (codeql, sync-docker-images) disabled by GitHub on forks

Changes:
- Replace `traefik/traefik` repo guards with `hanzoai/ingress` in
  experimental, documentation, release, sync-docker-images
- Add `push: branches: [master]` triggers to build, test-unit,
  test-integration, validate so CI runs on every push
- Add workflow_dispatch to codeql for manual triggering
- Fix release workflow to publish to hanzoai/ingress instead of traefik/traefik
2026-02-25 00:06:13 -08:00
zeekay 27256d6345 docs: comprehensive README rewrite — zero upstream references 2026-02-24 23:02:53 -08:00
zeekay 59fa0caa98 feat: multi-stage Dockerfile for ghcr.io/hanzoai/ingress 2026-02-24 22:15:08 -08:00
zeekay df6028a2ed feat: rebrand as Hanzo Ingress + add K8s manifests
- Rebrand Traefik CLI/version as Hanzo Ingress
- Disable upstream version check
- Add K8s deployment, service, RBAC, IngressClass manifests
- Add Makefile (build, docker, clean targets)
- Update Dockerfile with OCI labels
2026-02-24 22:14:20 -08:00