Skip to content

Onboard arm64 build/enterprise roles (scaffolding; secrets empty)#44

Merged
rcurranmoz merged 1 commit into
mainfrom
onboard-arm64-build-roles
Jul 15, 2026
Merged

Onboard arm64 build/enterprise roles (scaffolding; secrets empty)#44
rcurranmoz merged 1 commit into
mainfrom
onboard-arm64-build-roles

Conversation

@rcurranmoz

Copy link
Copy Markdown
Collaborator

Extends the zero-touch vault path to the Apple Silicon build pools (M2), matching the already-live M4 test family. Puts everything in place except the secret values (populated out-of-band later) and the SimpleMDM profiles.

Roles: gecko_1_b_osx_arm64, gecko_3_b_osx_arm64, enterprise_1_b_osx_arm64, enterprise_3_b_osx_arm64.

In this PR / already applied:

  • terraform/variables.tf — 4 roles added to puppet_roles → 4 empty vault-<role> Secret Manager containers + per-secret broker IAM bindings (applied via targeted terraform apply; verified 0 versions each).
  • scripts/bootstrap-step-ca.sh — 4 SCEP provisioners codified (roles stamped into the SPIFFE template) so a CA rebuild reproduces them.

Remaining go-live steps (not here, by design):

  • Populate vault-<role> values from 1Password when ready.
  • Add the 4 provisioners to the live CA (re-run the idempotent bootstrap-step-ca.sh, or step ca provisioner add) — causes a brief step-ca restart, so operator-timed.
  • Create the SimpleMDM Dev - SCEP - <role> profiles per device group.
  • L3 (gecko_3_b / enterprise_3_b) are release-trusted: per-role SCEP challenges recommended before live secrets; the L3 Chain-of-Trust signing key remains a deliberate manual, out-of-band step (kept out of the broker path — see SECURITY.md).

🤖 Generated with Claude Code

…lly empty)

Extend the zero-touch vault path to the Apple Silicon build pools (M2), matching
the M4 test family. Adds the four roles to the Secret Manager container list and
the codified SCEP provisioner table:

  gecko_1_b_osx_arm64, gecko_3_b_osx_arm64,
  enterprise_1_b_osx_arm64, enterprise_3_b_osx_arm64

- terraform: 4 empty vault-<role> containers + per-secret broker IAM bindings
  (applied; 0 secret versions by design — values populated later, out of band).
- bootstrap-step-ca.sh: 4 SCEP provisioners codified so a CA rebuild reproduces them.

Deliberately NOT included (go-live steps, tracked separately):
- Secret *values* (operator populates from 1P when ready).
- Live `step ca provisioner add` for the four (operator runs the idempotent
  bootstrap-step-ca.sh, or adds them directly — causes a brief step-ca restart).
- SimpleMDM "Dev - SCEP - <role>" profiles per device group.
- L3 (gecko_3_b / enterprise_3_b) are release-trusted: per-role SCEP challenges
  recommended before their secrets are populated; and the Level-3 Chain-of-Trust
  signing key stays a manual, out-of-band step (NOT in the broker path) — see SECURITY.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rcurranmoz
rcurranmoz merged commit 3215be2 into main Jul 15, 2026
3 checks passed
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