Skip to content

refactor: consolidate dual ingress resources into unified configuration.#456

Open
pantierra wants to merge 4 commits intomainfrom
fix/ingress-empty-array
Open

refactor: consolidate dual ingress resources into unified configuration.#456
pantierra wants to merge 4 commits intomainfrom
fix/ingress-empty-array

Conversation

@pantierra
Copy link
Contributor

@pantierra pantierra commented Feb 17, 2026

Closes #449 (fixes deployments with STAC only service).

This PR consolidates the ingress configuration by merging two ingress resources into a unified configuration. They have been there to address the problem that there are services that:

  • Need path prefix stripping (raster, vector, multidim, mockOidcServer, docServer) - for routing with Traefik middleware
  • Don’t need path prefix stripping (STAC, browser) - services that handle their own path routing

Previously, this was solved with two separate ingress resources (ingress.yaml and ingress-no-prefix.yaml), which was difficult to maintain and eventually caused issues such as #449.

Therefore this PR proposes:

  • to removeingress-no-prefix.yaml and refactor ingress.yaml with shared path template
  • to consolidate all service paths into a single eoapi.ingressPaths helper template
  • to add conditional rendering logic ($hasEnabledService) to prevent creating ingress resources with empty path arrays

@pantierra pantierra force-pushed the fix/ingress-empty-array branch from 84cfa48 to fde6717 Compare February 17, 2026 17:07
@pantierra pantierra changed the title refactor: double ingress into one refactor: consolidate dual ingress resources into unified configuration. Feb 17, 2026
@pantierra pantierra force-pushed the fix/ingress-empty-array branch 2 times, most recently from 66957cf to f4d8779 Compare February 17, 2026 20:09
@spwoodcock
Copy link

This looks ideal 🙌 Thanks for addressing it so promptly!

For context, I was looking into was to host pgstac-fastapi via k8s and had previous experience with eoAPI. I reached for this chart and it made the process super simple - seems like the best way to spin up a quick STAC to me 😁

The only thing I would comment is that the ingress definition in values.yaml seemed a bit fragmented between the global ingress and individual service ingress.

It would be great to stick to one pattern or the other:

  • A global ingress key to define all the domains per service.
  • Probably better, would be removing the global ingress key if possible, making all ingress configuration per-service - a nice logical separation.

But its not a huge deal honestly, and changing this would of course introduce a breaking change, which is a bit of a pain

@pantierra pantierra force-pushed the fix/ingress-empty-array branch from 91db042 to ece3692 Compare February 19, 2026 10:43
@pantierra
Copy link
Contributor Author

pantierra commented Feb 19, 2026

Thanks, @spwoodcock for having a look!

Yes, you are right, it is worth to reflect on the global ingress configuration. It is definitively a tradeoff for operational simplicity, depending on the use case. For now I added a bit more pieces of documentation to make it clear. In the future we could consider rethinking this part, but i would prefer not to do this in this PR.

@pantierra pantierra marked this pull request as ready for review February 19, 2026 11:12
@pantierra pantierra self-assigned this Feb 19, 2026
@pantierra pantierra force-pushed the fix/ingress-empty-array branch from 6dbca7d to 87227ed Compare February 19, 2026 17:31
@pantierra pantierra force-pushed the fix/ingress-empty-array branch from 87227ed to 01274af Compare February 19, 2026 19:42
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.

Empty ingress resource created when all services in ingress.yaml are disabled

2 participants