- Various improvements to
draft tasks- Added support for $VARIABLES in any part of task
- Fixed Dockerfile path issues whem running draft up from different directory
- Fixed panic when using
draft config setbeforedraft init
- upgrade Java packs to use Java 10
- updated Dockerfiles
- replaced onbuild base images with non-onbuild base images
- added build steps needed when not using onbuild images
- removed Spring example app which was not working
- added more detail about contribution process
- added documentation for
draft config set
- suppress terminal color escape sequences when running under Windows (thanks @itowlson)
draft createnow does a deep copy of the pack directory- added a quickstart guide to help users find their way around the documentation
- added links on how to install Draft using GoFish or Chocolatey
- added support for testing Draft on Windows via AppVeyor
- added support for allowing Draft to use charts in directories other than
charts/
- fixed an issue where rjeczalik/notify caused Draft to be unable to build on MacOS (thanks @jgleonard)
- fixed an issue where checksums weren't being generated for Draft release artifacts with a .zip extension
- fixed an issue where the registry name in
draft config set registrywas being truncated too far when using ACR build - fixed an issue where the example Java app would display a ClassNotFound error
- fixed an issue where backslashes in .gitattributes wasn't being parsed as a path separator on Windows
- fixed an issue where Draft could not talk to clusters with oidc auth support enabled
- removed protobuf setup from the Makefile
- 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 --configto specify a default set of plugins and pack repositories to bootstrap Draft
- fixed an issue where
draft create --packrequired the full path to the pack, rather than just--pack=python - fixed an issue where
setfields in draft.toml were not being respected - fixed an issue where
draft initwould 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
waitin draft.toml totrue
- introduced
draft logs --tail - introduced
draft connect --dry-run draft upnow writes logs directly to the file as it happens- this allows users to run
draft logsin another terminal as soon as they calldraft up
- this allows users to run
- added a more helpful error to run
draft pack-repo updatewhen 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 upwhen pushing an image to a container registry
- fixed up an issue where output from a
docker pushandhelm installwasn't available indraft logs - fixed an issue where
draft pack-repo listwouldn't work on Windows - fixed an issue where
draft config unsetwasn't truncating config.toml
- Removed draftd
- New packs added:
- Rust (thanks to @FGRibreau)
- Introduced
draft history - Introduced
draft config draft connect- Introduced the
--override-portflag to specify a local:remote port mapping for tunnelling
- Introduced the
draft logs- Command has been simplified to
draft logs <build-id>, ordraft logsto get the latest build's logs
- Command has been simplified to
draft up- Introduced the
--auto-connectflag 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 logsfunctionality- Each instance of
draft upresults 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/-cflag 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 createfails on the first language, it now attempts all other detected languages for packs
draft up -eanddraft connect -ewill now return an error if the environment is not found in draft.toml
- ported linguist's .gitattributes support
draft createnow bootstraps with acharts/directory, as opposed tochart/- application releases are purged from the Kubernetes cluster on
draft delete - added
--dry-runflag 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 deleteto remove applications from Kubernetes - implemented
draft logsto view build logs afterdraft up - added --tail flag to
draft connect(as well asdraft logs) - added -i/--image flag to
draft initto 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-namespacefor 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 draftto try it out
- introduced a new plugin manager! See
draft plugins - introduced smarter language detection for apps through
draft create draft init --yeshas 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 createto 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=trueas an injected value into charts deployed via Draft
- alter project governance to a more team-based model
- add documentation on the new
draft pluginsfeature
- 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 initfor a smoother installation experience
- image pull secrets are now updated on changes
- fixed some bugs with running draft on Windows, specifically around
draft homeanddraft 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 initbehaviour - 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
basedomainand 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.shto run the test suite inside a container
Initial release! 🎉