22
33These commands are generated by [ cpflow] ( https://github.com/shakacode/control-plane-flow ) .
44For full setup, version-pinning, and troubleshooting details, see the upstream
5- [ CI automation guide] ( https://github.com/shakacode/control-plane-flow/blob/9ef104c246670d6c1ea4132dfd22be68ef930a70 /docs/ci-automation.md ) .
5+ [ CI automation guide] ( https://github.com/shakacode/control-plane-flow/blob/01dd1d231ce3d8849bcb7ed36b9fd9d184eb3350 /docs/ci-automation.md ) .
66
77## Pull Request Commands
88
@@ -23,11 +23,23 @@ For the normal generated review-app path, GitHub needs one repository secret:
2323| --- | --- | --- |
2424| ` CPLN_TOKEN_STAGING ` | Repository secret | Control Plane service-account token for the staging/review org. |
2525
26+ For public repositories, use a staging/review token that cannot access
27+ production Control Plane resources. Generated review-app deploys skip fork PR
28+ heads because Docker builds use repository secrets. If a forked change needs a
29+ review app, first move the reviewed change to a trusted branch in this
30+ repository.
31+
2632No repository variables are required for the standard review-app path when
2733` .controlplane/controlplane.yml ` has exactly one review app entry with
2834` match_if_app_name_starts_with: true ` . cpflow infers the review-app prefix and
2935staging org from that config.
3036
37+ Review apps run pull request code. Any value mounted through
38+ ` cpln://secret/... ` can be read by that code after the workload starts, so keep
39+ review-app secret dictionaries limited to disposable databases, review-only
40+ renderer credentials, and license values that are acceptable for review-app
41+ exposure.
42+
3143Optional overrides exist for forks, clones, and unusual apps:
3244
3345| Name | Notes |
@@ -100,11 +112,12 @@ production org, using production-only secrets and values.
100112
101113Generated wrappers normally pin Control Plane Flow with a release tag, for
102114example ` v5.1.0 ` . This branch temporarily pins the wrappers to upstream commit
103- ` 9ef104c246670d6c1ea4132dfd22be68ef930a70 ` while testing unreleased production
104- promotion hardening. Reusable review-app, staging, cleanup, and helper workflows
105- pin that ref in their ` uses: ` entry. Production promotion pins the same ref in
106- the ` Checkout control-plane-flow actions ` step so the caller-owned job can keep
107- ` environment: production ` and receive production environment secrets directly.
115+ ` 01dd1d231ce3d8849bcb7ed36b9fd9d184eb3350 ` while testing merged-but-unreleased
116+ production promotion hardening. Reusable review-app, staging, cleanup, and
117+ helper workflows pin that ref in their ` uses: ` entry. Production promotion pins
118+ the same ref in the ` Checkout control-plane-flow actions ` step so the
119+ caller-owned job can keep ` environment: production ` and receive production
120+ environment secrets directly.
108121
109122Leave ` CPFLOW_VERSION ` unset so the workflow builds cpflow from the same
110123checked-out upstream source. If you set ` CPFLOW_VERSION ` , it must match the
@@ -143,7 +156,7 @@ Most apps do not need these:
143156| Name | Notes |
144157| --- | --- |
145158| ` DOCKER_BUILD_EXTRA_ARGS ` | Newline-delimited extra Docker build tokens. |
146- | ` DOCKER_BUILD_SSH_KEY ` | Private SSH key for Docker builds that fetch private dependencies. |
159+ | ` DOCKER_BUILD_SSH_KEY ` | Read-only, revocable deploy key for Docker builds that fetch private dependencies. Do not use a personal SSH key . |
147160| ` DOCKER_BUILD_SSH_KNOWN_HOSTS ` | SSH known_hosts entries when SSH build hosts are not GitHub.com. |
148161| ` REVIEW_APP_DEPLOYING_ICON_URL ` | Cosmetic custom image URL for the animated deploying icon. Set to ` none ` to use the text fallback icon. |
149162| ` STAGING_APP_BRANCH ` | Custom staging branch. The branch must also appear in ` cpflow-deploy-staging.yml ` 's push filter. |
0 commit comments