Gordon settings.yml files are simple yaml files which define how Gordon should behave.

Settings can be defined at two different levels, project and application level.

Resources such as lambdas or event sources can be defined in both levels, but there are some other settings which are only expected at project level.


These settings can be defined either at project or app level.

Settings Description
lambdas Lambda definitions. Anatomy of Lambdas
cron CloudWatch Events definitions. Anatomy of Cron integration
dynamodb Dynamodb Event Source definitions. Anatomy of Dynamodb integration
kinesis Kinesis Event Source definitions. Anatomy of Kinesis integration
s3 S3 notfication definitions. Anatomy of S3 integration
apigateway API Gateway definitions. Anatomy of Api Gateway integration
aws-account-id AWS account id where you are deploying your lambdas. If not present, gordon will try to retrieve it using IAM api.

Project settings

Project settings are defined in the root level of your project (project/settings.yml). The section Project Anatomy will give you more information about how you can customize your project.

Application settings

Application settings are defined within your applications (application/settings.yml).

One particularity about application settings, is that those can be redefined as part of it’s initialization. If for example you want to reuse one application and redefining some settings, you can do so:

project: my-project
default-region: eu-west-1
code-bucket: my-bucket
  - exampleapp
  - exampleapp:
      a: b
      c: d