Skip to content

cloudfoundry/cf-networking-release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CF Networking Release

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.

Downloads

Our BOSH release is available on bosh.io and on our GitHub Releases page

Getting Help

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.

Contributing

Please look at the "Contributing to CF Networking" doc for more information.

Docs Table of Contents

  1. CF Networking Operator Resources
  2. CF App Developer Resources
  3. CF Networking Contributor Resources
  4. CF CNI Plugin Developer Resources

CF Networking Operator Resources

What does CF Networking do?

  • What is CF Networking explains the problems that this release solves and describes the basic functionaltiy that this release provides.

CF Networking Architecture

Deploying CF Networking

CF Networking is automatically included in CF Deployment. You don't have to do anything!

Configuring CF Networking

Monitoring

  • Service Discovery Metrics lists all of the available metrics for the service discovery components.
  • TODO - add doc for c2c networking metrics.

Troubleshooting

CF Networking App Developer Resources

Using CF Networking with CLIs

Using CF Networking APIs

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

Example Apps

  • Example Apps Overview describes a handful of example apps (like the ever popular proxy) and the features that they provide.

CF Networking Contributor Resources

Contributing Guide

  • The Contributing Guide describes the steps you should take to contribute. Thanks in advance! We love our community :D
  • Adding Libraries or Packages describes how to add external golang libraries or new bosh packages to this release.

Developer Workflow

  • 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

With Docker

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.

CF CNI Plugin Developer Resources