This project publishes the Cloud Foundry documentation as a web application.
In this topic:
- What's in this Repo
- Topic Repositories
- Contributing Pull Requests
- Determine Content Repos and Branches of a Book
This repo uses the Bookbinder gem to generate the documentation as a web application.
The config.yml file contains the list of topic repositories.
The master_middleman folder contains the layouts, styles, and subnav used to create the web pages.
This repository does not contain the documentation content. Documentation content is contained in the topic repositories listed in the config.yml.
The following list describes the topic repositories that make up the Cloud Foundry documentation set
- Cloud Foundry Concepts: Underlying concepts and architecture
- Cloud Foundry Command-Line Interface (cf CLI): A guide to the cf CLI for Cloud Foundry developers and users
- Developer Guide: Step-by-step instructions and reference material for developers pushing applications to Cloud Foundry
- Deploying Cloud Foundry: Instructions for operators using BOSH to deploying Cloud Foundry on AWS, vSphere, vCloud, OpenStack, etc.
- Running Cloud Foundry: Information for operators running Cloud Foundry
- Administrator Tools: Documentation about operating Cloud Foundry deployments using BOSH and the cf command line tool
- Services: Information about extending Cloud Foundry with custom services, and the service broker API
- Buildpacks: Guides to developing your own buildpacks
- Loggregator: Information about the user application logging subsystem of Cloud Foundry
- User Account and Authentication: Information about the Cloud Foundry User Account and Authentication (UAA) Server
To submit a pull request to the documentation, follow this process:
-
Make sure you have a signed CLA. Even if you aren't contributing running code, we still need a Contributor License Agreement.
-
Fork the content repository you want to make a contribution to. See the following examples:
- For the Buildpacks Docs at http://docs.cloudfoundry.org/buildpacks/index.html, the content repo is: https://github.com/cloudfoundry/docs-buildpacks.
- For the Developer Guide Docs at http://docs.cloudfoundry.org/devguide/services/, the content repo is: https://github.com/cloudfoundry/docs-dev-guide
- Clone your fork of the content repository. Make sure to clone your fork of the topic repository to a directory that is a sibling to this book repository. So, for example, if you are contributing content to the Buildpack documentation, your folder structure would look like this:
| +-- docs-book-cloudfoundry | +-- docs-buildpacks |
-
Make your changes.
-
Run bookbinder on your local changes:
$ cd docs-book-cloudfoundry $ bundle install $ bundle exec bookbinder watch
Bookbinder attempts to assemble the doc set from your local copies. It skips any topic repositories that you do not have checked out. For more information on Bookbinder, see the Bookbinder README.
-
Point your browser at
localhost:4567
to preview your changes. On save, your browser will reload with any additional changes you make. -
Commit your changes, rebase from upstream, and push to your fork.
-
Submit a pull request (PR) from your fork to the original repositories.
The CF Docs team will review and merge the PR. They may contact you with questions or edit the PR for formatting and style. Note: After your pull request is merged, your changes appear on docs.cloudfoundry.org the next time the cf-docs team pushes updates to the production docs. Updates go live at least once a week.
The config.yml
defines the content repos for each book.
The config.yml
file of each book contains the list of content repos and branches that appear in the doc set.
In the config.yml
file, each content repo is specified in the repository
subsection.
This subsection includes an optional ref
key-value pair which defines the branch of the content repo the book uses.
Make sure that you are adding your content to the correct branches of the content repos.
To determine which branch of a content repo a book version uses:
-
Confirm that you are on the correct book branch. For example, the currently published doc might be on the
master
branch or on the branch corresponding to its version number. -
Open the
config.yml
file. -
Search for the name of the content repo, for example,
docs-cloudfoundry-concepts
. -
Review the
repository
subsection for the content repo. If there is noref:
tag, then the repo uses the master branch. If there is aref
key-value pair, it specifies the branch name of the content repo. For example,
- repository:
name: cloudfoundry/docs-cloudfoundry-concepts
ref: '225'
ref: '225'
refers to the 225 branch of the docs-cloudfoundry-concepts repo. Cloud Foundry 225
is associated with v255 of cf-release.
1.5
, 2.2
and 4.5
map to cf-deployment releases.