Skip to content

sync: do not clobber bootstrap settings#1447

Merged
kenjenkins merged 1 commit into
mainfrom
kenjenkins/sync-api-all-in-one
Jun 18, 2026
Merged

sync: do not clobber bootstrap settings#1447
kenjenkins merged 1 commit into
mainfrom
kenjenkins/sync-api-all-in-one

Conversation

@kenjenkins

Copy link
Copy Markdown
Contributor

Summary

In the all-in-one mode, certain bootstrap settings are passed to Pomerium Core using an in-memory ConfigSource. Currently the APIReconciler is unaware of these bootstrap settings, and when it syncs a settings entity via the API it will fill in the Core defaults.

This is a problem for the address setting, which is set to :8443 for all-in-one mode, and is different from the Core default of :443. If the bootstrap setting is overridden, Pomerium Core won't be listening on the correct port and the pomerium-proxy Service in the kustomize configuration won't work correctly.

Instead, let's add a parameter to NewAPIReconciler() to make these bootstrap settings available to the API sync logic. The sync logic will apply all of the Pomerium CRD settings on top of these base settings.

The standalone mode can continue to use the Core defaults as before.

Related issues

https://linear.app/pomerium/issue/ENG-4148/ingress-controller-intermittent-connection-refused-errors-in-api-sync

Checklist

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

In the all-in-one mode, certain bootstrap settings are passed to
Pomerium Core using an in-memory ConfigSource. Currently the
APIReconciler is unaware of these bootstrap settings, and when it syncs
a settings entity via the API it will fill in the Core defaults.

This is a problem for the 'address' setting, which is set to :8443 for
all-in-one mode, and is different from the Core default of :443. If the
bootstrap setting is overridden, Pomerium Core won't be listening on the
correct port and the pomerium-proxy Service in the kustomize
configuration won't work correctly.

Instead, let's add a parameter to NewAPIReconciler() to make these
bootstrap settings available to the API sync logic. The sync logic will
apply all of the Pomerium CRD settings on top of these base settings.

The standalone mode can continue to use the Core defaults as before.
@kenjenkins kenjenkins requested a review from a team as a code owner June 18, 2026 02:15
@kenjenkins kenjenkins requested review from wasaga and removed request for a team June 18, 2026 02:15
@kenjenkins kenjenkins merged commit 0d5a91c into main Jun 18, 2026
8 checks passed
@kenjenkins kenjenkins deleted the kenjenkins/sync-api-all-in-one branch June 18, 2026 16:46
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.

2 participants