Skip to content

Commit 84eb74b

Browse files
authored
feat: Add info for parameters in zero module definition (#70)
1 parent c164189 commit 84eb74b

File tree

1 file changed

+42
-17
lines changed

1 file changed

+42
-17
lines changed

zero-module.yml

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ requiredCredentials:
2323
parameters:
2424
- field: useExistingAwsProfile
2525
label: "Use credentials from an existing AWS profile?"
26+
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."
2627
options:
2728
"yes": "Yes"
2829
"no": "No"
@@ -36,6 +37,7 @@ parameters:
3637
matchField: useExistingAwsProfile
3738
- field: accessKeyId
3839
label: AWS AccessKeyId
40+
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 "
3941
envVarName: "AWS_ACCESS_KEY_ID"
4042
conditions:
4143
- action: KeyMatchCondition
@@ -44,66 +46,80 @@ parameters:
4446
- field: secretAccessKey
4547
envVarName: "AWS_SECRET_ACCESS_KEY"
4648
label: AWS SecretAccessKey
49+
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 "
4750
conditions:
4851
- action: KeyMatchCondition
4952
whenValue: "no"
5053
matchField: useExistingAwsProfile
5154
- field: githubAccessToken
5255
label: "Github API Key to setup your repository and optionally CI/CD"
56+
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"
5357
envVarName: GITHUB_ACCESS_TOKEN
5458
- field: region
5559
label: Select AWS Region
60+
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."
5661
options:
57-
"us-west-2": "us-west-2 (Oregon)"
58-
"us-east-1": "us-east-1 (N. Virginia)"
59-
"us-east-2": "us-east-2 (Ohio)"
62+
"us-east-1": "us-east-1 - US East (N. Virginia)"
63+
"us-east-2": "us-east-2 - US East (Ohio)"
64+
"us-west-2": "us-west-2 - US West (Oregon)"
65+
"ca-central-1": "ca-central-1 - Canada (Central)"
66+
"eu-west-1": "eu-west-1 - Europe (Ireland)"
67+
"ap-southeast-1": "ap-southeast-1 - Asia Pacific (Singapore)"
6068
- field: productionHostRoot
61-
label: Production Root Host Name (e.g. mydomain.com) - this must be the root of the chosen domain, not a subdomain.
69+
label: Production Root Host Name (e.g. mydomain.com)
70+
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."
6271
fieldValidation:
6372
type: regex
6473
value: '^([a-z0-9]+(-[a-z0-9]+)*\.{1})+[a-z]{2,}$'
6574
errorMessage: Invalid root domain name
6675
- field: productionFrontendSubdomain
6776
label: Production Frontend Host Name (e.g. app.)
77+
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
6878
default: app.
6979
fieldValidation:
7080
type: regex
7181
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
7282
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
7383
- field: productionBackendSubdomain
7484
label: Production Backend Host Name (e.g. api.)
85+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
7586
default: api.
7687
fieldValidation:
7788
type: regex
7889
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
7990
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
8091
- field: stagingHostRoot
81-
label: Staging Root Host Name (e.g. mydomain-staging.com) - this must be the root of the chosen domain, not a subdomain.
92+
label: Staging Root Host Name (e.g. mydomain-staging.com)
93+
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."
8294
fieldValidation:
8395
type: regex
8496
value: '^([a-z0-9]+(-[a-z0-9]+)*\.{1})+[a-z]{2,}$'
8597
errorMessage: Invalid root domain name
8698
- field: stagingFrontendSubdomain
8799
label: Staging Frontend Host Name (e.g. app.)
100+
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
88101
default: app.
89102
fieldValidation:
90103
type: regex
91104
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
92105
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
93106
- field: stagingBackendSubdomain
94107
label: Staging Backend Host Name (e.g. api.)
108+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
95109
default: api.
96110
fieldValidation:
97111
type: regex
98112
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
99113
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
100114
- field: database
101-
label: Database engine to use (postgres)
115+
label: Database engine to use
116+
info: "This will set up a database for you using RDS.\nIt will be accessible only by your application, credentials will be created automatically."
102117
options:
103118
"postgres": "PostgreSQL"
104119
"mysql": "MySQL"
105120
- field: cacheStore
106-
label: "Cache store to use (default: no cache)"
121+
label: "Cache store to use"
122+
info: "If necessary for your application, this will set up a cache using AWS ElastiCache."
107123
options:
108124
"none": "none"
109125
"redis": "Redis"
@@ -117,55 +133,64 @@ parameters:
117133
- field: databaseName
118134
execute: echo "$projectName"| sed "s/[- ]//g"
119135
- field: fileUploads
120-
label: Enable file uploads using S3 and Cloudfront signed URLs? (Will require manual creation of a Cloudfront keypair in AWS)
136+
label: Enable file uploads using S3 and Cloudfront signed URLs?
137+
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"
121138
default: yes
122139
options:
123140
"yes": "Yes"
124141
"no": "No"
125142
- field: userAuth
126-
label: Enable user management using Kratos and authentication using the Oathkeeper access proxy?
143+
label: Enable user management and auth access proxy?
144+
info: "This will enable infrastructure and application code that uses Kratos for user management and the Oathkeeper access proxy.\nhttps://ory.sh"
127145
default: yes
128146
options:
129147
"yes": "Yes"
130148
"no": "No"
131149
- field: CIVendor
132-
label: Using either circleCI or github Actions to build / test your repository
150+
label: Which CI vendor would you like to use?
151+
info: "Build pipelines will be set up which will deploy your code to your infrastructure whenever PRs are merged to the main branch."
133152
default: "circleci"
134153
options:
135-
"circleci": "CircleCi"
154+
"circleci": "CircleCI"
136155
"github-actions": "Github Actions"
137156
- field: circleciApiKey
138-
label: "Circle CI API Key to setup your CI/CD for repositories"
157+
label: "CircleCI API Key"
158+
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/"
139159
envVarName: CIRCLECI_API_KEY
140160
conditions:
141161
- action: KeyMatchCondition
142162
matchField: CIVendor
143163
whenValue: "circleci"
144164
- field: billingEnabled
145-
label: "Provides a subscription example using stripe in backend and frontend repository, this includes the checkout feature so you must have a verified(with bank account setup) Stripe account to use these features"
165+
label: "Enable billing support?"
166+
info: "Provides a subscription example using stripe in the backend and frontend repositories."
146167
options:
147168
"yes": "Yes"
148169
"no": "No"
149170
- field: stagingStripePublicApiKey
150-
label: "Staging Stripe public api key, used for frontend repository (Recommended: using sandbox key while setting up)"
171+
label: "Staging Stripe public api key"
172+
info: "Used for the frontend repository. It's recommended to use a sandbox key while getting set up."
151173
conditions:
152174
- action: KeyMatchCondition
153175
matchField: billingEnabled
154176
whenValue: "yes"
155177
- field: stagingStripeSecretApiKey
156-
label: "Staging Stripe secret api key, used for backend repository (Recommended: using sandbox key while setting up)"
178+
label: "Staging Stripe secret api key"
179+
info: "Used for the backend repository. It's recommended to use a sandbox key while getting set up."
157180
conditions:
158181
- action: KeyMatchCondition
159182
matchField: billingEnabled
160183
whenValue: "yes"
161184
- field: productionStripePublicApiKey
162-
label: "Production Stripe public api key, used for frontend repository (Recommended: using sandbox key while setting up)"
185+
label: "Production Stripe public api key"
186+
info: "Used for the frontend repository. It's recommended to use a sandbox key while getting set up."
163187
conditions:
164188
- action: KeyMatchCondition
165189
matchField: billingEnabled
166190
whenValue: "yes"
167191
- field: productionStripeSecretApiKey
168-
label: "Production Stripe secret api key, used for backend repository (Recommended: using sandbox key while setting up)"
192+
label: "Production Stripe secret api key"
193+
info: "Used for the backend repository. It's recommended to use a sandbox key while getting set up."
169194
conditions:
170195
- action: KeyMatchCondition
171196
matchField: billingEnabled

0 commit comments

Comments
 (0)