-
Notifications
You must be signed in to change notification settings - Fork 384
/
Copy pathcontrolplane.yml
75 lines (63 loc) · 2.88 KB
/
controlplane.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Configuration for `cpflow` commands.
# Keys beginning with "cpln_" correspond to your settings in Control Plane.
# Global settings that apply to `cpflow` usage.
# You can opt out of allowing the use of CPLN_ORG and CPLN_APP env vars
# to avoid any accidents with the wrong org / app.
allow_org_override_by_env: true
allow_app_override_by_env: true
aliases:
common: &common
# Org for staging and QA apps is typically set as an alias, shared by all apps, except for production apps.
# Production apps will use a different org than staging for security.
# Change this value to your org name
# or set ENV CPLN_ORG to your org name as that will override whatever is used here for all cpflow commands
cpln_org: shakacode-open-source-examples-staging
# Example apps use only location. CPLN offers the ability to use multiple locations.
default_location: aws-us-east-2
# Configure the workload name used as a template for one-off scripts, like a Heroku one-off dyno.
one_off_workload: rails
# Like the entries in the Heroku Procfile that get deployed when the application code changes
# and the application image updates.
app_workloads:
- rails
- daily-task
# Additional workloads that are not affected by deploy-image and promote-app-from-upstream
# These workloads apply to the ps commands
additional_workloads:
- redis
- postgres
# Configure the workload name used when maintenance mode is on (defaults to "maintenance").
maintenance_workload: maintenance
# Configure the script to run when releasing an app., either with deploy-image or promote-app-from-upstream
release_script: release_script.sh
apps:
react-webpack-rails-tutorial-production:
# Simulate Production Version
<<: *common
# Don't allow overriding the org and app by ENV vars b/c production is sensitive!
allow_org_override_by_env: false
allow_app_override_by_env: false
# Use a different organization for production.
cpln_org: shakacode-open-source-examples-production
upstream: react-webpack-rails-tutorial-staging
react-webpack-rails-tutorial-staging:
<<: *common
# QA Apps are like Heroku review apps, but the use `prefix` so you can run a commmand like
# this to create a QA app for the tutorial app.
# `cpflow setup gvc postgres redis rails -a qa-react-webpack-rails-tutorial-pr-1234`
qa-react-webpack-rails-tutorial:
<<: *common
# Order matters!
setup_app_templates:
# GVC template contains the identity
- app
# Resources
- postgres
- redis
# Workloads, like Dynos types on Heroku
- daily-task
- rails
# match_if_app_name_starts_with is used to identify these "qa" apps.
match_if_app_name_starts_with: true
image_retention_days: 5
stale_app_image_deployed_days: 5 # If the app is older than 5 days, the nightly automations will clean stale apps.