1 | default:
|
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
|
11 | complete_execution_payload_timeout: 10
|
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 |
|
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
|
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 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 | params:
|
61 | - name: CmrPassword
|
62 | value: '{{CMR_PASSWORD}}'
|
63 | - name: LaunchpadPassphrase
|
64 | value: '{{LAUNCHPAD_PASSPHRASE}}'
|
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 |
|
122 | vpc:
|
123 | vpcId: '{{VPC_ID}}'
|
124 | subnets:
|
125 | - '{{AWS_SUBNET}}'
|
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:27
|
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 |
|
156 | registry: dockerhub
|
157 | storageDriver: devicemapper
|
158 |
|
159 | es:
|
160 | name: es5vpc
|
161 | elasticSearchMapping: 8
|
162 |
|
163 |
|
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 |
|
182 | enablePointInTime: false
|
183 |
|
184 | AutoScalingPolicyConfiguration:
|
185 | targetValue: 30
|
186 | scaleInCooldown: 0
|
187 | scaleOutCooldown: 0
|
188 |
|
189 | sns:
|
190 |
|
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 |
|
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 |
|
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 | publishReports:
|
299 | eventPattern:
|
300 | source:
|
301 | - aws.states
|
302 | detail-type:
|
303 | - "Step Functions Execution Status Change"
|
304 | state: ENABLED
|
305 | targets:
|
306 | - lambda: publishReports
|
307 |
|
308 | sqsMessageConsumer:
|
309 | schedule: rate(1 minute)
|
310 | state: ENABLED
|
311 | targets:
|
312 | - lambda: sqsMessageConsumer
|
313 | input:
|
314 | messageLimit: '{{sqs_consumer_rate}}'
|
315 | timeLimit: 60
|
316 |
|
317 | useWorkflowLambdaVersions: true
|
318 |
|
319 | stepFunctions: !!files ['workflows.yml']
|
320 |
|
321 | lambdas: !!files [
|
322 | 'lambdas.yml',
|
323 | 'node_modules/@cumulus/api/config/lambdas.yml',
|
324 | 'node_modules/@cumulus/api/config/workflowLambdas.yml'
|
325 | ]
|
326 |
|
327 | workflowLambdas: !!files [
|
328 | 'lambdas.yml',
|
329 | 'node_modules/@cumulus/api/config/workflowLambdas.yml'
|
330 | ]
|
331 |
|
332 | dashboard: !!files [
|
333 | 'node_modules/@cumulus/deployment/app/cloudwatchDashboard.yml'
|
334 | ]
|