{"id":18045332,"url":"https://github.com/dpb587/bosh-env-example","last_synced_at":"2025-10-14T15:38:08.176Z","repository":{"id":138803720,"uuid":"74955334","full_name":"dpb587/bosh-env-example","owner":"dpb587","description":null,"archived":false,"fork":false,"pushed_at":"2016-12-08T23:42:46.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-10T11:48:34.299Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dpb587.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,"publiccode":null,"codemeta":null}},"created_at":"2016-11-28T09:06:27.000Z","updated_at":"2016-11-30T10:24:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8cc05d3-6d6b-453a-8a2f-6af115386d9f","html_url":"https://github.com/dpb587/bosh-env-example","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/dpb587%2Fbosh-env-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fbosh-env-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fbosh-env-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpb587%2Fbosh-env-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpb587","download_url":"https://codeload.github.com/dpb587/bosh-env-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284914,"owners_count":20913691,"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-10-30T18:12:55.667Z","updated_at":"2025-10-14T15:38:03.144Z","avatar_url":"https://github.com/dpb587.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"For bootstrapping a fresh environment...\n\n * vpn (via [openvpn](https://github.com/dpb587/openvpn-bosh-release))\n * nat (via [networking](https://github.com/cloudfoundry/networking-release))\n * bosh\n\n\n## Requirements\n\n * [bosh](https://github.com/cloudfoundry/bosh-cli/releases/tag/v0.0.133) - for deploying VMs (patched)\n * [direnv](https://direnv.net/) - for automatically setting some environment variables\n * [git](https://git-scm.com/) - for cloning this repository\n * [jq](https://stedolan.github.io/jq/) - for transforming some JSON data\n * [openvpn](https://openvpn.net/index.php/open-source.html) (or [Tunnelblick](https://tunnelblick.net/)) - for securely connecting to the environment\n * [terraform](https://www.terraform.io/) - for managing IaaS-specific resources\n\n\n## Configuration\n\nAll configuration and generated credentials will be stored in a `state` directory. For a new environment...\n\n    $ mkdir state\n    $ echo 'export iaas=aws' \u003e\u003e state/.envrc\n    $ echo 'export BOSH_ENVIRONMENT=my-env-name' \u003e\u003e state/.envrc\n    $ ssh-keygen -t rsa -b 2048 -f state/id_rsa -P ''\n    $ direnv allow\n\nStore the `state` directory securely - it contains credentials. It is `.gitignore`'d.\n\n\n### Amazon Web Services\n\nFor AWS, ensure the following environment variables are configured...\n\n    $ export AWS_DEFAULT_REGION=\n    $ export AWS_ACCESS_KEY_ID=\n    $ export AWS_SECRET_ACCESS_KEY=\n\n\n## Provision\n\nAll provisioning commands are idempotent. Provision shared IaaS-specific resources...\n\n    $ provision iaas\n\n \u003e *AWS*: this provisions a VPC, subnets, security groups, routing tables, IAM user/credential\n\nProvision a **VPN server**...\n\n    $ provision vpn\n\n \u003e *AWS*: this provisions an EIP and security group.\n\nOnce the VPN server is provisioned, create a connection profile and start the VPN connection...\n\n    $ interpolate vpn profile.ovpn.yml --path /profile \u003e state/vpn.ovpn\n    $ open state/vpn.ovpn\n\nProvision a **NAT server**...\n\n    $ provision nat\n\n \u003e *AWS*: this provisions an EIP and security group.\n\nProvision a **BOSH director**...\n\n    $ provision-iaas bosh\n    $ provision-env bosh \\\n      --vars-file \u003c(\n        interpolate bosh empty.yml \\\n          --vars-file iaas_vpn=\u003c( iaas vpn ) \\\n          --ops-file env/bosh/iaas/$iaas/manifest-vars.yml\n      ) \\\n      --ops-file env/bosh/iaas/aws/manifest-cheaper.yml # aws!\n\nOnce the BOSH director is provisioned, connect to the director...\n\n    $ source etc/bosh\n\nConfigure the **cloud config**...\n\n    $ bosh -n update-cloud-config \\\n      \u003c(\n        interpolate bosh cloud-config.yml \\\n          --ops-file env/bosh/iaas/$iaas/cloud-config.yml\n      )\n\nDeploy something fun like **concourse**...\n\n    $ cp -r sample/concourse env/concourse\n    $ provision concourse\n\n\n## Maintenance\n\nFork the repository and create your own deployment and resources in `env`. When you're ready to upgrade the core components like the `nat`, `vpn`, or `director`, merge this repository again and rerun the provisioning commands.\n\n\n## License\n\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpb587%2Fbosh-env-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpb587%2Fbosh-env-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpb587%2Fbosh-env-example/lists"}