- introduced
draft connect --detach
(see DEP 007) - implemented Draft tasks (see DEP 008)
- introduced ACR Build support, with support for writing alternative container builders (see DEP 009)
- introduced Windows support
- introduced Powershell support for plugin install hooks
- introduced
draft pack list
- introduced support for custom image tags on
draft up
- introduced
draft init --config
to specify a default set of plugins and pack repositories to bootstrap Draft
- fixed an issue where
draft create --pack
required the full path to the pack, rather than just--pack=python
- fixed an issue where
set
fields in draft.toml were not being respected - fixed an issue where
draft init
would always install the canary release ofdraft pack-repo
- switched the default number of replicas spawned from the default Draft packs from 2 to 1
- switched the default value of
wait
in draft.toml totrue
- introduced
draft logs --tail
- introduced
draft connect --dry-run
draft up
now writes logs directly to the file as it happens- this allows users to run
draft logs
in another terminal as soon as they calldraft up
- this allows users to run
- added a more helpful error to run
draft pack-repo update
when a Draft Pack cannot be loaded - all files within the root directory of a Draft Pack is now loaded into the application's directory on
draft create
- an image pull secret is injected into the namespace on
draft up
when pushing an image to a container registry
- fixed up an issue where output from a
docker push
andhelm install
wasn't available indraft logs
- fixed an issue where
draft pack-repo list
wouldn't work on Windows - fixed an issue where
draft config unset
wasn't truncating config.toml
- Removed draftd
- New packs added:
- Rust (thanks to @FGRibreau)
- Introduced
draft history
- Introduced
draft config
draft connect
- Introduced the
--override-port
flag to specify a local:remote port mapping for tunnelling
- Introduced the
draft logs
- Command has been simplified to
draft logs <build-id>
, ordraft logs
to get the latest build's logs
- Command has been simplified to
draft up
- Introduced the
--auto-connect
flag to automatically connect to your app once it's deployed
- Introduced the
- fixed an ipv6 lookup error when connecting to draftd (before removing it)
- fixed a rebase issue with the Swift pack that caused it to not work on
draft create
- switched from SHA1 to SHA256 for app context shasums (thanks @thedrow for the heads up)
- Improved and more granular
draft logs
functionality- Each instance of
draft up
results in a Build ID and you can now get logs by build ID
- Each instance of
draft connect
- Now connects to every containerPort in application pod by default
- Added
--container/-c
flag to support connecting to a specific container in the pod
- Corrected readiness/liveness probe port in draftd chart
- CI upkeep, docs, and go format improvements
- Updates to Dockerfiles in Java/Gradle packs
- Notably, switched from Alpine to Debian based Docker image
- Introduced
draft init --upgrade
- TLS support added via
draft init
:- --draftd-tls
- --draftd-tls-cert string
- --draftd-tls-key string
- --draftd-tls-verify
- Reverted back to using a docker-in-docker container for draft builds for cross-cloud support
- Added ability to save application state information in Kubernetes as ConfigMaps
- New packs added:
- Clojure (thanks to @kstrempel)
- New example-spring-boot application added (thanks to @jstrachan)
- Introduced
draft connect --environment
- When
draft create
fails on the first language, it now attempts all other detected languages for packs
draft up -e
anddraft connect -e
will now return an error if the environment is not found in draft.toml
- ported linguist's .gitattributes support
draft create
now bootstraps with acharts/
directory, as opposed tochart/
- application releases are purged from the Kubernetes cluster on
draft delete
- added
--dry-run
flag todraft init
- the name of the directory is now used as the application name for
draft create
- added a Swift pack
- ASP.NET pack was bumped to 2.0
- the docker-in-docker container was removed in favour of mounting the host's docker socket
- design documentation has been re-organized into Draft Enhancement Proposals, aka DEPs
- implemented
draft delete
to remove applications from Kubernetes - implemented
draft logs
to view build logs afterdraft up
- added --tail flag to
draft connect
(as well asdraft logs
) - added -i/--image flag to
draft init
to override the draftd image * added "upgrade" workflow todraft init
- installed the pack-repo plugin by default on
draft init
- switched default listening port to 3000 for apps deployed with the default Ruby pack
- added global flag
--draft-namespace
for talking to draftd in another namespace
- bumped max RPC message size to 40MB
- clarified how to use ingress with the basedomain field
- added an asciicast on draft's workflow
- added documentation on creating and maintaining a pack repository
- introduced
draft connect
- added a new UI for
draft up
- introduced language aliases to linguist
- removed requirement for ingress setup, making it optional
- bumped GRPC max message size from 4MB to 20MB
- removed registry org and image name from generated charts, simplifying templates
- introduced a draft Homebrew formula. Use
brew tap azure/draft && brew install draft
to try it out
- introduced a new plugin manager! See
draft plugins
- introduced smarter language detection for apps through
draft create
draft init --yes
has been renamed todraft init --auto-accept
- STDIN is now attached when running Draft plugins
- the project file watcher feature has been disabled by default
- fixed a regression where values in draft.toml were not being pushed to the server
- rewrote
draft create
to make charts generated by draft helm-compatible
- the websocket framework for Draft has been completely re-written to communicate via the gRPC protocol!
- bumped to helm v2.5.1 compatibility
- added
ondraft=true
as an injected value into charts deployed via Draft
- alter project governance to a more team-based model
- add documentation on the new
draft plugins
feature
- fix up --yes being ignored on
draft init
- use overlayfs as the selected storage driver
- added .draftignore file support
- added .NET pack support
- added gradle pack support
- renamed java pack as maven
- refactored the PHP and maven packs to utilize multi-stage Dockerfile builds
- re-wrote
draft init
for a smoother installation experience
- image pull secrets are now updated on changes
- fixed some bugs with running draft on Windows, specifically around
draft home
anddraft create
- the draft server now runs a docker-in-docker sidecar container instead of mounting the host socket
- bumped to helm v2.5 compatibility
- install documentation has been overhauled with the new
draft init
behaviour - added project scope
- added project archutecture
- added codecov integration to new pull requests
- Added -o/--dest flag to
draft create
- Fixed unused --app flag on
draft create
- go-bindata is now used to package the default packs, making it easier to contribute new packs
- Bumped to Helm v2.4 compatibility
- Refactored and cleaned up package
api
- Added a Draft logo
- Added a nice video tutorial for Draft on Azure Container Services
- Documented
basedomain
and basic ingress setups - Added descriptions to some of the fields in
draft init
- Added documentation on getting started with Minikube
- CI will now publish binaries on tagged releases of Draft
- Added default draft packs for 6 different languages
- Ignore temporary files from file watcher
- Switched to
draft.toml
- Draft auto-generates the application name on
draft create
- Connect to tiller via kubernetes service
- Added example applications for 6 different languages
- Switched getting-started documentation over to use python example app
- Added basedomain logic to ingress hosts
- Added Governance Model
- Switched to Jenkins
- Upload build artifacts to Azure Blob Storage
- Improved code coverage
- New command:
draft home
- New command:
draft init
- Introduced pack detection into
draft create
- New option flags on
draft up
:-f
,--set
, and--values
- Introduced a default Ingress resource with the default nginx pack
- Introduced
draft.yaml
- Initialized connection to Helm on startup rather than at build time
- Bumped Helm to commit 1aee50f
- Introduced the --watch flag in the Getting Started Guide
- Documented the release process
- Introduced Drone CI!
- Canary images are uploaded to docker registry
- Canary clients are uploaded to S3 for linux-arm, linux-i386, linux-amd64, darwin-amd64, and windows-amd64
- Release images and clients are uploaded, too!
- Unit tests for the client and server were improved over this release
- Introduced
hack/docker-make.sh
to run the test suite inside a container
Initial release! 🎉