Skip to content

ChrisAubuchon/mantl-packaging

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mantl Packaging

This repository contains Hammer specs for building generic Mantl utilities.

Table of Contents

Dynamic Configuration

Dynamic configuration is performed with Consul. The {package}-dynamic entries in this README describe the key spaces they look for to render configuration to disk. Be aware that most of these daemons need to be restarted when configuration changes, so account for that when you're changing keys.

Per-node Configuration

In addition to the documented keys under each package, you can set per-node global options for these packages with certain flags. These will be documented in the config files if not set, but here's a short list:

Key Description
config/nodes/{node}/external_ip node's external IP address
config/nodes/{node}/internal_ip node's internal IP address
config/nodes/{node}/hostname node's hostname

Packages

Core

generate-certificate

Download

spec

A script to generate certificates with a number of sensible defaults set.

traefik

Download

spec

Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage its configuration automatically and dynamically.

docker-cleanup

Download

spec

A cron.hourly script and a few configuration files to take out the garbage. Uses spotify/docker-gc and martin/docker-cleanup-volumes Docker containers in tandem.

First, spotify/docker-gc runs, and removes any containers that have been in an exit status for more than an hour. Spotify's container also supports excluding containers at this step. Two files control this: /etc/docker-cleanup/docker-gc-exclude to match image names and docker hashes, and /etc/docker-cleanup/docker-gc-exclude-containers to match container names. Both of these files have example lines for your reference.

Second, martin/docker-cleanup-volumes removes orphaned Docker volumes, something that removing containers with docker commands normally does not do. Docker version 1.9 is beginning to address this issue, but this adds support for previous versions.

nomad

Download

spec

Consul Packages

consul

spec

Download

Packages consul.io with systemd. Check /etc/sysconfig/consul for configuration.

consul-template

spec

Download

Packages consul-template with systemd. Check /etc/sysconfig/consul-template for configuration.

consul-cli

spec

Download

Packages consul-cli with the currently released version.

A Distributed, Highly Available, Datacenter-Aware Scheduler

Building

If you're on linux, run hammer to build all of the packages, which will end up in out. If you're on another platform, run ./build.sh to fire up a Vagrant VM that will provision itself with hammer and do the same.

About

packaging for Mantl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 60.4%
  • Shell 38.9%
  • HCL 0.7%