{"id":19040969,"url":"https://github.com/cloudfoundry/bosh-deployment","last_synced_at":"2025-04-05T02:12:12.948Z","repository":{"id":37444744,"uuid":"73522278","full_name":"cloudfoundry/bosh-deployment","owner":"cloudfoundry","description":"Collection of BOSH manifests referenced by cloudfoundry/docs-bosh","archived":false,"fork":false,"pushed_at":"2024-04-09T20:47:59.000Z","size":2732,"stargazers_count":130,"open_issues_count":2,"forks_count":235,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-04-09T21:21:23.157Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudfoundry.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-12T00:40:14.000Z","updated_at":"2024-04-11T00:26:56.946Z","dependencies_parsed_at":"2023-11-23T14:29:10.396Z","dependency_job_id":"c0740107-b3cf-485a-8b48-38ae61159c7b","html_url":"https://github.com/cloudfoundry/bosh-deployment","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry","download_url":"https://codeload.github.com/cloudfoundry/bosh-deployment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"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-08T22:26:19.967Z","updated_at":"2025-04-05T02:12:12.932Z","avatar_url":"https://github.com/cloudfoundry.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bosh-deployment\n\nThis repository is intended to serve as a reference and starting point for developer-friendly configuration of the Bosh Director. Consume the `master` branch. Any changes should be made against the `develop` branch (it will be automatically promoted once it passes tests).\n\n## Important notice for users of bosh-deployment and Bosh DNS versions older than 1.28\n\nAs of Bosh DNS version 1.28, Bosh DNS is now built with Go 1.15. This version of Go demands that TLS certificates be created with a SAN field, in addition to the usual CN field.\n\nThe following certificates are affected by this change and will need to be regenerated:\n\n* `/dns_healthcheck_server_tls`\n* `/dns_healthcheck_client_tls`\n* `/dns_api_server_tls`\n* `/dns_api_client_tls`\n\nIf you're using Credhub or another external variable store, then you will need to use `update_mode: converge` as documented here: \u003chttps://bosh.io/docs/manifest-v2/#variables\u003e.\u003cbr\u003e\nIf you are not using Credhub or another external variable store, then you will need to follow the usual procedure for regenerating your certificates.\n\n## Jammy stemcells\n\nWe deploy using Jammy stemcells; however, if you would prefer to use the Bionic stemcells, append the ops files `[IAAS]/use-bionic.yml` and `misc/source-releases/bosh.yml` after the ops file `[IAAS]/cpi.yml`.\n\n## How is bosh-deployment updated?\nAn automatic process updates Bosh, and other releases within bosh-deployment\n\n1. A new release of [bosh](https://github.com/cloudfoundry/bosh) is created.\n1. A CI pipeline updates bosh-deployment on `develop` with a compiled bosh release.\n1. Smoke tests are performed to ensure `create-env` works with this potential collection of resources and the new release.\n1. A commit to `master` is made.\n\nOther releases such as [UAA](https://github.com/cloudfoundry/uaa-release), [CredHub](https://github.com/pivotal-cf/credhub-release), and various CPIs are also updated automatically.\n\n## Using bosh-deployment\n\n* [Create an environment](https://bosh.io/docs/init.html)\n    * [On Local machine (BOSH Lite)](https://bosh.io/docs/bosh-lite.html)\n    * [On Alibaba Cloud](https://bosh.io/docs/init-alicloud.html)\n    * [On AWS](https://bosh.io/docs/init-aws.html)\n    * [On Azure](https://bosh.io/docs/init-azure.html)\n    * [On OpenStack](https://bosh.io/docs/init-openstack.html)\n    * [On vSphere](https://bosh.io/docs/init-vsphere.html)\n    * [On vCloud](https://bosh.io/docs/init-vcloud.html)\n    * [On SoftLayer](https://bosh.io/docs/init-softlayer.html)\n    * [On Google Compute Platform](https://bosh.io/docs/init-google.html)\n\n* Access your BOSH director\n    * Through a VPN\n        * [`bosh create-env`, OpenVPN option](https://github.com/dpb587/openvpn-bosh-release)\n    * Through a jumpbox\n        * [`bosh create-env` option](https://github.com/cppforlife/jumpbox-deployment)\n    * [Expose Director on a Public IP](https://bosh.io/docs/init-external-ip.html) (not recommended)\n\n* [CLI v2](https://bosh.io/docs/cli-v2.html)\n    * [`create-env` Dependencies](https://bosh.io/docs/cli-v2-install/#additional-dependencies)\n    * [Differences between CLI v2 vs v1](https://bosh.io/docs/cli-v2-diff.html)\n    * [Global Flags](https://bosh.io/docs/cli-global-flags.html)\n    * [Environments](https://bosh.io/docs/cli-envs.html)\n    * [Operations files](https://bosh.io/docs/cli-ops-files.html)\n    * [Variable Interpolation](https://bosh.io/docs/cli-int.html)\n    * [Tunneling](https://bosh.io/docs/cli-tunnel.html)\n\n### Ops files\n\n- `bosh.yml`: Base manifest that is meant to be used with different CPI configurations\n- `[alicloud|aws|azure|docker|gcp|openstack|softlayer|vcloud|vsphere|virtualbox]/cpi.yml`: CPI configuration\n- `[alicloud|aws|azure|docker|gcp|openstack|softlayer|vcloud|vsphere|virtualbox]/cloud-config.yml`: Simple cloud configs\n- `[alicloud|aws|azure|docker|gcp|openstack|vcloud|virtualbox|vsphere|warden]/use-bionic.yml`: use Bionic stemcell instead of Jammy stemcell\n- `jumpbox-user.yml`: Adds user `jumpbox` for SSH-ing into the Director (see [Jumpbox User](docs/jumpbox-user.md))\n- `uaa.yml`: Deploys UAA and enables UAA user management in the Director\n- `credhub.yml`: Deploys CredHub and enables CredHub integration in the Director\n- `bosh-lite.yml`: Configures Director to use Garden CPI within the Director VM (see [BOSH Lite](docs/bosh-lite-on-vbox.md))\n- `syslog.yml`: Configures syslog to forward logs to some destination\n- `local-dns.yml`: Enables Director DNS beta functionality\n- `misc/config-server.yml`: Deploys config-server (see `credhub.yml`)\n- `misc/proxy.yml`: Configure HTTP proxy for Director and CPI\n- `misc/dns.yml`: Configure your upstream DNS (NOTE: by default bosh-deployment uses Google DNS: 8.8.8.8)\n- `misc/ntp.yml`: Configure your NTP Servers (NOTE: by default bosh-deployment uses Google NTP servers: time{1-4}.google.com\n- `runtime-configs/syslog.yml`: Runtime config to enable syslog forwarding\n\nSee [tests/run-checks.sh](tests/run-checks.sh) for example usage of different ops files.\n\n### Runtime Config Files\n\nThe director can optionally add configuration to all VMs in all deployments. The YAML defines an IaaS agnostic configuration that applies to all deployments. (See [Director Runtime Config](https://bosh.io/docs/runtime-config/).)\n\n- `dns.yml`: Install bosh defined dns release in every deployed VM. This allows bosh VMs to use the VM name as a FQDN. *It is extremely common for deployments require this addon*. (eg concourse-ci with UAA). For more information see [Native DNS Support](https://bosh.io/docs/dns/).\n- `bpm.yml`: Install bosh process manager on every VM (see [BPM-Release](https://github.com/cloudfoundry/bpm-release))\n- `syslog.yml`: Install a syslog forwarder agent in every VM.\n\nRuntime config files are applied after bosh director has been deployed:\n```\nbosh -n -e bosh-1 update-runtime-config bosh-deployment/runtime-configs/dns.yml\n```\n\nSee [runtime-configs/](runtime-configs/) for examples of different runtime configs.\nOther uses include installation of prometheus exporters, os-conf (to modify os level configurations), virus scanning, compliance agents.\n\n### Security Groups\n\nPlease ensure you have security groups setup correctly. i.e:\n\n```\nType                 Protocol Port Range  Source                     Purpose\nCustom TCP Rule      TCP      6868        \u003cIP you run bosh CLI from\u003e Agent for bootstrapping\nCustom TCP Rule      TCP      25555       \u003cIP you run bosh CLI from\u003e Director API\nCustom TCP Rule      TCP      8443        \u003cIP you run bosh CLI from\u003e UAA API (if UAA is used)\nCustom TCP Rule      TCP      8844        \u003cIP you run bosh CLI from\u003e CredHub API (if CredHub is used)\nSSH                  TCP      22          \u003c((internal_cidr))\u003e        BOSH SSH (optional)\nCustom TCP Rule      TCP      4222        \u003c((internal_cidr))\u003e        NATS\nCustom TCP Rule      TCP      25250       \u003c((internal_cidr))\u003e        Blobstore\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Fbosh-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry%2Fbosh-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Fbosh-deployment/lists"}