Skip to content

Promote Google user-revocation sync to global (production)#286

Merged
akuzminsky merged 1 commit into
mainfrom
promote-google-revocation-global
Jul 21, 2026
Merged

Promote Google user-revocation sync to global (production)#286
akuzminsky merged 1 commit into
mainfrom
promote-google-revocation-global

Conversation

@akuzminsky

Copy link
Copy Markdown
Member

Final promotion of the OpenVPN certificate-revocation feature: sandbox → global, completing the development → sandbox → global path (cf. #284 dev, #285 sandbox, #278#279#281 precedent).

What

Copies both feature files verbatim from environments/development into the top-level modules/ — which serves every environment, i.e. production — and adds the same fact-gated include to the global openvpn_server.pp:

  • modules/profile/manifests/openvpn_server/google_revocation_sync.pp
  • modules/profile/templates/openvpn_server/google-user-sync.sh.erb
  • modules/profile/manifests/openvpn_server.pp (gated include)

The global openvpn_server.pp differed from development's only by this block, so all three files are byte-identical to development.

Safe to land — inert until activated

Declared only where the openvpn.google_directory_revocation fact is true, which terraform-aws-openvpn >= 7.0.0 sets only when enable_google_directory_revocation = true. On every existing node the fact is absent → the class isn't declared → no script, no cron, no behavior change. Activation stays a deliberate, per-consumer terraform switch.

Validated on a live sandbox OpenVPN node running the promoted code (build316): the catalog compiled in the sandbox environment and no openvpn_google_user_sync cron was installed while the fact was absent — the dormant/gated path confirmed on real hardware.

Runtime dependencies Terraform can't observe are gated inside the wrapper: toolkit >= 2.61.0 providing ih-openvpn sync-google-users (released), and Google Workspace domain-wide delegation.

Verified

puppet-lint --fail-on-warnings clean on all four module paths.

Rollout note

Merging this makes the feature available everywhere but active nowhere. To turn it on for a given OpenVPN deployment: set enable_google_directory_revocation = true in that consumer's terraform-aws-openvpn (>= 7.0.0), which sets the fact, ships the WIF files, and activates the sync on the next puppet run — provided the instances run toolkit >= 2.61.0.

🤖 Generated with Claude Code

Final promotion of the OpenVPN certificate-revocation feature: development ->
sandbox -> global, completing the development -> sandbox -> global path (cf.
#284, #285). Copies the two files verbatim from environments/development into the
top-level modules/ (which serves every environment, i.e. production) and adds the
same fact-gated include to the global openvpn_server.pp.

Inert until activated: the class is declared only where the
openvpn.google_directory_revocation fact is true, which terraform-aws-openvpn
(>= 7.0.0) sets only when enable_google_directory_revocation = true. On every
existing node the fact is absent, so this installs no script and no cron and
changes nothing until the feature is deliberately switched on per consumer.
Validated on a live sandbox OpenVPN node running the promoted code: catalog
compiled and no sync cron was installed while the fact was absent. Runtime
dependencies Terraform cannot see (toolkit >= 2.61.0 for `ih-openvpn
sync-google-users`, Google Workspace domain-wide delegation) are gated inside
the wrapper.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@akuzminsky
akuzminsky merged commit c3b4c3c into main Jul 21, 2026
2 checks passed
@akuzminsky
akuzminsky deleted the promote-google-revocation-global branch July 21, 2026 19:12
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