Draft: Streamlined Kubernetes Development
NOTE: Draft is experimental and does not have a stable release yet.
Draft handles the heavy lifting involved in taking source code and deploying it to Kubernetes:
- Builds a container image from application source code
- Pushes the image to a registry
- Packages a Helm chart from application source code
- Installs the chart to Kubernetes, deploying the application
Usage
Install Helm
Draft expects Helm to be installed on your Kubernetes cluster. Download helm
v2.3.1 and
do a helm init
first, as described in Installing Helm.
Install Draft
Because Draft is currently experimental, there is no stable release out yet and users are expected to be using the latest build of Draft for testing. Canary releases of the Draft client can be found at the following links:
Unpack the Draft binary and add it to your PATH and you are good to go!
To install the server-side of Draft, use draft init
with your credentials to let Draft communicate
with a Docker registry:
$ draft init --set registry.url=docker.io,registry.org=changeme,registry.authtoken=changeme
The auth token field follows the format of Docker's X-Registry-Auth header. For credential-based logins such as Docker Hub and Quay, use
$ echo '{"username":"jdoe","password":"secret","email":"jdoe@acme.com"}' | base64
For token-based logins such as Google Container Registry and Amazon ECR, use
$ echo '{"registrytoken":"9cbaf023786cd7"}' | base64
If you're looking to build from source or get started hacking on Draft, please see the hacking guide for more information.
Use It!
Climb aboard and explore the Getting Started Guide - you'll soon be sailing!
Contributing
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
License
This software is covered under the MIT license. You can read the license here.
This software contains code from Heroku Buildpacks, which are also covered by the MIT license.
This software contains code from Helm, which is covered by the Apache v2.0 license.
You can read third-party software licenses here.