bosh-bootloader
This is a command line utility for standing up a CloudFoundry or Concourse installation
on an IAAS. This CLI is currently under heavy development, and the initial goal is to
support bootstrapping a CloudFoundry installation on AWS.
Guides
Prerequisites
Install bosh-bootloader using a package manager
Mac OS X (using Homebrew via the cloudfoundry tap):
$ brew install cloudfoundry/tap/bbl
Install Dependencies
The following should be installed on your local machine
Install bosh-bootloader
bosh-bootloader can be installed by downloading the latest Github release.
The AWS IAM user that is provided to bbl will need the following policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:*",
"cloudformation:*",
"elasticloadbalancing:*",
"iam:*"
],
"Resource": [
"*"
]
}
]
}
To allow bbl to set up infrastructure a service account must be provided with the
role 'roles/editor'
Example:
gcloud iam service-accounts create <service account name>
gcloud iam service-accounts keys create --iam-account='<service account name>@<project id>.iam.gserviceaccount.com' <service account name>.key.json
gcloud projects add-iam-policy-binding <project id> --member='serviceAccount:<service account name>@<project id>.iam.gserviceaccount.com' --role='roles/editor'
Usage
The bbl
command can be invoked on the command line and will display its usage.
$ bbl
Usage:
bbl [GLOBAL OPTIONS] COMMAND [OPTIONS]
Global Options:
--help [-h] Prints usage
--state-dir Directory containing bbl-state.json
--debug Prints debugging output
Commands:
bosh-deployment-vars Prints required variables for BOSH deployment
cloud-config Prints suggested cloud configuration for BOSH environment
create-lbs Attaches load balancer(s)
delete-lbs Deletes attached load balancer(s)
destroy Tears down BOSH director infrastructure
director-address Prints BOSH director address
director-username Prints BOSH director username
director-password Prints BOSH director password
director-ca-cert Prints BOSH director CA certificate
env-id Prints environment ID
print-env Prints BOSH friendly environment variables
help Prints usage
lbs Prints attached load balancer(s)
ssh-key Prints SSH private key
up Deploys BOSH director on AWS
update-lbs Updates load balancer(s)
version Prints version
Use "bbl [command] --help" for more information about a command.
Known Issues
Re-running bbl up
Detaches Instances from GCP LBs
Due to bbl
's use of Terraform to create infrastructure on GCP, re-running
bbl up
after deploying either CloudFoundry or Concourse will detach any
instances that were attached to a load balancer created by bbl
. At this
time, the only known work-around is to recreate the affected instance
using bosh recreate
.
The bbl
team is planning to address this issue in an upcoming release.