How to install a custom stack in your own Cloud Foundry cluster?


Daniel van Dorp
 

This is a follow-up of this Github conversation: https://github.com/cloudfoundry/stacks/issues/20

Currently we ship the Java Runtime and various dependencies in the droplet but found the packaging, uploading to the blob store, downloading and unpacking steps to be quite slow (> 1 minute).

As we only have apps in our cluster which have common dependencies (Oracle Java Runtime, large .jars), it would be great if we can build our custom stack and install it on our CF cluster, so we can optimize the buildpack to omit certain things from the droplet as they are already present on the root fs.

Can this (something like "cf create-stack"/"cf add-stack") be done?
Compiling our own stack was easy; forking https://github.com/cloudfoundry/stacks and modify it to our needs by adding things like the Oracle Java Runtime to be available by default.
However, we have no clue on how to install/add it in CF and make it the default stack.
We hope others might have production experience with making their own stacks.

Some more context: this is for our users' development environments, so it's mostly about getting changed code live as quickly as possible. Downtime is not an issue. The problem is that the droplet gets pretty bloated (150M+, while the app itself is < 10M) and transferring that is slow. We're aiming to minimize time from app push to accepting http requests.

JT Archie (@jtarchie on Github) was already kind enough to provide us with some helpful information, but has pointed us in this direction for further questions and/or help.

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.