This project publishes the Cloud Foundry documentation as a web application.
This repository uses the Bookbindery gem to generate the documentation as a web application. The Bookbinder gem has been tested with the following Ruby versions:
- 2.5.3
- 2.5.5
- 2.6.3
- 2.6.6
- 2.6.8
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 repository is: https://github.com/cloudfoundry/docs-buildpacks.
- For the Developer Guide Docs at http://docs.cloudfoundry.org/devguide/services/, the content repository 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
Tip: If you run into issues with
libv8
on macOS, try following these steps using a non-system version of Ruby (rbenv
recommended). Tip: If you run into issues with the installation of Ruby 2.6.8 on macOS Ventura, try following steps and run it inside a container.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 about 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 repositories for each book.
The config.yml
file of each book contains the list of content repositories and branches that appear in the doc set.
In the config.yml
file, each content repository is specified in the repository
subsection.
This subsection includes an optional ref
key-value pair which defines the branch of the content repository that the book uses.
Make sure that you are adding your content to the correct branches of the content repositories.
To determine which branch of a content repository that a book version uses:
-
Confirm that you are on the correct book branch. For example, the currently published doc might be on the
main
branch or on the branch corresponding to its version number. -
Open the
config.yml
file. -
Search for the name of the content repository, for example,
docs-cloudfoundry-concepts
. -
Review the
repository
subsection for the content repository. If there is noref:
tag, then the repository uses the main branch. If there is aref
key-value pair, it specifies the branch name of the content repository. For example:
- repository:
name: cloudfoundry/docs-cloudfoundry-concepts
ref: '225'
ref: '225'
refers to the 225 branch of the docs-cloudfoundry-concepts repository. Cloud Foundry 225
is associated with v255 of cf-release.
1.5
, 2.2
and 4.5
map to cf-deployment releases.