Azure Container Service Engine - a place for community to collaborate and build the best open Docker container infrastructure for Azure.
Go Perl 6 Shell Perl PowerShell Groovy Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.circleci Kubernetes 1.10.0-beta.4 (#2472) Mar 15, 2018
.github docs(github): include acs-engine version in issue template (#943) Jul 10, 2017
cmd simplify code and turn on more linters (#2433) Mar 14, 2018
docs Refactor registry credentials to DcosConfig (#1137) Mar 16, 2018
examples Refactor registry credentials to DcosConfig (#1137) Mar 16, 2018
extensions Monitoring extension Grafana dashboard update (#2274) Mar 9, 2018
jenkins make sure this can run on all slaves not just slave8 Jan 9, 2018
loc LEGO: check in for master to temporary branch. (#1969) Dec 27, 2017
parts fixed dcos deployment generation with omitted preprovisioning script (#… Mar 21, 2018
pkg patch release v0.14.4 (#2503) Mar 21, 2018
releases Add support to build official Docker image from release binaries. (#1659 Nov 1, 2017
scripts modify build script (#2493) Mar 20, 2018
test decrease timeout for ilb test (#2469) Mar 14, 2018
translations Update translation files (#2026) Jan 10, 2018
vendor Resubmit PR# 2332: Enable colorized logging on Windows (#2482) Mar 20, 2018
windows Switch to RS3 Windows in Kubernetes cluster (#1686) Nov 7, 2017
.dockerignore Fix make generate slowness on Docker for Mac (#1226) Aug 10, 2017
.gitattributes Add devenv for building/testing/validating under Docker Oct 27, 2016
.gitignore adding debug to gitignore Feb 8, 2018 remove duplicate sentence (#1559) Oct 9, 2017
Dockerfile Update AZ CLI to latest (#1698) Nov 1, 2017
Dockerfile.k8swin Dev environment setup for k8s on Windows machine (#1703) Nov 3, 2017
LICENSE Add License Oct 6, 2016
Makefile update component versions for v0.14.0 (#2406) Mar 8, 2018
OWNERS PROPOSAL: version numbering scheme using SemVer 2.0 (#642) May 19, 2017 Update (#2489) Mar 19, 2018 ref(docs): reorganize documentation Aug 3, 2017
glide.lock Resubmit PR# 2332: Enable colorized logging on Windows (#2482) Mar 20, 2018
glide.yaml Resubmit PR# 2332: Enable colorized logging on Windows (#2482) Mar 20, 2018
labels.yaml docs(github): use labeler to manage project labels (#955) Jul 11, 2017
main.go Resubmit PR# 2332: Enable colorized logging on Windows (#2482) Mar 20, 2018 fix( remove the date string from the header Nov 7, 2017 version output improvements (#1325) Aug 25, 2017

Microsoft Azure Container Service Engine - Builds Docker Enabled Clusters

Coverage Status CircleCI


The Azure Container Service Engine (acs-engine) generates ARM (Azure Resource Manager) templates for Docker enabled clusters on Microsoft Azure with your choice of DC/OS, Kubernetes, Swarm Mode, or Swarm orchestrators. The input to the tool is a cluster definition. The cluster definition is very similar to (in many cases the same as) the ARM template syntax used to deploy a Microsoft Azure Container Service cluster.

The cluster definition file enables the following customizations to your Docker enabled cluster:

  • choice of DC/OS, Kubernetes, Swarm Mode, or Swarm orchestrators
  • multiple agent pools where each agent pool can specify:
  • standard or premium VM Sizes,
  • node count,
  • Virtual Machine ScaleSets or Availability Sets,
  • Storage Account Disks or Managed Disks (under private preview)
  • Docker cluster sizes of 1200
  • Custom VNET

User guides


Please follow these instructions before submitting a PR:

  1. Execute make ci to run the checkin validation tests.

  2. Manually test deployments if you are making modifications to the templates. For example, if you have to change the expected resulting templates then you should deploy the relevant example cluster definitions to ensure you're not introducing any sort of regression.


Generate Templates

Usage is best demonstrated with an example:

$ vim examples/classic/kubernetes.classic.json

# insert your preferred, unique DNS prefix
# insert your SSH public key

$ ./acs-engine generate examples/classic/kubernetes.classic.json

This produces a new directory inside _output/ that contains an ARM template for deploying Kubernetes into Azure. (In the case of Kubernetes, some additional needed assets are generated and placed in the output directory.)

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.