v6.0
Updates
-
bbl
6. The latest version ofbbl
deprecates several commands and flags. You can see the full list in thebbl
release notes, but the most impactful to these tasks is the removal ofcreate-lbs
. -
Reversion to
bbl-state
overenv-repo
. In order to accommodate customizations provided tobbl
-- for example, custom terraform templates, scripts for deploying customized BOSH directors, and ops-files for overriding defaults in the cloud-config -- we've redesigned thebbl-up
task to include two primary inputs:bbl-state
andbbl-config
.bbl-state
serves the role thatenv-repo
(andbbl-state
in versions prior to v5) have served. It's wherebbl
leaves all state about what it has created, and how.bbl-config
is an input for housing all customizations that the user wants to pass through tobbl
. See below for more specific information.- Likewise, the output of the
bbl-up
task has been renamed toupdated-bbl-state
.
The goal for splitting these two inputs is to separate customizations from state. For example, if you were to run
bbl destroy
outside of your pipeline, the information inbbl-config
should still exist and you'd be able to re-runbbl up
in your pipeline. Likewise, you can write abbl-config
customization, and then apply it to multiple environments.
As a result of this change, you'll need to changeenv-repo
tobbl-state
in all of your tasks. -
Removed params. Now that the tasks expose
bbl
's interface to users directly, we've removed the following parameters, which were merely wrappers tobbl
features:BBL_EXTRA_FLAGS
OPS_FILES
IS_BOSH_LITE
bbl-config
If you want to customize your setup, you can provide the following overrides:
create-director-override.sh
anddelete-director-override.sh
are scripts that you can provide in the top-level directory ofbbl-config
. If present,bbl
will ignore its default scripts for creating/deleting the director and use your override instead.create-jumpbox-override.sh
anddelete-jumpbox-override.sh
are scripts that you can provide in the top-level directory ofbbl-config
. If present,bbl
will ignore its default scripts for creating/deleting the jumpbox and use your override instead.cloud-config/*.yml
are ops-files that will be applied whenbbl
runs thebosh update-cloud-config
command against the BOSH director. If you need to create custom vm extensions, for example, this would be a good way to achieve that.terraform/*.tf
are terraform templates that will included whenbbl
runsterraform apply
.vars/*.tfvars
are variables that will get templated in whenbbl
runsterraform apply
.
For example, this is how one could configure Concourse to set up a bosh-lite:
input_mapping:
bbl-state: env-repo
bbl-config: bosh-bootloader
params:
BBL_STATE_DIR: bbl-state
BBL_CONFIG_DIR: plan-patches/bosh-lite-gcp
SKIP_LB_CREATION: true
As our bbl-config
, we provide the "plan patch" from bosh-bootloader, which has most of these overrides defined.