Skip to content

Setting up Project.hcl for a project

Jason E edited this page Oct 14, 2022 · 4 revisions

Every project will own their own project.hcl file, in their devops 1password vault.

When they want to do deployment with it, the team's ops delegate will share it with the vault "Ops-project hcl files"

It should have a name similar to this: ctj_project.hcl - last updated 2022-07-20

After it's used by the ops team, it should be deleted from the ops team members local machine.

Project.hcl template

locals {
  // General Variables
  project_name = "project-name-here"
  environment  = "stage"

  // ALB
  aws_managed_dns = false
  host_names      = [""]
  path_patterns   = ["/*"] 

  // ECS
  application_type = "fullstack"
  launch_type      = "FARGATE"

  // RDS (Database)
  postgres_database = {
    // no RDS credentials here
    // this is only for creating a new db 
  }

  // Container variables
  container_image   = "1234567.dkr.ecr.us-west-2.amazonaws.com/civictechjobs-fullstack-stage:latest" 
  desired_count     = 1
  container_port    = 8000 // should match server used by application 
  container_memory  = 512
  container_cpu     = 256
  health_check_path = "/"

  container_env_vars = {
    // key : value 
    // any env variables necessary for the docker container_image
    // RDS info here
  }
}
Clone this wiki locally