Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Cloud Foundry Release
HTML Shell Ruby Batchfile
Branch: master
Failed to load latest commit information.
.final_builds Final release 215
bosh-lite merge diego settings when generating bosh lite manifest
config Bump rootfs to 1.4.0
docs Add instructions for fixing accidental commits to master.
example_manifests Remove most references to login job
git Merge branch 'master' into services-r11 by squash
jobs Merge remote-tracking branch 'origin/pr/758' into develop
packages Bump rootfs to 1.4.0
pipeline-image Update jq in pipeline image to 1.4
releases Final release 215
scripts Remove unused scripts
shared @ 87112ba Bump shared, src/cloud_controller_ng, src/gorouter, src/hm9000, src/w…
spec Bump rootfs to 1.4.0
src Bump src/github.com/cloudfoundry/cf-acceptance-tests
templates Revert "Updated warden networks generator script to match the expecte…
.gitattributes fix .gitattributes
.gitignore Add Gemfile.lock to repo so tests run against consistent gem versions
.gitmodules Remove the login job from cf-release
.rspec Run specs colorfully
.ruby-version Upgrade cf-release to use ruby 2.1.6
CONTRIBUTING.md Add information about manifest specs in contribution guidelines
Gemfile New test suite for manifest generation
Gemfile.lock Add instructions for anyone to generate an HTML doc showing changes t…
LICENSE Change p484 to p545
NOTICE Update NOTICE
README.md Remove most references to login job
check_travis.rb Move scripts needed by mysql release into shared release repo
commit_with_shortlog Move scripts needed by mysql release into shared release repo
generate_deployment_manifest Revert "Revert "Merge pull request #734 from JamesClonk/master""
outdated use travis everywhere
outdated_stats Count submodule commits since last pointer bump
staged_shortlog Move scripts needed by mysql release into shared release repo
update Sync submodules before updating in update script
update.bat added Windows version of ./update script

README.md

Build Status

Welcome to Cloud Foundry

Cloud Foundry is an open platform as a service (PaaS) that provides a choice of clouds, developer frameworks, and application services. Cloud Foundry makes it faster and easier to build, test, deploy, and scale applications.

This repository contains the Cloud Foundry source code.

Our documentation (currently a work in progress) is available here: http://docs.cloudfoundry.org/

Release notes for final releases are available here: https://github.com/cloudfoundry/cf-release/releases

  1. About Branches
  2. Repository Contents
  3. Cloud Foundry Components (V2)
  4. Running Cloud Foundry
  5. Useful Scripts
  6. Ask Questions
  7. File a Bug
  8. Understanding Changes
  9. Contributions

About Branches

The develop branch is where we do active development. Although we endeavor to keep the develop branch stable, we do not guarantee that any given commit will deploy cleanly.

The release-candidate branch has passed all of our unit, integration, smoke, & acceptance tests, but has not been used in a final release yet. This branch should be fairly stable.

The master branch points to the most recent stable final release.

At semi-regular intervals a final release is created from the release-candidate branch. This final release is tagged and pushed to the master branch.

Pushing to any branch other than develop will create problems for the CI pipeline, which relies on fast forward merges. To recover from this condition follow the instructions here.

Repository Contents

This repository is structured for use with BOSH; an open source tool for release engineering, deployment and lifecycle management of large scale distributed services. There are several directories of note:

  • jobs: start and stop commands for each of the jobs (processes) running on Cloud Foundry nodes.
  • packages: packaging instructions used by BOSH to build each of the dependencies.
  • src: the source code for the components in Cloud Foundry. Note that each of the components is a submodule with a pointer to a specific SHA.
  • releases: yml files containing the references to blobs for each package in a given release; these are solved within .final_builds
  • .final_builds: references into the public blostore for final jobs & packages (each referenced by one or more releases)
  • config: URLs and access credentials to the bosh blobstore for storing final releases
  • git: Local git hooks

Running Cloud Foundry

Cloud Foundry can be run locally or in the cloud. The best way to run Cloud Foundry is to deploy it using BOSH. For more information about using BOSH, the bosh-release repository has links to documentation, mailing lists, and IRC channels.

To run BOSH and Cloud Foundry locally, use BOSH-Lite. BOSH-Lite provisions a Vagrant VM running the BOSH director as well as Garden-Linux for creating Linux containers that simulate VMs in a real IaaS.

To run BOSH and Cloud Foundry in the cloud, there are several supported IaaS providers, primarily AWS, vSphere, and OpenStack.

Full instructions on infrastructure setup, building Cloud Foundry, and deploying Cloud Foundry with BOSH are available on our documentation site.

Cloud Foundry Components (V2)

The current development efforts center on V2, also known as NG. For information on what the core team is working on, please see our roadmap.

The components in a V2 deployment are:

Component Description Build Status
Cloud Controller (cc) The primary API entry point for Cloud Foundry. API documentation here. Build Status
gorouter The central router that manages traffic to applications deployed on Cloud Foundry. Build Status
DEA (dea_next) The droplet execution agent (DEA) performs two key activities in Cloud Foundry: staging and hosting applications. Build Status
Health Manager The health manager monitors the state of the applications and ensures that started applications are indeed running, their versions and number of instances correct. Build Status
UAA The UAA (User Account and Authentication) is the identity management service for Cloud Foundry. Build Status
Collector The collector will discover the various components on the message bus and query their /healthz and /varz interfaces. Build Status
Loggregator Loggregator is the user application logging subsystem for Cloud Foundry. Build Status

Useful Scripts

  • ./update pulls cf-release and updates all submodules (recursively) to the correct commit. This is useful in the following situations:
    • After you've first cloned the repo
    • Before you make changes to the directory. (Running the script avoids having to rebase your changes on top of submodule updates.)
  • ./commit_with_shortlog commits changes you've made using update_sub.

Ask Questions

Questions about the Cloud Foundry Open Source Project can be directed to our Mailing Lists: https://lists.cloudfoundry.org/mailman/listinfo

There are lists for Cloud Foundry Developers, BOSH Users, and BOSH Developers.

File a Bug

Bugs can be filed using GitHub Issues in the respective repository of each Cloud Foundry component.

Understanding Changes

You can generate an HTML document which will show all commits between any two given SHAs, branches, tags, or other references, and then view it in your favourite browser:

$ bundle && bundle exec git_release_notes html --from=v210 --to=v212 > /tmp/changes.html && open /tmp/changes.html

Contributions

Please read the contributors' guide

Something went wrong with that request. Please try again.