Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zero: managed mode controller #4459

Merged
merged 37 commits into from Aug 17, 2023
Merged

zero: managed mode controller #4459

merged 37 commits into from Aug 17, 2023

Conversation

wasaga
Copy link
Contributor

@wasaga wasaga commented Aug 13, 2023

Summary

This is a main managed mode controller for Zero.

If a variable POMERIUM_ZERO_TOKEN is set, Pomerium would enter managed mode.

In development, it additionally accepts

  • CONNECT_SERVER_ENDPOINT
  • CLUSTER_API_ENDPOINT (should be full cluster API URL - i.e. have /cluster/v1 suffix)

The control loop is simple:

  1. fetch bootstrap config
  2. then, run
  • connect service
  • bootstrap config updater
  • resource bundle reconciler
  • pomerium core

Related issues

User Explanation

Checklist

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

@wasaga wasaga marked this pull request as ready for review August 16, 2023 01:53
@wasaga wasaga requested a review from a team as a code owner August 16, 2023 01:53
@@ -0,0 +1,11 @@
//go:build release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: I am not a fan of using build flags in this way. As much as possible I prefer to have the same binary running locally that's run in production.

This is my personal preference and there is nothing that needs to be changed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also not a big fan of build tags.

I wanted to make sure the release binary won't be customizable using those dev env variables; what do you feel might be a cleaner way of dealing with that?

@wasaga wasaga changed the base branch from wasaga/zero-retry-bootstrap-reconciler to wasaga/zero-resource-bundles-reconciler August 16, 2023 17:15
Base automatically changed from wasaga/zero-resource-bundles-reconciler to feature/zero August 17, 2023 17:19
@wasaga wasaga merged commit d5ef01d into feature/zero Aug 17, 2023
9 checks passed
@wasaga wasaga deleted the wasaga/zero-controller branch August 17, 2023 18:22
kenjenkins pushed a commit that referenced this pull request Nov 14, 2023
kenjenkins pushed a commit that referenced this pull request Nov 15, 2023
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.

None yet

2 participants