All Projects → cloudfoundry → routing-release

cloudfoundry / routing-release

Licence: Apache-2.0 License
This is the BOSH release for cloud foundry routers

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects
HTML
75241 projects
go
31211 projects - #10 most used programming language
HCL
1544 projects

Projects that are alternatives of or similar to routing-release

cf-networking-release
Container Networking for CloudFoundry
Stars: ✭ 66 (+83.33%)
Mutual labels:  bosh-release, cff-wg-app-runtime-platform
credhub-cli
CredHub CLI provides a command line interface to interact with CredHub servers
Stars: ✭ 38 (+5.56%)
Mutual labels:  cloudfoundry
minio-boshrelease
MinIO release for http://bosh.io/
Stars: ✭ 31 (-13.89%)
Mutual labels:  bosh-release
credhub
CredHub centralizes and secures credential generation, storage, lifecycle management, and access
Stars: ✭ 203 (+463.89%)
Mutual labels:  cloudfoundry
silk
a network fabric for containers. inspired by flannel, designed for Cloud Foundry.
Stars: ✭ 13 (-63.89%)
Mutual labels:  cff-wg-app-runtime-platform
cf-sample-app-spring
Introduction to Cloud Foundry app deployment and management concepts.
Stars: ✭ 30 (-16.67%)
Mutual labels:  cloudfoundry
cf-python-client
Small cloudfoundry client implemented in python
Stars: ✭ 50 (+38.89%)
Mutual labels:  cloudfoundry
spring-cloud-app-broker
Spring Cloud project for implementing service brokers that conform to the Open Server Broker API specification
Stars: ✭ 26 (-27.78%)
Mutual labels:  cloudfoundry
openbrokerapi
A python package for the V2 CF Service Broker API
Stars: ✭ 32 (-11.11%)
Mutual labels:  cloudfoundry
vault-boshrelease
No description or website provided.
Stars: ✭ 29 (-19.44%)
Mutual labels:  bosh-release
bosh-vsphere-cpi-release
BOSH vSphere CPI
Stars: ✭ 29 (-19.44%)
Mutual labels:  bosh-release
loggregator
Archived: Now bundled in https://github.com/cloudfoundry/loggregator-release
Stars: ✭ 61 (+69.44%)
Mutual labels:  cloudfoundry
bosh-softlayer-cpi-release
An external BOSH CPI for the SoftLayer cloud written in Golang
Stars: ✭ 14 (-61.11%)
Mutual labels:  bosh-release
antifreeze
Cloud Foundry CLI plugin to detect if an app doesn't match the manifest
Stars: ✭ 21 (-41.67%)
Mutual labels:  cloudfoundry
cf-swagger
Collection of Swagger descriptions and applications for CloudFoundry BOSH
Stars: ✭ 22 (-38.89%)
Mutual labels:  cloudfoundry
mssql-server-broker
Cloud Foundry service broker for Microsoft SQL Server
Stars: ✭ 13 (-63.89%)
Mutual labels:  cloudfoundry
volman
No description or website provided.
Stars: ✭ 13 (-63.89%)
Mutual labels:  cff-wg-app-runtime-platform
guardian
containers4life
Stars: ✭ 75 (+108.33%)
Mutual labels:  cff-wg-app-runtime-platform
heroku-buildpack-deno
Heroku Buildpack for Deno
Stars: ✭ 72 (+100%)
Mutual labels:  cloudfoundry
logsearch-boshrelease
A BOSH-scalable ELK release
Stars: ✭ 45 (+25%)
Mutual labels:  bosh-release

Routing Release

This repository is a BOSH release for deploying Gorouter, TCP Routing, and other associated tasks that provide HTTP and TCP routing in Cloud Foundry foundations.

Downloads

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

Getting Help

If you have a concrete issue to report or a change to request, please create a Github issue on routing-release.

Issues with any related submodules (Gorouter, Routing API, Route Registrar, CF TCP Router) should be created here instead.

You can also reach us on Slack at cloudfoundry.slack.com in the #cf-for-vms-networking. channel.

Contributing

See the Routing Contributing Resources section for more information on how to contribute.

Table of Contents

  1. Routing Operator Resources
  2. Routing App Developer Resources
  3. Routing Contributor Resources

Routing Operator Resources

High Availability

The TCP Router and Routing API are stateless and horizontally scalable. The TCP Routers must be fronted by a load balancer for high-availability. The Routing API depends on a database, that can be clustered for high-availability. For high availability, deploy multiple instances of each job, distributed across regions of your infrastructure.

Routing API

For details refer to Routing API.

Metrics

For documentation on metrics available for streaming from Routing components through the Loggregator Firehose, visit the CloudFoundry Documentation. You can use the NOAA Firehose sample app to quickly consume metrics from the Firehose.

Routing App Developer Resources

Session Affinity

For more information on how Routing release accomplishes session affinity, i.e. sticky sessions, refer to the Session Affinity document.

Headers

X-CF Headers describes the X-CF headers that are set on requests and responses inside of CF.

Routing Contributor Resources

CI Statuses

Job Status
unit tests networking.ci.cf-app.com
performance tests networking.ci.cf-app.com
smoke tests networking.ci.cf-app.com

Developer Workflow

When working on individual components of the Routing Release, work out of the submodules under src/.

Run the appropriate unit tests (see Testing).

The release branch contains code that has been released. All development work happens on the develop branch.

Get the code

  1. Clone the repository
mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/cloudfoundry/routing-release.git
cd routing-release/
  1. Initialize and sync submodules.
./scripts/update

Running BOSH Job Templating Tests

From the root of the repo, run:

Run the specs
rspec ./spec/
Lint the specs
rubocop ./spec/

If you do not have rspec or rubocop installed locally, run ./scripts/start-docker-for-testing.sh and execute the commands in the docker container. Prepend "sudo" to the script if you are an unprivileged user.

Running Unit and Integration Tests

In a Docker container
  • Run tests using the script provided. This script pulls a docker image and runs the tests within a container because integration tests require Linux specific features.

    Notice/warning: the script is called run-unit-tests-in-docker but it really runs unit and integration tests, that's why they need to run in a container.

    ./scripts/run-unit-tests-in-docker #sudo for unprivileged users
  • If you'd like to run a specific component's tests in a Docker container, the run-unit-tests script also takes a package name as an argument:

    ./scripts/run-unit-tests-in-docker gorouter
Locally
  • If you'd like to run the unit and integration tests for an individual component locally, we recommend you run bin/test in that component's directory. Please make sure it's a component that doesn't require a Linux operating system.

Running Acceptance tests

The Routing Acceptance Tests must run against a full Cloud Foundry deployment. One method is to deploy Cloud Foundry on a BOSH lite with cf-deployment.

To run the Routing Acceptance Tests, see the README.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].