Wizcorp / Dawn

Docker-based infrastructure setup and operation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Chat on Gitter Search on StackOverflow GitHub issues Docker Pulls

Dawn is a set of tools and configuration to help you bootstrap and maintain a Docker-based PaaS. On top of configuring Docker Swarm, Dawn also configures and maintain the systems required for traffic routing, service discovery, logging, monitoring and storage.

Requirements

Note: Windows users will need to make sure that their work drive (normally C:) is shared in Docker. See https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/ for more details.

Software Version
Docker 1.13.0+

Quick Start

The client consists of two components:

  • A small binary to run on your local machine
  • A local Docker container, containing playbooks and tools (Ansible, Terraform, Docker binaries, etc.)

Because tools and basic playbooks are bundled together into a single Docker image, it makes it easier to manage multiple deployments (by using a specific version of the local container). It also makes it easier to create custom Docker images (additional tools, playbook customisations, etc).

Windows

# Must run as administrator
Invoke-RestMethod https://dawn.sh/install-win | powershell -command -
# Or, to install a specific version
Invoke-WebRequest -uri https://dawn.sh/install-win -OutFile install.ps1
.\install.ps1 -version v0.0.1

Other platforms (Linux, macOS)

# Will request sudo password after download
curl -fsSL https://dawn.sh/install | sh
# Or, to install a specific version
curl -fsSL https://dawn.sh/install | version=v0.0.1 sh

Using Dawn

For a more elaborate walkthrough video, see this tutorial. You can also find the documentation here.

What does it include?

System Software
Container execution Docker Swarm
Traffic routing Traefik
Service discovery Consul
Logging Kibana
Metrics Grafana
Storage Ceph

We also install additional subsystems which will sit behind each components above; for instance, logs are collected using rsyslog and are sent to Logstash to be stored in ElasticSearch, while metrics are collected with Telegraf before being sent to Prometheus.

For a more detailed view of what software Dawn will install for you, please see the ansible folder.

Contributors

Before contributing, please make sure to get familiar with this document

All new contributors are welcome.

Credits

Logo

Nature graphic by Freepik from Flaticon is licensed under CC BY 3.0. Made with Logo Maker

License

MIT

About

Docker-based infrastructure setup and operation


Languages

Language:Python 27.1%Language:Shell 21.9%Language:Go 17.9%Language:HCL 15.4%Language:PowerShell 7.3%Language:Ruby 5.7%Language:Dockerfile 4.6%