SYSTEM Cited by 1 source
Poptart Bootstrap (Slack)¶
What it is¶
Poptart Bootstrap is Slack's internal cloud-init-phase tool baked into all Slack base AMIs. It runs at instance boot time via cloud-init, before the node joins the fleet, and is responsible for the one-time per-instance setup that the persistent Chef run cannot do (because the chef-client hasn't been invoked yet).
Core responsibilities¶
- Create the Chef node object. Register the new node with
the appropriate Chef server so subsequent
chef-clientruns have a record to converge against. - Set up DNS entries. Create any hostname / reverse-DNS / service-discovery records required before the node can serve traffic.
- Post a boot-status message to Slack. Customisable per-team-channel notification: "posting a success or failure message to Slack (with customisable channels based on the team that owns the node)." First-party failure signal.
- (Phase-2, 2025-10-23) — Assign the node's Chef
environment based on its AZ ID. Phase 2 of Slack's Chef
deploy-safety work split the single
prodenvironment into six AZ-bucketed environments (prod-1…prod-6); Poptart Bootstrap is the component that maps AZ → environment at boot, so the node is pinned to its AZ's environment from day zero. See concepts/az-bucketed-environment-split.
Why the AZ-mapping happens at boot, not later¶
The load-bearing decision in phase 2 is that new instances must be mapped to an AZ-bucketed environment immediately, before their first Chef run. If mapping happened lazily (e.g., on first chef-client run), the new instance would still pull from the shared environment in the meantime — exactly the scale-out-picks-up-bad-config failure mode phase 2 was designed to prevent.
Verbatim (Source: sources/2025-10-23-slack-advancing-our-chef-infrastructure-safety-without-disruption):
"To support the environment split, we extended
Poptart Bootstrapto include logic that inspects the node's AZ ID and assigns it to one of the numbered production Chef environments."
Placing the mapping at boot time (before any Chef run) makes the AZ-bucketed boundary structural rather than behavioral.
Caveats¶
- Stub-level. Poptart Bootstrap's full mechanism — how it creates the Chef node object, how DNS is set up, which Slack-notification mechanism is used — is not disclosed.
- AZ mapping strategy undocumented. Whether it's a hash of AZ ID, round-robin, or explicit per-AZ pinning is not stated.
- Name etymology unclear. "Poptart" is a common playful-naming tradition for cloud-init-phase tools; the post does not explain the origin.
Seen in¶
- sources/2025-10-23-slack-advancing-our-chef-infrastructure-safety-without-disruption — Poptart Bootstrap extended with AZ-to-environment mapping as the boot-path substrate for phase 2.