Skip to content

Migrate public service routing to Envoy Gateway - #43

Merged
prayujt merged 2 commits into
mainfrom
feat/envoy-gateway
Sep 6, 2026
Merged

prayujt merged 2 commits into
mainfrom
feat/envoy-gateway

Conversation

@prayujt

@prayujt prayujt commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Public HTTP deployments currently create NGINX Ingress objects. This migrates deployment and cleanup to Envoy Gateway HTTPRoute/GRPCRoute resources, preserving custom domains, stored preview hostnames, and the existing API/configuration fields.

  • Configure routing explicitly with Nimbus-owned envoy.nimbus.dev/* annotations. Supported NGINX keys remain deprecated aliases; conflicting settings and unknown Envoy keys are rejected.
  • Support gRPC h2c backends, separate connection/request/stream timeouts, exact protobuf service/method matching, and opt-in retry counts/triggers/per-attempt timeouts. Backend TLS and multiple rule sets are not exposed by this interface.
  • Reconcile per-service TLS, redirects, policies, and owned listeners without replacing other applications' Gateway listeners. Preserve combined auth/CORS and add an isolated helper for external-auth redirects and SPA fallback.
  • Gate legacy ingress retirement on route/policy acceptance, certificates, and helper readiness. Preserve existing certificate private-key settings and retain cleanup records on errors.
  • Document server prerequisites and the supported settings; add Go tests and pinned Envoy schema/xDS validation in CI.

Validation: Go 1.25.1 race tests and vet passed. Generated HTTP, gRPC, SPA, auth, and CORS resources passed strict schema validation and offline Envoy 1.9.1 translation, including gRPC method matching and retries. Live browser sessions and deployments have not been exercised with this Nimbus version.

Nothing has been deployed. Rollout requires the configured Envoy Gateway/cert-manager integration and, for auth or SPA services, a digest-pinned image built from this Nimbus version in NIMBUS_ROUTE_HELPER_IMAGE. Existing services migrate when redeployed; there is no startup-wide migration or transactional rollback. The README documents the shared Gateway's listener limit and deployment timeout considerations.

@prayujt
prayujt merged commit 4618b12 into main Sep 6, 2026
1 check passed
@prayujt
prayujt deleted the feat/envoy-gateway branch September 6, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant