This repository has been archived by the owner on Jan 28, 2022. It is now read-only.
v0.19.0
For release v0.19.0, this repository has moved to the cloudfoundry-incubator Github org.
This release includes a complete refactoring of CF Local and forge to use packs. Packs are buildpack builder images that provide a simple, generic, image-based interface for using buildpacks with a variety of tools that support Docker images.
Release Notes
- Complete support for HTTP/HTTPS proxies on all platforms (#14)
Proxy environment variables (such as$http_proxy
) that are set in your shell are now propagated into local app containers that are running in Docker.
Note: To prevent local proxy settings from applying to app containers running in remote Docker servers, this behavior is disabled if$DOCKER_HOST
is set to a non-default value. You may override this behavior by setting$CFL_USE_PROXY
totrue
orfalse
. - New
-t
flag:cf local run myapp -t
This new flag tocf local run
starts an interactive terminal in the app's environment.
$ cf local run my-rails-app -t -p 8080
Running my-rails-app on port 8080...
vcap@my-rails-app:~$ ls
app config.ru lib package.json README.md vendor
bin Gemfile log public test yarn.lock
config Gemfile.lock node_modules Rakefile tmp
vcap@my-rails-app:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
vcap 1 3.6 2.9 892720 59660 ? Ssl 08:33 0:01 puma 3.8.2 [app]
vcap 9 0.0 0.1 62536 3836 pts/0 Ss 08:33 0:00 bash
vcap 54 0.0 0.1 59928 2676 pts/0 R+ 08:33 0:00 ps aux
vcap@my-rails-app:~$ rails c
Loading production environment (Rails 5.1.0.beta1)
irb(main):001:0>
- Significant performance enhancements
This is due to the use of pre-built packs images as well as more aggressive caching introduced in the most recent Cloud Foundry buildpacks. - Simplified options for local volume mounting in the
cf local stage
andcf local run
commands
There is now a single local volume mounting option available viacf local run -d
. It always uses the contents of the local directory and uses rsync to copy the files into the app root before the app starts. If you'd like to retrieve a staged app root, it must be manually extracted out of the droplet tarball. Let me know if acf local extract
command would be useful for this purpose. - Fixed an SSL validation bug when communicating with Cloud Controller. (#18)
- Fixed a (pre-release) bug with
cf local run -t
. (#20) - Compiled with Go 1.10 to prevent some crashes on Windows. (#15)
- Upgraded to Diego 1.32.0.
Compiled with: Go 1.10 on macOS 10.13.2
Roadmap
- Performance enhancements that will use Docker image layer rebasing to significantly reduce staging time in cases where no app dependencies have changed
cf local develop
, pending buildpack features- Local services marketplace
Known Differences from CF
- No instance identity credentials
- No support for adding custom CAs to the system CA store
Known Issues
- Writes UNIX line endings on Windows in some cases
- Some file paths may require UNIX path separators (
/
) on Windows