mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-23 01:54:18 -08:00
88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
|
service: justice40-data-harvester
|
||
|
configValidationMode: error
|
||
|
|
||
|
frameworkVersion: ">=2.48.0"
|
||
|
|
||
|
provider:
|
||
|
name: aws
|
||
|
runtime: nodejs12.x
|
||
|
stage: ${opt:stage, 'sit'}
|
||
|
region: ${opt:region, 'us-east-1'}
|
||
|
profile: ${self:provider.stage}
|
||
|
lambdaHashingVersion: "20201221"
|
||
|
deploymentBucket:
|
||
|
name: ${self:custom.environment.DEPLOYMENT_BUCKET_PREFIX}-${self:provider.stage}-${self:provider.region}-${self:service}
|
||
|
blockPublicAccess: true
|
||
|
maxPreviousDeploymentArtifacts: 5
|
||
|
stackName: ${self:custom.environment.STACK_NAME_PREFIX}${self:provider.stage}-${self:service}
|
||
|
|
||
|
iam:
|
||
|
role:
|
||
|
statements:
|
||
|
- Effect: "Allow"
|
||
|
# Condition:
|
||
|
# ArnEquals:
|
||
|
# ecs:cluster:
|
||
|
# Fn::GetAtt: [ ECSCluster, Arn ]
|
||
|
Action: "ecs:RunTask"
|
||
|
Resource: "*"
|
||
|
- Effect: "Allow"
|
||
|
# Condition:
|
||
|
# ArnEquals:
|
||
|
# ecs:cluster:
|
||
|
# Fn::GetAtt: [ ECSCluster, Arn ]
|
||
|
Action:
|
||
|
- "iam:ListInstanceProfiles"
|
||
|
- "iam:ListRoles"
|
||
|
- "iam:PassRole"
|
||
|
Resource: "*"
|
||
|
- Effect: Allow
|
||
|
Action:
|
||
|
- "s3:ListBucket"
|
||
|
Resource:
|
||
|
- Fn::Join:
|
||
|
- ""
|
||
|
- - "arn:aws:s3:::"
|
||
|
- Ref: DataBucket
|
||
|
- "/*"
|
||
|
- Effect: Allow
|
||
|
Action:
|
||
|
- "s3:DeleteObject"
|
||
|
- "s3:GetObject"
|
||
|
- "s3:PutObject"
|
||
|
- "s3:PutObjectAcl"
|
||
|
Resource:
|
||
|
- Fn::Join:
|
||
|
- ""
|
||
|
- - "arn:aws:s3:::"
|
||
|
- Ref: DataBucket
|
||
|
|
||
|
plugins:
|
||
|
- serverless-certificate-creator
|
||
|
- serverless-pseudo-parameters
|
||
|
|
||
|
custom:
|
||
|
environment: ${file(./environment.yml):${self:provider.stage}}
|
||
|
namespace: justice40 # Used to tag resources with a "Namespace".
|
||
|
namespaceShort: j40 # Used to prefix stack name, deployment bucket, resource "Name" tags, etc.
|
||
|
|
||
|
customCertificate:
|
||
|
certificateName: ${self:provider.stage}-${self:service}.${self:custom.environment.HOSTED_ZONE_DOMAIN}
|
||
|
hostedZoneIds: ${self:custom.environment.HOSTED_ZONE_ID_DOMAIN}
|
||
|
region: ${self:provider.region}
|
||
|
tags:
|
||
|
Name: ${self:provider.stage}-${self:service}.${self:custom.environment.HOSTED_ZONE_DOMAIN}
|
||
|
Environment: ${self:provider.stage}
|
||
|
rewriteRecords: true
|
||
|
enabled: ${self:custom.environment.SHOULD_CREATE_SSL_CERTIFICATE}
|
||
|
|
||
|
|
||
|
functions: ${file(./functions.yml)}
|
||
|
|
||
|
resources:
|
||
|
- ${file(./conditions.yml)}
|
||
|
- ${file(./resources-s3.yml)}
|
||
|
- ${file(./resources-cloudfront.yml)}
|
||
|
- ${file(./resources-ecs.yml)}
|
||
|
- ${file(./resources-route53.yml)}
|