https://github.com/concourse/bosh-io-stemcell-resource
tracks BOSH stemcells published on https://bosh.io
https://github.com/concourse/bosh-io-stemcell-resource
Last synced: 4 months ago
JSON representation
tracks BOSH stemcells published on https://bosh.io
- Host: GitHub
- URL: https://github.com/concourse/bosh-io-stemcell-resource
- Owner: concourse
- License: apache-2.0
- Created: 2015-03-27T18:44:28.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-07-29T23:48:44.000Z (11 months ago)
- Last Synced: 2025-07-30T01:46:52.936Z (11 months ago)
- Language: Go
- Homepage:
- Size: 2.81 MB
- Stars: 8
- Watchers: 24
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE.md
Awesome Lists containing this project
README
# bosh.io stemcell resource
Tracks the versions of a stemcell on [bosh.io](https://bosh.io).
For example, to automatically consume `bosh-aws-xen-hvm-ubuntu-trusty-go_agent`:
```yaml
resources:
- name: aws-stemcell
type: bosh-io-stemcell
source:
name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent
```
## Source Configuration
* `name`: *Required.* The name of the stemcell.
* `version_family`: *Optional.* Default `latest`. A semantic version used to
narrow the returned versions, typically used to fetch hotfixes on older
stemcells. For example, a `version_family` of `3262.latest` would match `3262`,
`3262.1`, and `3262.1.1`, but not `3263`. A `version_family` of `3262.1.latest`
would match `3262.1` and `3262.1.1`, but not `3262.2`.
* `force_regular`: *Optional.* Default `false`. By default, the resource will always download light stemcells for IaaSes that support light stemcells.
If `force_regular` is `true`, the resource will ignore light stemcells and always download regular stemcells.
* `auth`: *Optional.* These credentials are used when downloading stemcells stored in a protected bucket.
Has the following sub-properties:
* `access_key`: *Required.* The HMAC access key
* `secret_key`: *Required.* The HMAC secret key
## Behavior
### `check`: Check for new versions of the stemcell.
Detects new versions of the stemcell that have been published to [bosh.io](https://bosh.io). If no version is specified, `check` returns the latest version, otherwise `check` returns all versions from the version specified on.
### `in`: Fetch a version of the stemcell.
Fetches a given stemcell, placing the following files in the destination:
* `version`: The version number of the stemcell.
* `url`: A URL that can be used to download the stemcell tarball.
* `sha1`: The SHA1 of the stemcell
* `sha256`: The SHA256 of the stemcell
* `stemcell.tgz`: The stemcell tarball, if the `tarball` param is `true`.
#### Parameters
* `tarball`: *Optional.* Default `true`. Fetch the stemcell tarball.
* `preserve_filename`: *Optional.* Default `false`. Keep the original filename of the stemcell.
## Development
### Prerequisites
* golang is *required* - version 1.9.x is tested; earlier versions may also
work.
* docker is *required* - version 17.06.x is tested; earlier versions may also
work.
### Running the tests
The tests have been embedded with the `Dockerfile`; ensuring that the testing
environment is consistent across any `docker` enabled platform. When the docker
image builds, the test are run inside the docker container, on failure they
will stop the build.
Run the tests with the following command:
```sh
docker build -t bosh-io-stemcell-resource --target tests .
```
### Contributing
Please make all pull requests to the `master` branch and ensure tests pass
locally.