Giter Site home page Giter Site logo

cf-release's Introduction

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/.

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 two directories of note:

Source:

  • 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:

  • 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

See the documentation for deploying Cloud Foundry for more information about using BOSH.

In order to deploy Cloud Foundry with BOSH, you will need to create a manifest. To do so, ensure that you have installed Spiff before running ./generate_deployment_manifest <infrastructure-type>; where <infrastructure-type> is one of aws, vsphere, or warden. This script merges together several manifest stubs from the templates directory using Spiff. Consult the spiff repository for more information on installing and using spiff.

A complete sample manifest for vSphere is also available in the Cloud Foundry documentation.

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. 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
Login Server Handles authentication for Cloud Foundry and delegates all other identity management tasks to the UAA. Also provides OAuth2 endpoints issuing tokens to client apps for Cloud Foundry (the tokens come from the UAA and no data are stored locally). 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 Google Groups.

File a bug

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

Contributions

Please read the contributors' guide

cf-release's People

Contributors

andyzh avatar cf-frameworks avatar cliffwang avatar d avatar drnic avatar dsyer avatar eaglechen avatar emalm avatar fhanik avatar gabis avatar jfmyers9 avatar joeldsa avatar julz avatar kushmerick avatar luan avatar mariash avatar mark-rushakoff avatar matthewmcnew avatar mmb avatar onsi avatar oppegard avatar pbozeman avatar pietern avatar ryantang avatar seansweda avatar slimyang avatar sykesm avatar thansmann avatar vito avatar zrob avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.