v0.3.0
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.
Buildpacks are available on both Vagrant [#95876346] and Terraform [#96611016].
New Features
ltc target
discovers the droplet store and stores its configuration. [#100303730]ltc
does not complain if it cannot find a droplet store; droplet functionality is left disabled.ltc
will attempt to use same credentials as API endpoint for droplet store.vagrant up
provisioner defaults to no-auth configurationterraform apply
provisioner useslattice_username
andlattice_password
values fromlattice.tf
to configure droplet store.
ltc build-droplet
uploads 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
--path
argument 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
.cfignore
. [#92186460]
ltc launch-droplet
launches a container running the specified droplet [#92186446] [#98321746] [#98847942]ltc list-droplets
lists the droplets stored in droplet store [#92186452] [#98201982]ltc remove-droplet
deletes a droplet from the droplet store [#92186454] [#98290714]ltc export-droplet
downloads the droplet tarball and metadata [#92186466]ltc import-droplet
uploads a droplet and its metadata [#92186470]- Upgraded to Diego 0.1398.0 & a major upgrade of garden-linux with btrfs [#100301008] [#98882812]
Documentation
ltc
docs 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-lrp
launches a container running the specified droplet [#97202034]
Once you've runbuild-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 thatlaunch-droplet
does in a more user-friendly way.
Known Issues
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]
Download Links
ltc
CLI
Terraform Files
- AWS:
lattice.aws.tf
- DigitalOcean:
lattice.digitalocean.tf
- Google Cloud:
lattice.google.tf
- Openstack:
lattice.openstack.tf