Pinterest has introduced its Resource Provisioner Pipeline (RPP), a custom Terraform execution engine designed to manage its AWS infrastructure. This system is crucial for Pinterest's operations, as it handles numerous Terraform workspaces that control thousands of cloud resources, including IAM policies, VPCs, load balancers, S3 buckets, and Kubernetes clusters.
Pinterest's Terraform code is distributed across many repositories, each owned by a different team. Granting broad permissions to a CI/CD system in such an environment poses significant risks, including accidental misconfigurations and malicious actions. RPP was developed to secure this multi-repository setup without waiting for a full consolidation into a mono-repo, acting as a bridge to manage current infrastructure securely.
RPP activates on GitHub pull request events and runs as a central set of composite GitHub Actions. It splits a single pull request into separate plan and apply runs for each affected workspace. The execution uses a chained-role model, where a workflow first assumes a limited RPPActionsRole validated via OIDC. This role reads a configuration file that maps each workspace to its allowed repository, working directory, owning team, and execution IAM role. Before down-scoping, RPP verifies that the Terraform code path matches the specific S3 backend and KMS key for that workspace to prevent state file linking errors. After these checks, the pipeline assumes the workspace-specific team role to run `terraform fmt`, `plan`, and, after human approval on the PR, `apply`. All code changes require sign-off from an approved reviewer.
Pinterest states that this model provides a single control point for infrastructure fixes. This means systemic issues, such as a weak CI runner shell, can be addressed in one central location rather than across hundreds of individual repositories. The centralized composite actions also enable consistent PR-triggered checks, including static analysis with custom Semgrep rules, AI-assisted scanning, and optional LocalStack-based dry runs.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Pinterest developed and released the Resource Provisioner Pipeline (RPP), a custom Terraform execution engine, to manage its AWS infrastructure securely. RPP enforces least-privilege access and dual-control reviews across thousands of cloud resources, addressing security challenges in a multi-repository environment. This system enhances security and consistency for Pinterest's AWS operations by centralizing Terraform execution and applying strict guardrails to GitHub Actions workflows.