Container Networking for CloudFoundry
This repository is a BOSH release for deploying CF Networking and associated tasks. CF Networking provides policy-based container networking and service discovery for Cloud Foundry.
For information on getting started with Cloud Foundry look at the docs for CF Deployment.
Our BOSH release is available on bosh.io and on our GitHub Releases page
For help or questions with this release or any of its submodules, you can reach
the maintainers on Slack at
cloudfoundry.slack.com in the #cf-for-vms-networking
channel.
Please look at the "Contributing to CF Networking" doc for more information.
Container to Container Networking Architecture goes step-by-step through the container to container networking control plane and data plane flows.
Service Discovery Architecture goes step-by-step through the control plane and data plane flows for service discovery.
CF Networking is automatically included in CF Deployment. You don't have to do anything!
Policy Server External API contains full docs on all endpoints for the external policy server. This includes creating, listing, and deleting policies.
Policy Server Internal API contains full docs on all endpoints for the internal policy server. This includes creating and listing tags and getting policies.
Clone CI repository (next to where this code is cloned), and make sure latest
is pulled by running git pull
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/cloudfoundry/wg-app-platform-runtime-ci.git
Git - Distributed version control system
Go - The Go programming language
Running tests for this release requires a DB
flavor. The following scripts with default to mysql
DB. Set DB
environment variable for alternate DBs e.g. <mysql-8.0(or mysql),mysql-5.7,postgres>
./scripts/create-docker-container.bash
: This will create a docker container with appropriate mounts../scripts/test-in-docker-locally.bash
: Create docker container and run all tests and setup in a single script.
./scripts/test-in-docker-locally.bash <package> <sub-package>
: For running tests under a specific package and/or sub-package: e.g. ./scripts/test-in-docker-locally.bash policy-server api
When inside docker container:
/repo/scripts/docker/test.bash
: This will run all tests in this release/repo/scripts/docker/test.bash policy-server
: This will only run policy-server
tests/repo/scripts/docker/test.bash policy-server api
: This will only run policy-server
sub-package tests for api
package/repo/scripts/docker/tests-templates.bash
: This will run all of tests for bosh tempalates/repo/scripts/docker/lint.bash
: This will run all of linting defined for this repo.