Eclipse Virgo buildpack
This is a Cloud Foundry buildpack for running Eclipse Virgo applications. It is a fork of the Cloud Foundry Java Buildpack. The buildpack knows how to detect and launch certain types of applications (described below) in Virgo.
To use this buildpack specify the URI of the repository when pushing an application to Cloud Foundry:
cf push --buildpack https://github.com/glyn/virgo-buildpack
or if using the
gcf push -b https://github.com/glyn/virgo-buildpack
Currently only one type of application is supported.
The application consists of one or more Virgo artefacts in a directory named
pickup. Virgo artefacts include WAR files, OSGi Web Application Bundles, plans, and PAR files. See the Virgo Programmer Guide for more information about these artefact types.
If the artefacts have any dependencies not met by Virgo, the dependency bundles should be stored in a directory named
cf push from a directory containing a
pickup directory and, optionally, a
This type of application causes Virgo Server for Apache Tomcat to be launched as the runtime container.
overlay-sample directory for a trivial example application. You can push this as follows:
cd overlay-sample cf push
The push uses the settings in
manifest.yml. The servlet appears at
<application URL>/nospring. Note that the "Admin Console" link will be broken since the admin console is deleted by the buildpack for security reasons.
A buildpack supports three operations (via corresponding scripts in the
detect <app directory>: prints the application type to standard output and exits with status code 0 if and only if the buildpack can handle the application in the specified directory. Does not modify the specified directory.
compile <app directory> <cache directory>: prepares a droplet for launching the application.
release <app directory>: prints launch information and configuration to standard output in YAML format.
The Virgo buildpack was forked from the CloudFoundry Java buildpack from which the remaining sections of this documentation derive.
CloudFoundry buildpacks were modelled on Heroku buildpacks.
Configuration and Extension
The buildpack supports configuration and extension through the use of Git repository forking. The easiest way to accomplish this is to use GitHub's forking functionality to create a copy of this repository. Make the required configuration and extension changes in the copy of the repository. Then specify the URL of the new repository when pushing Cloud Foundry applications. If the modifications are generally applicable to the Cloud Foundry community, please submit a pull request with the changes.
To learn how to configure various properties of the buildpack, follow the "Configuration" links below. More information on extending the buildpack is available here.
- Standard Containers
- Standard Frameworks
- AppDynamics Agent (Configuration)
- Java Options (Configuration)
- MariaDB JDBC (Configuration)
- New Relic Agent (Configuration)
- Play Framework Auto Reconfiguration (Configuration)
- Play Framework JPA Plugin (Configuration)
- PostgreSQL JDBC (Configuration)
- Spring Auto Reconfiguration (Configuration)
- Spring Insight
- Standard JREs
- Related Projects
To run the tests, do the following:
bundle install bundle exec rake
Installing Cloud Foundry on Vagrant is useful for privately testing new features.
This buildpack is released under version 2.0 of the Apache License.