Skip to content

app

Boilerplate for an application running on ECS.

Example

In vars-common.yml:

AccountId: "12345679876"
Region: "eu-west-1"
Team: "pirates"
Environment: "pirates-dev"

In vars-app-rain.yml:

StackName: "app-rain"
AppName: "rain"
WithExampleImage: true
WithDailyShutdown: false
WithAlbHostRouting: true
WithOpenTelemetrySidecar: false
WithVPCEndpoints: false

Render the template:

boilerplate \
  --template-url . \
  --var-file vars-common.yml \
  --var-file vars-app-rain.yml \
  --output-folder app-rain \
  --non-interactive

Variables

Name Description Type Default Required
IncludeLockFile Include a Terraform lock file. bool false no
AppName Application name string n/a yes
AppReadOnlyRootFileSystem Enable read-only root filesystem. bool false no
AppEcsExec Enable ECS Exec. bool false no
ExampleImage Use Nginx example image. map {"Enable": false} no
AlbHostRouting Add ALB host routing. See: - https://github.com/oslokommune/golden-path-iac/tree/main/terraform/modules/alb-tg-host-routing - https://github.com/oslokommune/golden-path-iac/tree/main/terraform/modules/alb-tg-host-routing-apex map {"Enable": false, "Internal": true, "Subdomain": {"Enable": false, "TargetGroupTargetStickiness": false}, "ApexDomain": {"Enable": false, "TargetGroupTargetStickiness": false}} no
DatabaseConnectivity Add database. map {"Enable": false} no
OpenTelemetrySidecar Add OpenTelemetry sidecar to collect Prometheus metrics. map {"Enable": false} no
DeploymentPipelineV2 Enable the next-generation deployment pipeline. Replaces IamForCicd. map {"Enable": false} no
TelemetryCollection Configure telemetry collection including OpenTelemetry collector for logs/traces/metrics, Java auto-instrumentation, and Datadog agent for container monitoring. map {"Enable": false, "AutoInstrumentation": {"Enable": false, "Runtime": "java"}, "DatadogAgent": {"Enable": false}} no
Xray Enable AWS X-Ray tracing. map {"Enable": false} no
VpcEndpoints Enable VPC endpoints. map {"Enable": false} no
ServiceConnect Enable Amazon ECS Service Connect for service discovery. Enable this if you want to easily discover and connect to other services in your ECS cluster. map {"Enable": false} no
DailyShutdown Enable daily shutdown of the ECS service. map {"Enable": false} no
IamForCicd Enable IAM roles for CI/CD. map {"Enable": false, "AppGitHubRepo": null, "IacGitHubRepo": null, "AssumableCdRole": false, "EcsDeployFromAppRepo": false} no
DeploymentCircuitBreaker Enable deployment circuit breaker for ECS service. map {"Enable": false} no
Ecr Enable ECR map {"Enable": true} no