Skip to content

Commit d391168

Browse files
authored
feat: Add info for parameters in zero module definition (#30)
1 parent 72ee191 commit d391168

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
@@ -24,6 +24,7 @@ requiredCredentials:
2424
parameters:
2525
- field: useExistingAwsProfile
2626
label: "Use credentials from an existing AWS profile?"
27+
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."
2728
options:
2829
"yes": "Yes"
2930
"no": "No"
@@ -37,6 +38,7 @@ parameters:
3738
matchField: useExistingAwsProfile
3839
- field: accessKeyId
3940
label: AWS AccessKeyId
41+
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 "
4042
envVarName: "AWS_ACCESS_KEY_ID"
4143
conditions:
4244
- action: KeyMatchCondition
@@ -45,61 +47,74 @@ parameters:
4547
- field: secretAccessKey
4648
envVarName: "AWS_SECRET_ACCESS_KEY"
4749
label: AWS SecretAccessKey
50+
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 "
4851
conditions:
4952
- action: KeyMatchCondition
5053
whenValue: "no"
5154
matchField: useExistingAwsProfile
5255
- field: githubAccessToken
5356
label: "Github API Key to setup your repository and optionally CI/CD"
57+
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"
5458
envVarName: GITHUB_ACCESS_TOKEN
5559
- field: region
5660
label: Select AWS Region
61+
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."
5762
options:
58-
"us-west-2": "us-west-2 (Oregon)"
59-
"us-east-1": "us-east-1 (N. Virginia)"
60-
"us-east-2": "us-east-2 (Ohio)"
63+
"us-east-1": "us-east-1 - US East (N. Virginia)"
64+
"us-east-2": "us-east-2 - US East (Ohio)"
65+
"us-west-2": "us-west-2 - US West (Oregon)"
66+
"ca-central-1": "ca-central-1 - Canada (Central)"
67+
"eu-west-1": "eu-west-1 - Europe (Ireland)"
68+
"ap-southeast-1": "ap-southeast-1 - Asia Pacific (Singapore)"
6169
- field: productionHostRoot
62-
label: Production Root Host Name (e.g. mydomain.com) - this must be the root of the chosen domain, not a subdomain.
70+
label: Production Root Host Name (e.g. mydomain.com)
71+
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."
6372
fieldValidation:
6473
type: regex
6574
value: '^([a-z0-9]+(-[a-z0-9]+)*\.{1})+[a-z]{2,}$'
6675
errorMessage: Invalid root domain name
6776
- field: productionFrontendSubdomain
6877
label: Production Frontend Host Name (e.g. app.)
78+
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
6979
default: app.
7080
fieldValidation:
7181
type: regex
7282
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
7383
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
7484
- field: productionBackendSubdomain
7585
label: Production Backend Host Name (e.g. api.)
86+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
7687
default: api.
7788
fieldValidation:
7889
type: regex
7990
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
8091
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
8192
- field: stagingHostRoot
82-
label: Staging Root Host Name (e.g. mydomain-staging.com) - this must be the root of the chosen domain, not a subdomain.
93+
label: Staging Root Host Name (e.g. mydomain-staging.com)
94+
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."
8395
fieldValidation:
8496
type: regex
8597
value: '^([a-z0-9]+(-[a-z0-9]+)*\.{1})+[a-z]{2,}$'
8698
errorMessage: Invalid root domain name
8799
- field: stagingFrontendSubdomain
88100
label: Staging Frontend Host Name (e.g. app.)
101+
info: "The subdomain that will point to the static assets of your frontend hosted in Cloudfront."
89102
default: app.
90103
fieldValidation:
91104
type: regex
92105
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
93106
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
94107
- field: stagingBackendSubdomain
95108
label: Staging Backend Host Name (e.g. api.)
109+
info: "The subdomain that will point to the API of your backend running in Kubernetes."
96110
default: api.
97111
fieldValidation:
98112
type: regex
99113
value: '^([a-z0-9]+(-[a-z0-9]+)*\.)$'
100114
errorMessage: Invalid subdomain (cannot contain special chars & must end with a '.')
101115
- field: database
102-
label: Database engine to use (postgres)
116+
label: Database engine to use
117+
info: "This will set up a database for you using RDS.\nIt will be accessible only by your application, credentials will be created automatically."
103118
options:
104119
"postgres": "PostgreSQL"
105120
"mysql": "MySQL"
@@ -112,61 +127,71 @@ parameters:
112127
- field: databaseName
113128
execute: echo "$projectName"| sed "s/[- ]//g"
114129
- field: fileUploads
115-
label: Enable file uploads using S3 and Cloudfront signed URLs? (Will require manual creation of a Cloudfront keypair in AWS)
130+
label: Enable file uploads using S3 and Cloudfront signed URLs?
131+
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"
116132
default: yes
117133
options:
118134
"yes": "Yes"
119135
"no": "No"
120136
- field: userAuth
121-
label: Enable user management using Kratos and authentication using the Oathkeeper access proxy?
137+
label: Enable user management and auth access proxy?
138+
info: "This will enable infrastructure and application code that uses Kratos for user management and the Oathkeeper access proxy.\nhttps://ory.sh"
122139
default: yes
123140
options:
124141
"yes": "Yes"
125142
"no": "No"
126143
- field: apiType
127-
label: What type of API do you want to expose?
144+
label: Which type of API do you want to expose?
145+
info: "REST is the most popular way of making HTTP APIs.\nGraphQL is newer but has some benefits when dealing with certain data types. https://www.graphql.com/"
128146
default: rest
129147
options:
130148
"rest": "REST API"
131149
"graphql": "GraphQL"
132150
- field: CIVendor
133-
label: Using either circleCI or github Actions to build / test your repository
151+
label: Which CI vendor would you like to use?
152+
info: "Build pipelines will be set up which will deploy your code to your infrastructure whenever PRs are merged to the main branch."
134153
default: "circleci"
135154
options:
136-
"circleci": "CircleCi"
155+
"circleci": "CircleCI"
137156
"github-actions": "Github Actions"
138157
- field: circleciApiKey
139-
label: "Circle CI API Key to setup your CI/CD for repositories"
158+
label: "CircleCI API Key"
159+
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/"
140160
envVarName: CIRCLECI_API_KEY
141161
conditions:
142162
- action: KeyMatchCondition
143163
matchField: CIVendor
144164
whenValue: "circleci"
145165
- field: billingEnabled
146-
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"
166+
label: "Enable billing support?"
167+
info: "Provides a subscription example using stripe in the backend and frontend repositories."
147168
options:
148169
"yes": "Yes"
149170
"no": "No"
150171
- field: stagingStripePublicApiKey
151-
label: "Staging Stripe public api key, used for frontend repository (Recommended: using sandbox key while setting up)"
172+
label: "Staging Stripe public api key"
173+
info: "Used for the frontend repository. It's recommended to use a sandbox key while getting set up."
152174
conditions:
153175
- action: KeyMatchCondition
154176
matchField: billingEnabled
155177
whenValue: "yes"
156178
- field: stagingStripeSecretApiKey
157-
label: "Staging Stripe secret api key, used for backend repository (Recommended: using sandbox key while setting up)"
179+
label: "Staging Stripe secret api key"
180+
info: "Used for the backend repository. It's recommended to use a sandbox key while getting set up."
158181
conditions:
159182
- action: KeyMatchCondition
160183
matchField: billingEnabled
161184
whenValue: "yes"
162185
- field: productionStripePublicApiKey
163-
label: "Production Stripe public api key, used for frontend repository (Recommended: using sandbox key while setting up)"
186+
label: "Production Stripe public api key"
187+
info: "Used for the frontend repository. It's recommended to use a sandbox key while getting set up."
164188
conditions:
165189
- action: KeyMatchCondition
166190
matchField: billingEnabled
167191
whenValue: "yes"
168192
- field: productionStripeSecretApiKey
169-
label: "Production Stripe secret api key, used for backend repository (Recommended: using sandbox key while setting up)"
193+
label: "Production Stripe secret api key"
194+
info: "Used for the backend repository. It's recommended to use a sandbox key while getting set up."
170195
conditions:
171196
- action: KeyMatchCondition
172197
matchField: billingEnabled

0 commit comments

Comments
 (0)