@@ -57,6 +57,21 @@ The matching Control Plane resources are:
5757| Staging app | ` react-webpack-rails-tutorial-staging ` |
5858| Staging app secret dictionary | ` react-webpack-rails-tutorial-staging-secrets ` |
5959
60+ Bootstrap the persistent staging app once before the first merge-to-master
61+ deploy:
62+
63+ ``` sh
64+ cpflow setup-app -a react-webpack-rails-tutorial-staging --org shakacode-open-source-examples-staging --skip-post-creation-hook
65+ ```
66+
67+ ` setup-app ` reads ` setup_app_templates ` from ` .controlplane/controlplane.yml `
68+ and creates the app identity, app secret dictionary, app secret policy, policy
69+ binding, and template resources. Use ` --skip-post-creation-hook ` so first-time
70+ bootstrap does not try to run database setup before a Docker image exists. For
71+ later template updates on an existing persistent app, use
72+ ` cpflow apply-template ` and make sure the app identity still has ` reveal `
73+ permission on the app secret policy.
74+
6075### Production Promotion
6176
6277Production promotion is part of the default demo flow, but the production token
@@ -81,6 +96,9 @@ The matching Control Plane resources are:
8196| Production app | ` react-webpack-rails-tutorial-production ` |
8297| Production app secret dictionary | ` react-webpack-rails-tutorial-production-secrets ` |
8398
99+ Bootstrap production the same way before the first promotion, using the
100+ production org and production-only secret values.
101+
84102All review, staging, and production secret dictionaries need these app runtime
85103secrets:
86104
0 commit comments