cloudfoundry/bosh-deployment-resource

Name: bosh-deployment-resource

Owner: Cloud Foundry

Description: null

Created: 2017-01-05 00:26:43.0

Updated: 2018-05-23 13:01:14.0

Pushed: 2018-05-23 13:12:38.0

Homepage: null

Size: 31349

Language: Go

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

BOSH Deployment Resource

A resource that will deploy releases and stemcells using the BOSH CLI v2.

Differences from original BOSH Deployment Resource

The original BOSH Deployment Resource uses the Ruby CLI and does not support newer BOSH features.

Breaking Changes
Adding to your pipeline

To use the BOSH Deployment Resource, you must declare it in your pipeline as a resource type:

urce_types:
me: bosh-deployment
pe: docker-image
urce:
repository: cloudfoundry/bosh-deployment-resource
Source Configuration
Example
me: staging
pe: bosh-deployment
urce:
deployment: staging-deployment-name
target: https://bosh.example.com:25555
client: admin
client_secret: admin
ca_cert: "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----"
Dynamic Source Configuration

Sometimes source configuration cannot be known ahead of time, such as when a BOSH director is created as part of your pipeline. In these scenarios, it is helpful to be able to have a dynamic source configuration. In addition to the normal parameters for put, the following parameters can be provided to redefine the source:

Notes:

Example
t: staging
rams:
source_file: path/to/sourcefile

Sample source file:


"target": "dynamic-director.example.com",
"client_secret": "generated-secret",
"vars_store": {
    "config": {
        "bucket": "my-bucket"
    }
}

Behaviour
in: Download information about a BOSH deployment

This will download the deployment manifest. It will place two files in the target directory:

Note: Only the most recent version is fetchable

Parameters
t: staging
rams:
compiled_releases:
- name: release-one
- name: release-two
out: Deploy or Delete a BOSH deployment (defaults to deploy)

This will upload any given stemcells and releases, lock them down in the deployment manifest and then deploy.

Parameters
ploy
t: staging
rams:
manifest: path/to/manifest.yml
stemcells:
- path/to/stemcells-*
releases:
- path/to/releases-*
vars:
  enable_ssl: true
  domains: ["example.com", "example.net"]
  smtp:
    server: example.com
    port: 25

lete
t: staging
rams:
delete:
  enabled: true
  force: true

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.