UNPKG

8.6 kBYAMLView Raw
1default:
2 prefix: change-me-cumulus
3 stackName: '{{prefix}}'
4 prefixNoDash: ChangeMeCumulus
5 dbStackName: '{{prefix}}-db'
6
7 urs_url: https://uat.urs.earthdata.nasa.gov/
8
9 cmaDir: '/opt/'
10 non_complete_execution_payload_timeout: 30 ## days
11 complete_execution_payload_timeout: 10 ## days
12 complete_execution_payload_disable: false
13 non_complete_execution_payload_disable: false
14
15 oauth:
16 provider: earthdata
17 userGroup: N/A
18
19 samlConfig:
20 entityID: 'YourEntityId'
21 assertionConsumerService: 'https://example.com/saml/auth'
22 idpLogin: 'https://example.gov/affwebservices/public/saml2sso'
23 launchpadMetadataPath: 's3://{{buckets.internal.name}}/{{prefix}}/launchpad/launchpad-sbx-metadata.xml'
24
25 ## lambda function that returns temporary credentials
26 sts_credentials_lambda: gsfc-ngap-sh-s3-sts-get-keys
27
28 api_lambda_memory: 512
29
30 repo_owner: nasa
31 message_adapter_repo: cumulus-message-adapter
32 message_adapter_filename: cumulus-message-adapter.zip
33
34 customCompilation: true
35 injectWorkflowLambdaAliases: true
36
37 DLQDefaultTimeout: 60
38 DLQDefaultMessageRetentionPeriod: 1209600 ## 14 days, the maximum currently allowed for SQS
39 processDefaultDeadLetterQueues: true
40
41 deployDistributionApi: false
42
43 nested_templates:
44 CumulusApiDistribution:
45 cfFile: node_modules/@cumulus/deployment/app/cumulus_api.template.yml
46 configFile: node_modules/@cumulus/deployment/app/cumulus_api_distribution.config.yml
47 CumulusApiBackend:
48 cfFile: node_modules/@cumulus/deployment/app/cumulus_api.template.yml
49 configFile: node_modules/@cumulus/deployment/app/cumulus_api_backend.config.yml
50 WorkflowLambdaVersions:
51 cfFile: node_modules/@cumulus/deployment/app/workflow_lambda_versions.template.yml
52 configFile: node_modules/@cumulus/deployment/app/workflow_lambda_versions.config.yml
53
54 # if not specified the value of the apigatewy backend endpoint is used
55 # api_backend_url: https://apigateway-url-to-api-backend/
56
57 # if not specified the value of the apigateway dist url is used
58 # api_distribution_url: https://apigateway-url-to-distribution-app/
59
60 params:
61 - name: CmrPassword
62 value: '{{CMR_PASSWORD}}' # this has to be set in .env
63 - name: LaunchpadPassphrase
64 value: '{{LAUNCHPAD_PASSPHRASE}}' # set in .env if needed
65
66 shared_data_bucket: 'cumulus-data-shared'
67
68 system_bucket: '{{buckets.internal.name}}'
69
70 buckets:
71 internal:
72 name: change-me
73 type: internal
74 private:
75 name: change-me
76 type: private
77 protected:
78 name: change-me
79 type: protected
80 public:
81 name: change-me
82 type: public
83
84 iams:
85 ecsRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-ecs'
86 lambdaApiGatewayRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-lambda-api-gateway'
87 lambdaProcessingRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-lambda-processing'
88 stepRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-steprole'
89 instanceProfile: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:instance-profile/{{prefix}}-ecs'
90 distributionRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-distribution-api-lambda'
91 scalingRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-scaling-role'
92 migrationRoleArn: 'arn:aws:iam::{{AWS_ACCOUNT_ID}}:role/{{prefix}}-migration-processing'
93
94
95 cmr:
96 oauthProvider: earthdata
97 username: CmrUser
98 provider: CUMULUS
99 clientId: CUMULUS
100 password: cmrPassword
101 cmrEnvironment: UAT
102 cmrLimit: 100
103 cmrPageSize: 50
104
105 launchpad:
106 api: launchpadApi
107 certificate: launchpad.pfx
108 passphrase: launchpadPassphrase
109
110 ems:
111 provider: CUMULUS
112 host: change-ems-host
113 port: 22
114 path: /
115 username: cumulus
116 privateKey: ems-private.pem
117 dataSource: UAT
118 submitReport: false
119 retentionInDays: 30
120
121 # this whole section has to be updated in each deployment section
122 vpc:
123 vpcId: '{{VPC_ID}}' # this has to be set in .env
124 subnets:
125 - '{{AWS_SUBNET}}' # this has to be set in .env
126 securityGroup: '{{SECURITY_GROUP}}'
127
128 ecs:
129 restartTasksOnDeploy: false
130 container_stop_timeout: 2m
131 amiid: ami-03e7dd4efa9b91eda
132 instanceType: change-ecs-instanceType
133 volumeSize: 50
134 availabilityZone: 'us-east-1b'
135 minInstances: 1
136 desiredInstances: 1
137 maxInstances: 2
138 clusterAutoscaling:
139 scaleInThresholdPercent: 25
140 scaleInAdjustmentPercent: -5
141 scaleOutThresholdPercent: 75
142 scaleOutAdjustmentPercent: 10
143
144 tasks:
145 AsyncOperation:
146 image: cumuluss/async-operation:26
147 cpu: 400
148 memory: 700
149 count: 1
150 envs:
151 AWS_REGION:
152 function: Fn::Sub
153 value: '${AWS::Region}'
154 docker:
155 # Allowed registry values are 'dockerhub' and 'ecr'
156 registry: dockerhub
157 storageDriver: overlay2
158
159 es:
160 name: es5vpc
161 elasticSearchMapping: 8
162
163 # defining the APIs. Each item will include a separate endpoint
164 apiStage: dev
165 logToSharedDestination:
166
167 dynamos: !!files ['node_modules/@cumulus/api/config/tables.yml']
168
169 dynamo2ElasticSearch:
170 batchSize: 10
171 startingPosition: TRIM_HORIZON
172 lambda: dbIndexer
173 tables:
174 - CollectionsTable
175 - RulesTable
176 - ProvidersTable
177 - GranulesTable
178 - PdrsTable
179 - ExecutionsTable
180
181 # set to true to activate pointInTime on all tables
182 enablePointInTime: false
183
184 AutoScalingPolicyConfiguration:
185 targetValue: 30
186 scaleInCooldown: 0
187 scaleOutCooldown: 0
188
189 sns:
190 # This topic receives errored kinesis messages and tries them again.
191 kinesisFallback:
192 subscriptions:
193 lambda:
194 endpoint:
195 function: Fn::GetAtt
196 array:
197 - fallbackConsumerLambdaFunction
198 - Arn
199 protocol: lambda
200
201 reportExecutions:
202 subscriptions:
203 lambda:
204 endpoint:
205 function: Fn::GetAtt
206 array:
207 - reportExecutionsLambdaFunction
208 - Arn
209 protocol: lambda
210
211 reportGranules:
212 subscriptions:
213 lambda:
214 endpoint:
215 function: Fn::GetAtt
216 array:
217 - reportGranulesLambdaFunction
218 - Arn
219 protocol: lambda
220
221 reportPdrs:
222 subscriptions:
223 lambda:
224 endpoint:
225 function: Fn::GetAtt
226 array:
227 - reportPdrsLambdaFunction
228 - Arn
229 protocol: lambda
230
231 backgroundQueueName: backgroundProcessing
232 sqs_consumer_rate: 500
233 sqs:
234 startSF:
235 visibilityTimeout: 60
236 retry: 30
237 consumer:
238 - lambda: sqs2sf
239 schedule: rate(1 minute)
240 messageLimit: '{{sqs_consumer_rate}}'
241 state: ENABLED
242
243 backgroundProcessing:
244 visibilityTimeout: 60
245 retry: 30
246 maxExecutions: 5
247 consumer:
248 - lambda: sqs2sfThrottle
249 schedule: rate(1 minute)
250 messageLimit: '{{sqs_consumer_rate}}'
251 state: ENABLED
252
253 triggerLambdaFailure:
254 MessageRetentionPeriod: 1209600
255 visibilityTimeout: 60
256
257 kinesisFailure:
258 visibilityTimeout: 20
259
260 rules:
261 dailyEmsProductMetadataReport:
262 schedule: cron(0 4 * * ? *)
263 state: ENABLED
264 targets:
265 - lambda: EmsProductMetadataReport
266 dailyEmsIngestReport:
267 # run at 5:00am GMT daily
268 schedule: cron(0 5 * * ? *)
269 state: ENABLED
270 targets:
271 - lambda: EmsIngestReport
272 dailyEmsDistributionReport:
273 schedule: cron(0 8 * * ? *)
274 state: ENABLED
275 targets:
276 - lambda: EmsDistributionReport
277 dailyExecutionPayloadCleanup:
278 # run at 0400 GMT daily
279 schedule: cron(0 4 * * ? *)
280 state: ENABLED
281 targets:
282 - lambda: cleanExecutions
283 sfSemaphoreDown:
284 eventPattern:
285 source:
286 - aws.states
287 detail-type:
288 - "Step Functions Execution Status Change"
289 detail:
290 status:
291 - "ABORTED"
292 - "FAILED"
293 - "SUCCEEDED"
294 - "TIMED_OUT"
295 state: ENABLED
296 targets:
297 - lambda: sfSemaphoreDown
298
299 useWorkflowLambdaVersions: true
300
301 stepFunctions: !!files ['workflows.yml']
302
303 lambdas: !!files [
304 'lambdas.yml',
305 'node_modules/@cumulus/api/config/lambdas.yml',
306 'node_modules/@cumulus/api/config/workflowLambdas.yml'
307 ]
308
309 workflowLambdas: !!files [
310 'lambdas.yml',
311 'node_modules/@cumulus/api/config/workflowLambdas.yml'
312 ]
313
314 dashboard: !!files [
315 'node_modules/@cumulus/deployment/app/cloudwatchDashboard.yml'
316 ]