Skip to content

sync: support all-in-one mode + API sync#1449

Open
kenjenkins wants to merge 1 commit into
mainfrom
kenjenkins/sync-all-in-one
Open

sync: support all-in-one mode + API sync#1449
kenjenkins wants to merge 1 commit into
mainfrom
kenjenkins/sync-all-in-one

Conversation

@kenjenkins

@kenjenkins kenjenkins commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

When syncing to Pomerium Enterprise, there is a chicken-and-egg problem: Enterprise relies on Pomerium Core to authenticate all incoming API requests. But the Pomerium route to Enterprise is itself defined using an Ingress, so we can't communicate with the API at all before this route exists. We can't use the API to create the route to the API.

Instead, let's expand the scope of the "bootstrap" configuration that gets passed directly from ingress-controller to Core via the in-memory ConfigSource. When in the API sync mode, include any Ingress-defined routes that match the configured API sync URL.

Related issues

https://linear.app/pomerium/issue/ENG-3854/bootstrap-deadlock-api-reconciler-mode-cannot-reach-console-when

AI disclosure

Claude Code drafted unit tests for the bootstrapIngressManager type. I reviewed and simplified these test cases.

Checklist

  • reference any related issues
  • updated docs
  • updated unit tests
  • updated UPGRADING.md
  • add appropriate tag (improvement / bug / etc)
  • ready for review

When syncing to Pomerium Enterprise, there is a chicken-and-egg problem:
Enterprise relies on Pomerium Core to authenticate all incoming API
requests. But the route to Enterprise itself is defined using an
Ingress, so we can't communicate with the API at all before the route
exists.

Instead, let's expand the scope of the "bootstrap" configuration that
gets passed directly from ingress-controller to Core via the in-memory
ConfigSource. When in the API sync mode, include any Ingress-defined
routes that match the configured API sync URL.

Also include additional settings that can't be applied via the
Enterprise API.
@kenjenkins kenjenkins force-pushed the kenjenkins/sync-all-in-one branch from f06a9a1 to 5173810 Compare June 19, 2026 00:13
@kenjenkins kenjenkins marked this pull request as ready for review June 19, 2026 00:17
@kenjenkins kenjenkins requested a review from a team as a code owner June 19, 2026 00:17
@kenjenkins kenjenkins requested review from wasaga and removed request for a team June 19, 2026 00:17
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