Skip to content

Configuration File

Daniel Kang edited this page Oct 24, 2016 · 21 revisions

You can define your application's deployment and running behaviors using configuration file.

A sample configuration file:

name: echo
cluster: cluster1
port: 8080                          
cpu: 1.0
memory: 200m
units: 4

load_balancer:
  enabled: true                      
  https: no                         
  port: 80                          
                                    
  health_check:
    interval: 30s                   
    path: "/ping"                   
    status: "200-299"               
    timeout: 10s
    healthy_limit: 5
    unhealthy_limit: 5

aws:
  elb_name: echo_elb
  elb_target_group_name: echo_elb_tg
  elb_security_group_name: echo_elb_sg
  ecr_namespace: coldbrew/echo

docker:
  bin: "/usr/local/bin/docker"

App Attributes

.name

Application name. Max 32 characters. Alphanumeric, underline, dash acceptable.

  • Default: (application directory name)

.cluster

Name of the cluster where your application will run. Max 32 characters. Alphanumeric, underline, dash acceptable.

  • Default: "cluster1"

.port

If you application listens on TCP ports, use this to specify the port. This should match EXPOSE configuration in your Dockerfile. If your application does not listen on TCP port, specify 0.

Multiple ports will be supported in the future release.

  • Default: 80

.cpu

CPU resources your application unit needs. 1.0 = 1 core unit.

  • Default: 0.5

.memory

Memory limits for your application unit. You can use m, `g' to indicate mega bytes and giga bytes.

  • Default: "500m"

.units

The number of application units to deploy.

  • Default: 1

.env

Environment variables for your application. These variables will be passed to your application when they run in the container.

Load Balancer

.load_balancer.enabled

To attach load balancer to your application, set this to true.

  • Default: false

.load_balancer.https

(HTTPS is currently not supported.)

.load_balancer.port

TCP port of the load balancer.

  • Default: 80

Load Balancer Health Check

.load_balancer.health_check.interval

  • Default: 15s

.load_balancer.health_check.path

  • Default: "/"

.load_balancer.health_check.status

  • Default: "200-299"

.load_balancer.health_check.timeout

  • Default: 10s

.load_balancer.health_check.healthy-limit

  • Default: 3

.load_balancer.health_check.unhealthy-limit

  • Default: 3

AWS

.aws.elb_name

If no ELB Load Balancer found with this name, CLI will create and configure a new one.

  • Default: "{application-name}-elb"

.aws.elb_target_group_name

If no ELB Target Group found with this name, CLI will create and configure a new one.

  • Default: "{application-name}-elb-tg"

.aws.elb_security_group_name

If no EC2 Security Group found with this name, CLI will create and configure a new one.

  • Default: "{application-name}-elb-sg"

.aws.ecr_repo_name

Docker

.docker.bin

coldbrew-cli use docker executable to build and push Docker images. You can use this to specify your own docker executable (e.g. "/usr/local/bin/docker")

  • Default: docker

Clone this wiki locally