{"id":19040651,"url":"https://github.com/cloudfoundry/bosh-alicloud-cpi-release","last_synced_at":"2025-08-21T11:32:28.916Z","repository":{"id":26111083,"uuid":"102424575","full_name":"cloudfoundry/bosh-alicloud-cpi-release","owner":"cloudfoundry","description":"BOSH Alibaba CPI","archived":false,"fork":false,"pushed_at":"2024-09-05T08:18:55.000Z","size":70078,"stargazers_count":32,"open_issues_count":8,"forks_count":20,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-12-11T12:24:50.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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":"CHANGELOG.md","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":"2017-09-05T02:33:16.000Z","updated_at":"2024-09-05T08:14:44.000Z","dependencies_parsed_at":"2024-06-19T04:13:34.013Z","dependency_job_id":"d8aadf45-4995-450f-959f-e966a6d30606","html_url":"https://github.com/cloudfoundry/bosh-alicloud-cpi-release","commit_stats":{"total_commits":1273,"total_committers":18,"mean_commits":70.72222222222223,"dds":0.572663000785546,"last_synced_commit":"0810ad759a1fcce0b20af1ced445912adda082c4"},"previous_names":["cloudfoundry/bosh-alicloud-cpi-release","cloudfoundry-incubator/bosh-alicloud-cpi-release"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-alicloud-cpi-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-alicloud-cpi-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-alicloud-cpi-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fbosh-alicloud-cpi-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry","download_url":"https://codeload.github.com/cloudfoundry/bosh-alicloud-cpi-release/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230511479,"owners_count":18237657,"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:24:08.855Z","updated_at":"2024-12-19T23:13:08.657Z","avatar_url":"https://github.com/cloudfoundry.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOSH Alibaba Cloud CPI\n\nThis is a [BOSH](http://bosh.io) release for the BOSH Alibaba Cloud CPI.\n\n**[Cloud Foundry Install Guide](docs/cf/install-cf.md)**\n\n### How to make release\n\n- Clone this repo\n- Install golang and export $GOROOT\n- Install bosh-cli\n- Download `go1.20.10.linux-amd64.tar.gz` from https://storage.googleapis.com/golang/go1.20.10.linux-amd64.tar.gz\n- Add blob and create release\n- Configure golang env and make\n- Create bosh release\n\n```\n$ git clone https://github.com/aliyun/bosh-alicloud-cpi-release.git\n$ cd bosh-alicloud-cpi-release\n$ mkdir blobs\n$ bosh add-blob ~/Downloads/go1.20.10.linux-amd64.tar.gz go1.20.10.linux-amd64.tar.gz\n$ source .envrc\n$ make\n$ bosh create-release --force --tarball=../bosh-alicloud-cpi.tgz\n```\n### Latest Version (v18)\n\nAt present, alibaba cloud the lastet cpi release is stored in the OSS. You can reference this release in your deployment manifest from the releases section:\n```\n- name: bosh-alicloud-cpi\n  version: 18\n  url: http://bosh-((region)).oss-((region)).aliyuncs.com/bosh-alicloud-cpi-release-r18.tgz\n  sha1: 2e36b60f99e51fe2dd4e7ea021bf3ecce883487c\n```\nOr upload it to your director with the upload-release command:\n```\nbosh upload-release --sha1 2e36b60f99e51fe2dd4e7ea021bf3ecce883487c \\\n  http://bosh-((region)).oss-((region)).aliyuncs.com/bosh-alicloud-cpi-release-r18.tgz\n```\n\n**-\u003e Note:** If region is in China mainland, its download url is unified as: `http://bosh.oss-cn-hangzhou.aliyuncs.com/bosh-alicloud-cpi-release-r18.tgz`.\n\n## Usage\n\n### Prepare your `Alibaba Cloud` environment\n\n- Create a vpc with switch and get `vswtich_id`\n- Create security group get `security_group_id`\n- Create user access key, get `access_key_id/access_key_secret`\n- Create a key pair, get `key_pair_name` and download it private key, like bosh.pem\n- Create a jumpbox vm\n\n### Install bosh in Alibaba Cloud\n\n- Clone [bosh-deployment](https://github.com/aliyun/bosh-deployment) repo from github\n\n```\n$ git clone https://github.com/aliyun/bosh-deployment.git\n$ cd bosh-deployment\n```\n\nuse this command, modify the parameters\n\n- vswitch_id\n- security_group_id\n- access_key_id\n- access_key_secret\n- region\n- zone\n- key_pair_name\n- private_key\n\n```\nbosh create-env bosh-deployment/bosh.yml --state=state.json \\\n --vars-store=creds.yml \\\n -o bosh-deployment/alicloud/cpi.yml \\\n -v director_name=my-bosh \\\n -v internal_cidr=192.168.0.0/24 \\\n -v internal_gw=192.168.0.1 \\\n -v internal_ip=192.168.0.2 \\\n -v vswitch_id=... \\\n -v security_group_id=... \\\n -v access_key_id=... \\\n -v access_key_secret=... \\\n -v region=cn-beijing \\\n -v zone=cn-beijing-a \\\n -v key_pair_name=... \\\n -v private_key=bosh.pem\n```\n\n### Install with jumpbox-user\n\n```\n$ bosh create-env bosh-deployment/bosh.yml \\\n --state=state.json \\\n --vars-store=creds.yml \\\n -o bosh-deployment/alicloud/cpi.yml \\\n -o bosh-deployment/jumpbox-user.yml \\\n -v director_name=my-bosh \\\n -v internal_cidr=192.168.0.0/24 \\\n -v internal_gw=192.168.0.1 \\\n -v internal_ip=192.168.0.7 \\\n -v vswitch_id=... \\\n -v security_group_id=... \\\n -v access_key_id=... \\\n -v access_key_secret=... \\\n -v region=cn-beijing \\\n -v zone=cn-beijing-e\n -v key_pair_name=... \\\n -v private_key=bosh.pem\n```\n\n```\n$ bosh int creds.yml --path /jumpbox_ssh/private_key \u003e jumpbox.key\n$ chmod 600 jumpbox.key\n$ ssh jumpbox@\u003cexternal-or-internal-ip\u003e -i jumpbox.key\n```\n\n### Install with external-ip\n\n- Create a `Elastic IP` in `Alibaba Cloud Console`, get an `external_ip`\n\n```\nbosh create-env bosh-deployment/bosh.yml \\\n --state=state.json \\\n --vars-store=creds.yml \\\n -o bosh-deployment/alicloud/cpi.yml \\\n -o bosh-deployment/external-ip-not-recommended.yml \\\n -o bosh-deployment/jumpbox-user.yml \\\n -o bosh-deployment/misc/powerdns.yml \\\n -v director_name=my-bosh  \\\n -v internal_cidr=192.168.0.0/24 \\\n -v internal_gw=192.168.0.1 \\\n -v internal_ip=192.168.0.7 \\\n -v vswitch_id=... \\\n -v security_group_id=... \\\n -v access_key_id=... \\\n -v access_key_secret=... \\\n -v region=cn-beijing \\\n -v zone=cn-beijing-e \\\n -v key_pair_name=... \\\n -v private_key=bosh.pem \\\n -v external_ip=... \\\n -v dns_recursor_ip=8.8.8.8\n```\n\n### Running ERB job templates unit tests\n\nThe ERB templates rendered by the jobs of this Bosh Release have unit tests\nusing Ruby. The required Ruby version is specified in `.ruby-version` as per\nconvention with `chruby` or similar tools. A script will help you to install\nthe correct Ruby version if necessary and run the ERB unit tests:\n\n```\n./scripts/test-unit-erb\n```\n\n### Run Unit Test\n\nRun following commands\n\n```\n$ source .envrc\n$ make testdeps\n$ ginkgo -r -skipPackage integration src/bosh-alicloud-cpi\n```\n\n### Run Integration Test\n\nPrepare your `Alibaba Cloud` environment, and export follow variables\n\n- Create a SLB (Load balance) get `slb_id`\n\n```\nexport CPI_REGION=cn-beijing\nexport CPI_ZONE=cn-beijing-e\nexport CPI_ACCESS_KEY_ID=...\nexport CPI_ACCESS_KEY_SECRET=...\nexport CPI_SECURITY_GROUP_ID=...\nexport CPI_VSWITCH_ID=...\nexport CPI_STEMCELL_ID=...\nexport CPI_INTERNAL_CIDR=192.168.0.0/24/\nexport CPI_INTERNAL_NETMASK=255.255.255.0\nexport CPI_INTERNAL_IP=192.168.0.2\nexport CPI_INTERNAL_GW=192.168.0.1\nexport CPI_EXTERNAL_IP=47.47.47.47\nexport CPI_SLB_ID=...\n```\n\nGo to source code path, run follow commands\n\n```\n$ make testdeps\n$ ginkgo -r src/bosh-alicloud-cpi/integration\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Fbosh-alicloud-cpi-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry%2Fbosh-alicloud-cpi-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Fbosh-alicloud-cpi-release/lists"}