This repository has been archived by the owner. It is now read-only.
Version control your Heroku apps
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.babelrc
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json
sample.yaml
yarn.lock

README.md

Build Status

Autoku

Version control your Heroku infrastructure using YAML

Usage

# Install globally
npm install -g autoku

# see help
autoku help deploy

Usage: autoku [options] [command]


Commands:

  deploy|d [options] <config>  Deploy or update an app using the provided YAML file.
  check|c <config>             Validate the provided YAML file.
  help                         display this message
  help [cmd]                   display help for [cmd]

Options:

  -h, --help     output usage information
  -V, --version  output the version number


# validate a YAML file
autoku check my-heroku-app.yaml

# deploy an app using a YAML file
autoku deploy-k $HEROKU_API_KEY my-heroku-app.yaml

YAML Configuration

Autoku supports the following configuration options:

# The app name. Names can be upper or lower cased, can include numbers, and can only have dash characters. Required.
# Autoku does not currently support changing the app name.
name: my-heroku-app

# App region. Set it to any valid Heroku region. Required.
region: us

# Maintenance status. set to true to turn on maintenance mode. Optional. defaults to false.
maintenance: false

# The stack to use. optional. only accepts cedar-14 at this time.
stack: cedar-14

# Configuration variables for your application. required.
# Some config vars are set by addons, so at this time Autoku can not remove variables from the app if they aren't set in this object.
configVars:
  DATABASE_URL: postgres://user:pass@localhost:5432/data
  REDIS_URL: redis://authstring@localhost:3456

# Heroku add-ons and plans for your app. To remove an addon, delete it from this list. Optional.
addons:
  "heroku-postgresql": "hobby-dev"
  "heroku-redis": "hobby-dev"
  "logentries": "le_tryit"

# Collaborators for your app. remove emails from this list to remove access. Optional.
collaborators:
  - bob@example.com

# Heroku app features. Turn on and off by adding them to this list. Optional.
features:
  - log-runtime-metrics
  - http-session-affinity

# Change Dyno size and quantity for all app processes.
# until code is deployed to an app, this setting will be skipped. Required.
formation:
  web:
    quantity: 1
    size: hobby
  worker:
    quantity: 1
    size: hobby

# Log drains. Add or remove from this list to manage drains. Add-on drains are ignored.
logDrains:
  - https://example.com:7000
  - https://example.com:7111

# Custom domains for the app.
domains:
  - example.com
  - www.example.com

# SNI endpoint settings. add or remove entries from this list to manage SNI endpoints.
# Eventually, this setting will support loading from the environment or file.
# for now, if you do use Autoku for SNI configuration, DON'T COMMIT THIS TO A PUBLIC REPO
sni:
  - certificate-chain: "-----BEGINCERTIFICATE----- ... -----ENDCERTIFICATE-----"
    private-key: "-----BEGINPRIVATEKEY----- ... -----ENDPRIVATEKEY-----"

# configure buildpacks. The array ordinal of each entry determines the order that buildpacks will execute.
buildpacks:
  - heroku/nodejs

Feel free to copy sample.yaml