All Projects → pivotal-cf → bbr-pcf-pipeline-tasks

pivotal-cf / bbr-pcf-pipeline-tasks

Licence: Apache-2.0 license
Collection of Concourse tasks for backing up a Tanzu Application Service (TAS) installation using BOSH Backup and Restore (BBR)

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to bbr-pcf-pipeline-tasks

cf-ops-automation
a collaboration framework for operating cloudfoundry and services at scale
Stars: ✭ 21 (-46.15%)
Mutual labels:  cloudfoundry, bosh
nfs-volume-release
No description or website provided.
Stars: ✭ 17 (-56.41%)
Mutual labels:  cloudfoundry, bosh
credhub
CredHub centralizes and secures credential generation, storage, lifecycle management, and access
Stars: ✭ 203 (+420.51%)
Mutual labels:  cloudfoundry, bosh
paas-templates
Bosh, CFAR, CFCR and OSB services templates for use with COA (cf-ops-automation) framework
Stars: ✭ 16 (-58.97%)
Mutual labels:  cloudfoundry, bosh
credhub-cli
CredHub CLI provides a command line interface to interact with CredHub servers
Stars: ✭ 38 (-2.56%)
Mutual labels:  cloudfoundry, bosh
monarch
App-level Chaos Engineering
Stars: ✭ 26 (-33.33%)
Mutual labels:  cloudfoundry
cf-rabbitmq-release
A BOSH Release of RabbitMQ
Stars: ✭ 29 (-25.64%)
Mutual labels:  bosh
routing-release
This is the BOSH release for cloud foundry routers
Stars: ✭ 36 (-7.69%)
Mutual labels:  cloudfoundry
cf-k8s-networking
building a cloud foundry without gorouter....
Stars: ✭ 33 (-15.38%)
Mutual labels:  cloudfoundry
multiple-deployment-options
Shows how one service can be deployed to multiple deployment options
Stars: ✭ 20 (-48.72%)
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 (-33.33%)
Mutual labels:  cloudfoundry
terraform-oci-cf-install
Terraform configurations for bootstrapping a CloudFoundry environment on Oracle Cloud Infrastructure
Stars: ✭ 15 (-61.54%)
Mutual labels:  cloudfoundry
go-uaa
UAA API Client Library
Stars: ✭ 14 (-64.1%)
Mutual labels:  cloudfoundry
PCC-Sample-App-PizzaStore
Example sample application which uses Pivotal Cloud Cache(PCC) as a service on Pivotal Cloud Foundry
Stars: ✭ 18 (-53.85%)
Mutual labels:  cloudfoundry
logistics-wizard
The Logistics Wizard is an end-to-end, smart supply chain management solution that showcases how to execute hybrid cloud, microservices, and predictive data analytics in the real world.
Stars: ✭ 99 (+153.85%)
Mutual labels:  cloudfoundry
heroku-buildpack-deno
Heroku Buildpack for Deno
Stars: ✭ 72 (+84.62%)
Mutual labels:  cloudfoundry
uaa-cli
CLI for UAA written in Go
Stars: ✭ 22 (-43.59%)
Mutual labels:  cloudfoundry
cf-mysql-plugin
Cloud Foundry CLI MySQL Plugin
Stars: ✭ 35 (-10.26%)
Mutual labels:  cloudfoundry
akka-react-cloudant
A Soccer Dashboard created by scraping EPL website using Akka backend and ReactJS frontend and IBM Cloudant for object storage. IBM Cloud Foundry is used to host both frontend and backend app.
Stars: ✭ 21 (-46.15%)
Mutual labels:  cloudfoundry
cf-abacus
CF usage metering and aggregation
Stars: ✭ 100 (+156.41%)
Mutual labels:  cloudfoundry

BBR PCF Pipeline Tasks

This is a collection of Concourse tasks for backing up a Pivotal Cloud Foundry installation using bbr. The intention of this collection is to provide a set of example Concourse scripts to perform BBR tasks. This is not a supported product, although we will try out best to respond via Github issues to any problems faced.

All Foundations

PAS

PKS

Helper


Requirements

GitHub Account

For Concourse to pull the tasks it needs to reach out to GitHub. We use the SSH method to download the tasks from GitHub in the example pipelines and we strongly recommend that the HTTPS method is not used. Concourse typically polls GitHub for any changes to the target Git repo and the HTTPS method is subject to rate limits. The SSH method is not subject to the same rate limits as it authenticates the client against a GitHub user which has much higher limits.

Please create and add and SSH key to your GitHub account as this will needs to be used in the pipeline secrets.

Networking

To use any of these tasks, apart from export-om-installation, you will need either:

  • a Concourse worker with access to your Ops Manager private networks. You can find an example template for deploying an external worker in a different network to your Concourse deployment here
  • or, provide the OPSMAN_PRIVATE_KEY to use a SSH tunnel via the Ops Manager VM. This key is not required if your concourse worker has access to the Ops Manager private networks. Please note, using a SSH tunnel may increase the time taken to drain backup artifacts. Backup artifacts can be very large and using a SSH tunnel will be a significant overhead on network performance.

Disk space

The backup tasks will run bbr commands on your Concourse worker. Ensure that your Concourse workers have enough disk space to accommodate your backup artifacts.


Example pipelines

Example pipelines and secrets are provided to show how to use these tasks to back up PAS or PKS.

Triggers

Running regular backups (at least every 24 hours) and storing multiple copies of backup artifacts in different datacenters is highly recommended. The time Concourse resource can be added to the pipeline to trigger backups regularly.

Backup artifact storage

There are a variety of storage resources such as S3 that can be used to move backups to storage. A list of Concourse resources can be found here.

HTTP Proxies

The BBR task for backing up deployments will communicate with the BOSH API.

You can proxy this request by setting the BOSH_ALL_PROXY environment variable:

  • BOSH_ALL_PROXY :: Proxy used to reach the bosh director. Example: ssh+socks5://[email protected]:22

In addition, you may be in the habit of proxying other requests using the HTTPS_PROXY environment variable. This is common if, for example, you have a concourse deployed on one k8s cluster that is usually used to test apps deployed to another k8s cluster.

  • HTTPS_PROXY :: Proxy for all other requests. Example: proxy.example.com

You can also set the NO_PROXY environment variable with a list of IPs, IP prefixes, or domains where the proxy should not be used. This will cause BBR and other utilities to ignore BOSH_ALL_PROXY and HTTPS_PROXY for requests to those addresses. BBR uses standard go libraries for interpreting NO_PROXY, and so will behave similarly to other utilities.

A common pattern is to use a proxy for the majority of your network communication, but to exclude the bosh director. For this use-case, you can set the SET_NO_PROXY environment variable to truein your backup task. This will have the effect of prepending the BOSH director IP to the NO_PROXY list. Otherwise, the NO_PROXY environment variable will not be changed.

- task: bbr-backup-pas
  file: bbr-pipeline-tasks-repo/tasks/bbr-backup-pas/task.yml
  params:
    SKIP_SSL_VALIDATION: ((skip-ssl-validation))
    OPSMAN_URL: ((opsman-url))
    OPSMAN_USERNAME: ((opsman-username))
    OPSMAN_PASSWORD: ((opsman-password))
    OPSMAN_PRIVATE_KEY: ((opsman-private-key))    
    SET_NO_PROXY: true

Semantic Versioning

The inputs, outputs, params, filename, and filepath of all task files in this repo are part of a semantically versioned API. See our documentation for a detailed discussion of our semver API. See www.semver.org for an explanation of semantic versioning.

Pinning to a version

This repository has git tags that can be used to pin to a specific version. For example, here is how to pin to v1.0.0 using tag_filter:

resources:
- name: bbr-pipeline-tasks-repo
  type: git
  source:
    uri: https://github.com/pivotal-cf/bbr-pcf-pipeline-tasks.git
    branch: master
    tag_filter: v1.0.0
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].