r-builds/serverless.yml
2022-03-23 17:47:23 -05:00

72 lines
2.1 KiB
YAML

service: r-builds
plugins:
- serverless-python-requirements
- serverless-step-functions
- serverless-pseudo-parameters
custom: ${file(./serverless-custom.yml)}
package:
exclude:
- integration/**
- builder/**
- docs/**
- node_modules/**
provider:
name: aws
runtime: python3.6
stage: ${opt:stage, self:custom.defaultStage}
deploymentBucket:
name: ${self:custom.deploymentBucket}
stackTags: ${self:custom.${self:provider.stage}.stackTags}
iamRoleStatements:
- Effect: Allow
Action:
- "batch:*"
Resource: '*'
- Effect: Allow
Action:
- "s3:*"
Resource:
- arn:aws:s3:::${self:custom.${self:provider.stage}.s3Bucket}
- arn:aws:s3:::${self:custom.${self:provider.stage}.s3Bucket}/*
environment:
S3_BUCKET: ${self:custom.${self:provider.stage}.s3Bucket}
JOB_QUEUE_ARN:
Ref: rBuildsBatchJobQueue
JOB_DEFINITION_ARN_ubuntu_1804:
Ref: rBuildsBatchJobDefinitionUbuntu1804
JOB_DEFINITION_ARN_ubuntu_2004:
Ref: rBuildsBatchJobDefinitionUbuntu2004
JOB_DEFINITION_ARN_ubuntu_2204:
Ref: rBuildsBatchJobDefinitionUbuntu2204
JOB_DEFINITION_ARN_debian_9:
Ref: rBuildsBatchJobDefinitionDebian9
JOB_DEFINITION_ARN_debian_10:
Ref: rBuildsBatchJobDefinitionDebian10
JOB_DEFINITION_ARN_debian_11:
Ref: rBuildsBatchJobDefinitionDebian11
JOB_DEFINITION_ARN_centos_7:
Ref: rBuildsBatchJobDefinitionCentos7
JOB_DEFINITION_ARN_centos_8:
Ref: rBuildsBatchJobDefinitionCentos8
JOB_DEFINITION_ARN_opensuse_42:
Ref: rBuildsBatchJobDefinitionOpensuse42
JOB_DEFINITION_ARN_opensuse_153:
Ref: rBuildsBatchJobDefinitionOpensuse153
SUPPORTED_PLATFORMS: ubuntu-1804,ubuntu-2004,ubuntu-2204,debian-9,debian-10,debian-11,centos-7,centos-8,opensuse-42,opensuse-153
functions:
queueBuilds:
timeout: 90
handler: handler.queue_builds
jobQueueStatus:
handler: handler.poll_running_jobs
stepFunctions:
stateMachines: ${file(./serverless-stepf.yml)}
resources:
Resources: ${file(./serverless-resources.yml)}