Skip to content

cloudfoundry/bosh-google-cpi-release

Repository files navigation

BOSH Google CPI release

This is a BOSH release for the BOSH Google CPI.

Releases

Releases are available on bosh.io: https://bosh.io/releases/github.com/cloudfoundry-incubator/bosh-google-cpi-release?all=1. Please see CHANGELOG.md for details of each release.

Stemcell

Stemcells are available on bosh.io: http://bosh.io/stemcells/bosh-google-kvm-ubuntu-trusty-go_agent

Usage

If you are not familiar with BOSH and its terminology please take a look at the BOSH documentation.

Permissions

The Google Cloud permissions necessary for using the BOSH Google CPI are documented in an example role file. This role can be created using the following gcloud command, then applied to the service account you use with the CPI:

gcloud iam roles --project <project-id> create bosh.director \
  --file <( bosh int -v project_id=<project-id> bosh-director-role.yml )

Deploy a BOSH Director on Google Cloud Platform

BOSH Bootloader is the recommended way to deploy a BOSH director on GCP. Detailed instructions are available here.

Deploy other software

After you have followed the instructions for deploying a BOSH director in docs/bosh/README.md, you may deploy releases like Cloud Foundry or Concourse by following the links below:

Developing

Contributions to the CPI are welcome. Unit and integration tests for any new features are encouraged.

Running unit tests

There is a Makefile target for running unit tests on the Golang code for the CPI.

cd src/bosh-google-cpi
make test

Running integration tests

  1. Set your project:
export GOOGLE_PROJECT=your-project-id
export GOOGLE_JSON_KEY=your-file-location-of-gcp-json-key
export GOOGLE_APPLICATION_CREDENTIALS=your-file-location-of-gcp-json-key
  1. Create the infrastructure required to run tests:
make configint
  1. Run the integration tests:
make testint

To destroy the infrastructure required to run the integration tests, execute:

make cleanint

Contributing

For detailes on how to contribute to this project - including filing bug reports and contributing code changes - pleasee see CONTRIBUTING.md.