{"id":19049288,"url":"https://github.com/cppforlife/packer-bosh","last_synced_at":"2025-04-24T01:07:03.542Z","repository":{"id":19610528,"uuid":"22861734","full_name":"cppforlife/packer-bosh","owner":"cppforlife","description":"BOSH provisioner for Packer","archived":false,"fork":false,"pushed_at":"2016-01-08T03:50:40.000Z","size":377,"stargazers_count":7,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T01:06:47.723Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cppforlife.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-12T02:14:58.000Z","updated_at":"2016-10-25T12:13:23.000Z","dependencies_parsed_at":"2022-07-12T15:17:22.613Z","dependency_job_id":null,"html_url":"https://github.com/cppforlife/packer-bosh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppforlife%2Fpacker-bosh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppforlife%2Fpacker-bosh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppforlife%2Fpacker-bosh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppforlife%2Fpacker-bosh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cppforlife","download_url":"https://codeload.github.com/cppforlife/packer-bosh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250540942,"owners_count":21447427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T23:10:26.669Z","updated_at":"2025-04-24T01:07:03.525Z","avatar_url":"https://github.com/cppforlife.png","language":"Go","readme":"## BOSH provisioner for Packer\n\nBOSH provisioner allows to provision VM by specifying regular BOSH deployment manifest.\n\nYou might also be interested in [vagrant-bosh](https://github.com/cppforlife/vagrant-bosh).\n\n\n### Usage\n\n1. Run `go get github.com/cppforlife/packer-bosh` to download `packer-bosh`. \n  Make sure to run `git submodule update --init` from inside `packer-bosh` directory.\n\n2. Configure Packer's `$HOME/.packerconfig` to know about `packer-bosh` executable:\n\n```\n{\n  \"provisioners\": {\n    \"packer-bosh\": \"/your-bin-dir/packer-bosh\"\n  }\n}\n```\n\nSee [Packer core configuration](http://www.packer.io/docs/other/core-configuration.html) \nfor more details on how to configure custom provisioners.\n\n2. Add new provisioning step to your `template.json`. For example:\n\n```\n{\n  ...\n\n  \"provisioners\": [{\n    \"type\": \"packer-bosh\",\n    \"manifest_path\": \"example-bosh-lite-manifest.yml\",\n    \"assets_dir\": \"/your-go-dir/src/github.com/cppforlife/packer-bosh/bosh-provisioner/assets\",\n    \"ssh_password\": \"ubuntu\"\n  }]\n}\n```\n\nSee [dev/template-vbox-*.json](dev/template-vbox-bosh-lite.json) for example using VirtualBox.\n\n3. Create a deployment manifest and specify it via `manifest_path` option.\n   See [dev/example-bosh-manifest.yml](dev/example-bosh-manifest.yml) \n   for an example deployment manifest used to deploy BOSH Director with BOSH Warden CPI.\n\n4. Run `packer build` to build a VM\n\n\n### Provisioner options\n\n- `manifest_path` (String, default: `nil`)\n  must contain a local path to a full BOSH deployment manifest (unless `remote_manifest_path` is provided)\n\n- `remote_manifest_path` (String, default: `nil`)\n  - if `manifest_path` is not provided, a manifest must be present at `remote_manifest_path`\n  - if `manifest_path` is also provided, it will be uploaded to `remote_manifest_path` instead of the default location\n\n- `assets_dir` (String, default: `nil`)\n  should contain path to directory with `bosh-provisioner` assets\n\n- `ssh_password` (String, default: `nil`)\n  should contain password of SSH user to run sudo; \n  can be empty if password-less sudo is configured\n\n- `full_stemcell_compatibility` (Boolean, default: `false`)\n  forces provisioner to install all (not just minimum) dependencies usually found on a stemcell\n\n- `agent_infrastructure` (String, default: `warden`)\n  configures BOSH Agent infrastructure (e.g. `aws`, `openstack`)\n\n- `agent_platform` (String, default: `ubuntu`)\n  configures BOSH Agent platform (e.g. `ubuntu`, `centos`)\n\n- `agent_configuration` (Hash, default: '{ ... }')\n\n\n### Using provisioner to build BOSH stemcells\n\nSee [building AWS Stemcell](docs/build-aws-stemcell.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcppforlife%2Fpacker-bosh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcppforlife%2Fpacker-bosh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcppforlife%2Fpacker-bosh/lists"}