Generating Droplets using Buildpacks
Since launch, Lattice has been limited to deploying only Docker containers. Starting with version 0.3.0, we've taught Lattice another trick for using Diego: Droplets. This is made possible by leveraging another Cloud Foundry technology, Buildpacks.
In just a few commands,
ltc uploads your code, runs a CF Buildpack on it, saves the compiled artifact (the Droplet), and launches it alongside your Docker containers. The apps are then managed like any other app on Lattice. The droplets are only kept as long as the Lattice cluster runs, re-build your Droplets when deploying a fresh Lattice cluster.
The provisioner now installs a droplet store alongside Diego.
ltc us automatically configured to use it when you target the Lattice cluster. You will see,
Blob store is targeted, when Buildpack functionality is enabled.
ltc targetdiscovers the droplet store and stores its configuration. [#100303730]
ltcdoes not complain if it cannot find a droplet store; droplet functionality is left disabled.
ltcwill attempt to use same credentials as API endpoint for droplet store.
vagrant upprovisioner defaults to no-auth configuration
terraform applyprovisioner uses
lattice.tfto configure droplet store.
ltc build-dropletuploads the contents of the working directory and builds a droplet using the specified buildpack [#92186444], [#92186448] [#92186462] [#92186464] [#98559752] [#98554024]
- writes logs to build-droplet-DROPLET-NAME [#98292720]
- accepts a
--pathargument to allow user to specify a file or directory to upload. [#92186456]
- prints a failure message if staging fails, and returns a non-zero exit code. [#92186450] [#98818480]
- does not upload files that match entries in
ltc launch-dropletlaunches a container running the specified droplet [#92186446] [#98321746] [#98847942]
ltc list-dropletslists the droplets stored in droplet store [#92186452] [#98201982]
ltc remove-dropletdeletes a droplet from the droplet store [#92186454] [#98290714]
ltc export-dropletdownloads the droplet tarball and metadata [#92186466]
ltc import-dropletuploads a droplet and its metadata [#92186470]
- Upgraded to Diego 0.1398.0 & a major upgrade of garden-linux with btrfs [#100301008] [#98882812]
ltcdocs updated to reflect droplet syntax [#98824900]
- Totally re-vamped development-readme and scripts to set up a dev environment [#98769190]
- Now includes CF_VERSION in addition to DIEGO_VERSION [#99906506]
Interestings and Bugfixes
- AWS images cannot deploy in international regions #158 [#100481868]
ltc submit-lrplaunches a container running the specified droplet [#97202034]
Once you've run
build-droplet, you can manually submit it as an LRP using a JSON file that you write yourself. For those who want Total Control, this is a low-level way to do the same thing that
launch-dropletdoes in a more user-friendly way.
ltc build-droplet in v0.3.0 is limited to only 128MB of RAM. Larger applications may struggle to build properly. Please download the latest unstable
ltc if you run into this issue. This will be configurable in the next Lattice release. [#100701142]