You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: zero-module.yml
+41-19Lines changed: 41 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ requiredCredentials:
20
20
parameters:
21
21
- field: useExistingAwsProfile
22
22
label: "Use credentials from an existing AWS profile?"
23
+
info: "You can choose either a currently existing profile if you've already configured your AWS CLI, or manually enter a pair of AWS access keys."
23
24
options:
24
25
"yes": "Yes"
25
26
"no": "No"
@@ -33,6 +34,7 @@ parameters:
33
34
matchField: useExistingAwsProfile
34
35
- field: accessKeyId
35
36
label: AWS AccessKeyId
37
+
info: "AWS access is controlled by a pair of keys tied to a user account.\nhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html "
36
38
envVarName: "AWS_ACCESS_KEY_ID"
37
39
conditions:
38
40
- action: KeyMatchCondition
@@ -41,106 +43,124 @@ parameters:
41
43
- field: secretAccessKey
42
44
envVarName: "AWS_SECRET_ACCESS_KEY"
43
45
label: AWS SecretAccessKey
46
+
info: "AWS access is controlled by a pair of keys tied to a user account.\nhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html "
44
47
conditions:
45
48
- action: KeyMatchCondition
46
49
whenValue: "no"
47
50
matchField: useExistingAwsProfile
48
51
- field: githubAccessToken
49
52
label: "Github API Key to setup your repository and optionally CI/CD"
53
+
info: "This API key will let us set up new repositories to check in your code.\nhttps://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token"
50
54
envVarName: GITHUB_ACCESS_TOKEN
51
55
- field: region
52
56
label: Select AWS Region
57
+
info: "This is the region your resources will be created in.\nMost regions have all the same features and functionality, but depending on your product you may need to choose a different region for data sovereignty reasons."
53
58
options:
54
-
"us-west-2": "us-west-2 (Oregon)"
55
-
"us-east-1": "us-east-1 (N. Virginia)"
56
-
"us-east-2": "us-east-2 (Ohio)"
59
+
"us-east-1": "us-east-1 - US East (N. Virginia)"
60
+
"us-east-2": "us-east-2 - US East (Ohio)"
61
+
"us-west-2": "us-west-2 - US West (Oregon)"
62
+
"ca-central-1": "ca-central-1 - Canada (Central)"
63
+
"eu-west-1": "eu-west-1 - Europe (Ireland)"
64
+
"ap-southeast-1": "ap-southeast-1 - Asia Pacific (Singapore)"
57
65
- field: productionHostRoot
58
-
label: Production Root Host Name (e.g. mydomain.com) - this must be the root of the chosen domain, not a subdomain.
66
+
label: Production Root Host Name (e.g. mydomain.com)
67
+
info: "This must be the root of the chosen domain, not a subdomain. You will also be prompted for the subdomains to use for your application."
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
65
75
default: app.
66
76
fieldValidation:
67
77
type: regex
68
78
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
69
79
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
70
80
- field: productionBackendSubdomain
71
81
label: Production Backend Host Name (e.g. api.)
82
+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
72
83
default: api.
73
84
fieldValidation:
74
85
type: regex
75
86
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
76
87
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
77
88
- field: stagingHostRoot
78
-
label: Staging Root Host Name (e.g. mydomain-staging.com) - this must be the root of the chosen domain, not a subdomain.
89
+
label: Staging Root Host Name (e.g. mydomain-staging.com)
90
+
info: "This must be the root of the chosen domain, not a subdomain. You will also be prompted for the subdomains to use for your application.\nIt's recommended that you use different hostnames for staging and production instead of trying to have staging as a subdomain of your production domain."
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
85
98
default: app.
86
99
fieldValidation:
87
100
type: regex
88
101
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
89
102
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
90
103
- field: stagingBackendSubdomain
91
104
label: Staging Backend Host Name (e.g. api.)
105
+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
92
106
default: api.
93
107
fieldValidation:
94
108
type: regex
95
109
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
96
110
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
97
111
- field: CIVendor
98
-
label: Using either circleCI or github Actions to build / test your repository
112
+
label: Which CI vendor would you like to use?
113
+
info: "Build pipelines will be set up which will deploy your code to your infrastructure whenever PRs are merged to the main branch."
99
114
default: "circleci"
100
115
options:
101
-
"circleci": "CircleCi"
116
+
"circleci": "CircleCI"
102
117
"github-actions": "Github Actions"
103
118
- field: circleciApiKey
104
-
label: "Circle CI API Key to setup your CI/CD for repositories"
119
+
label: "CircleCI API Key"
120
+
info: "This will let us configure your CircleCI account to automatically enable CI for these newly created projects.\nhttps://circleci.com/docs/2.0/managing-api-tokens/"
105
121
envVarName: CIRCLECI_API_KEY
106
122
conditions:
107
123
- action: KeyMatchCondition
108
124
matchField: CIVendor
109
125
whenValue: "circleci"
110
126
- field: database
111
-
label: Database engine to use (postgres)
127
+
label: Database engine to use
128
+
info: "This will set up a database for you using RDS.\nIt will be accessible only by your application, credentials will be created automatically."
112
129
options:
113
130
"postgres": "PostgreSQL"
114
131
"mysql": "MySQL"
115
132
- field: cacheStore
116
-
label: "Cache store to use (default: no cache)"
133
+
label: "Cache store to use"
134
+
info: "If necessary for your application, this will set up a cache using AWS ElastiCache."
117
135
options:
118
136
"none": "none"
119
137
"redis": "Redis"
120
138
"memcached": "Memcached"
121
139
- field: loggingType
122
-
label: Application logging to configure. Cloudwatch is cheaper with a more limited feature set. Elasticsearch + Kibana will set up more infrastructure but enable a much richer logging search and visualization experience.
140
+
label: Which application logging to configure.
141
+
info: "Cloudwatch is usually cheaper and simpler but with a limited feature set.\nElasticsearch + Kibana will set up more infrastructure but enable a much richer logging search and visualization experience."
123
142
options:
124
143
"cloudwatch": "AWS CloudWatch"
125
144
"kibana": "Kibana"
126
145
- field: metricsType
127
-
label: Additional application metrics method to configure. Metrics are available through CloudWatch, but choosing prometheus will install Prometheus and Grafana, for a richer metrics experience. No additional infrastructure is required, but a number of prometheus pods will need to exist in the cluster, utilizing some resources.
146
+
label: Additional application metrics method to configure.
147
+
info: "Metrics are available through CloudWatch, but choosing prometheus will install Prometheus and Grafana, for a richer metrics experience.\nNo additional infrastructure is required, but a number of prometheus pods will need to exist in the cluster, utilizing some resources."
128
148
options:
129
149
"none": "none"
130
150
"prometheus": "Prometheus"
131
151
- field: notificationServiceEnabled
132
152
label: "Install the Zero Notification Service in your cluster?"
133
-
info: Provides easy notification capability through email, slack, etc. - https://github.com/commitdev/zero-notification-service
153
+
info: "Provides easy notification capability through email, slack, SMS, etc.\nhttps://github.com/commitdev/zero-notification-service"
134
154
default: yes
135
155
options:
136
156
"yes": "Yes"
137
157
"no": "No"
138
158
- field: sendgridApiKey
139
159
label: "API key to setup email integration (optional: leave blank to opt-out of Sendgrid setup)"
140
-
info: Signup at https://signup.sendgrid.com or create an API key at https://app.sendgrid.com/settings/api_keys - Sendgrid is an email delivery service enabling transactional email sending and more.
160
+
info: "Signup at https://signup.sendgrid.com or create an API key at https://app.sendgrid.com/settings/api_keys\nSendgrid is an email delivery service enabling transactional email sending and more."
141
161
- field: notificationServiceSlackApiKey
142
-
label: "API key of your Slack bot if you want to use Slack with the Zero Notification Service. Leave blank if not applicable."
143
-
info: See https://slack.com/intl/en-ca/help/articles/215770388-Create-and-regenerate-API-tokens
162
+
label: "API key of your Slack bot if you want to use Slack with the Zero Notification Service."
163
+
info: "Leave blank if you don't intend to use the Slack functionality.\nSee https://slack.com/intl/en-ca/help/articles/215770388-Create-and-regenerate-API-tokens"
144
164
conditions:
145
165
- action: KeyMatchCondition
146
166
whenValue: "yes"
@@ -152,17 +172,19 @@ parameters:
152
172
label: Random seed that will be shared between projects to come up with deterministic resource names
153
173
execute: uuidgen | head -c 8
154
174
- field: fileUploads
155
-
label: Enable file uploads using S3 and Cloudfront signed URLs? (Will require manual creation of a Cloudfront keypair in AWS)
175
+
label: Enable file uploads using S3 and Cloudfront signed URLs?
176
+
info: "This will allow secure file uploads and downloads through your application.\nIt will require manual creation of a Cloudfront keypair in AWS. See https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html"
156
177
default: yes
157
178
options:
158
179
"yes": "Yes"
159
180
"no": "No"
160
181
- field: userAuth
161
-
label: Enable user management using Kratos and authentication using the Oathkeeper access proxy?
182
+
label: Enable user management and auth access proxy?
183
+
info: "This will enable infrastructure and application code that uses Kratos for user management and the Oathkeeper access proxy.\nhttps://ory.sh"
162
184
default: yes
163
185
options:
164
186
"yes": "Yes"
165
187
"no": "No"
166
188
- field: sharedResourcePrefix
167
189
label: "Mostly for development - Allow shared resources to have a unique prefix. This is only necessary if many zero projects will be run in the same AWS account."
0 commit comments