This is the BOSH Micro CLI rewritten to support external CPIs.
- Documentation: bosh.io/docs
- IRC:
#bosh
on freenode - Google groups: bosh-users & bosh-dev & vcap-dev (for CF)
- Roadmap: Pivotal Tracker
-
Build micro:
bin/build
-
Tell bosh-init which deployment manifest to use:
out/bosh-init deployment manifest.yml
See the CLI workflow for more information on creating a manifest.
-
Deploy
out/bosh-init deploy stemcell.tgz cpi-release.tgz bosh-release.tgz
Where:
stemcell.tgz
is a BOSH stemcell appropriate for the CPI releasecpi-release.tgz
is a BOSH CPI releasebosh-release.tgz
is a BOSH release of BOSH or other software
Once deployed, the BOSH director can be targeted using the bosh_cli.
The following output (printed to STDOUT) is from deploying BOSH into a Warden Container (inside a bosh-lite vagrant VM).
> bosh-init deploy /home/vagrant/test-warden-stemcell.tgz /home/vagrant/bosh-warden-cpi-16.tgz /home/vagrant/bosh-2811.tgz
Deployment manifest: '/home/vagrant/manifest.yml'
Deployment state: '/home/vagrant/deployment.json'
Started validating
Validating stemcell... Finished (00:00:04)
Validating releases... Finished (00:00:03)
Validating deployment manifest... Finished (00:00:00)
Validating cpi release... Finished (00:00:00)
Finished validating (00:00:07)
Started installing CPI
Compiling package 'golang_1.3/fc3bc1b4431e8913d91362c1183c9852809d35f6'... Finished (00:00:10)
Compiling package 'cpi/6f5b7e1d1050764cd14da9cc8e8683a03a502996'... Finished (00:00:04)
Rendering job templates... Finished (00:00:00)
Installing packages... Finished (00:00:01)
Installing job 'cpi'... Finished (00:00:00)
Finished installing CPI (00:00:16)
Starting registry... Finished (00:00:00)
Uploading stemcell 'bosh-warden-boshlite-ubuntu-trusty-go_agent/0000'... Finished (00:00:14)
Started deploying
Creating VM for instance 'bosh/0' from stemcell '47017a4e-4a81-41cf-4afc-1121346d46b4'... Finished (00:00:00)
Waiting for the agent on VM '1987aaea-eb8a-4905-54d3-88202ce550d4' to be ready... Finished (00:00:01)
Creating disk... Finished (00:00:00)
Attaching disk '030015fc-4148-4313-5e17-608dc4b7aa76' to VM '1987aaea-eb8a-4905-54d3-88202ce550d4'... Finished (00:00:01)
Compiling package 'ruby/8c1c0bba2f15f89e3129213e3877dd40e339592f'... Finished (00:01:32)
Compiling package 'postgres/aa7f5b110e8b368eeb8f5dd032e1cab66d8614ce'... Finished (00:00:04)
Compiling package 'nginx/8f131f14088764682ebd9ff399707f8adb9a5038'... Finished (00:00:33)
Compiling package 'libpq/6aa19afb153dc276924693dc724760664ce61593'... Finished (00:00:14)
Compiling package 'mysql/e5309aed88f5cc662bc77988a31874461f7c4fb8'... Finished (00:00:06)
Compiling package 'redis/ec27a0b7849863bc160ac54ce667ecacd07fc4cb'... Finished (00:00:24)
Compiling package 'powerdns/e41baf8e236b5fed52ba3c33cf646e4b2e0d5a4e'... Finished (00:00:01)
Compiling package 'genisoimage/008d332ba1471bccf9d9aeb64c258fdd4bf76201'... Finished (00:00:16)
Compiling package 'director/a59aa6cf382b0c6df4206219f9f661b86dfc6103'... Finished (00:00:37)
Compiling package 'nats/6a31c7bb0d5ffa2a9f43c7fd7193193438e20e92'... Finished (00:00:09)
Compiling package 'health_monitor/a8a4a1cb04f924f17f9944845f5f4a73ecd4b895'... Finished (00:00:18)
Rendering job templates... Finished (00:00:00)
Updating instance 'bosh/0'... Finished (00:00:09)
Waiting for instance 'bosh/0' to be running... Finished (00:00:07)
Finished deploying (00:04:37)
Along with the UI output (STDOUT) and UI errors (STDERR), bosh-init can output more verbose logs.
Logging is disabled by default (BOSH_INIT_LOG_LEVEL
defaults to NONE).
To enable logging, set the BOSH_INIT_LOG_LEVEL
environment variable to one of the following values:
DEBUG, INFO, WARN, ERROR, NONE (default)
Logs write to STDOUT (debug & info) & STDERR (warn & error) by default.
To write logs to a file, set the BOSH_INIT_LOG_PATH
environment variable to the path of the file to create and/or append to.
The current state of your deployment is stored in a deployment.json
file in the same directory as your deployment manifest.
This allows you to deploy multiple deployments with different manifests, as long as they're in different directories.
Do not delete this file unless you have already deleted your deployment (with bosh-init delete
or by manually removing the VM, disk(s), & stemcell from the infrastructure).
To build bosh-init see our workstation setup docs.
To run bosh-init tests see our test docs.
To deploy BOSH with UAA using bosh-init see our UAA docs.
To learn more about the bosh-init design see our architecture docs.