https://github.com/s4heid/athens-bosh-release
BOSH release for Athens, a Go module datastore and proxy
https://github.com/s4heid/athens-bosh-release
athens bosh bosh-release dependencies go goproxy package-control proxy-server
Last synced: 10 months ago
JSON representation
BOSH release for Athens, a Go module datastore and proxy
- Host: GitHub
- URL: https://github.com/s4heid/athens-bosh-release
- Owner: s4heid
- License: mit
- Created: 2019-09-17T20:36:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-30T16:08:49.000Z (over 4 years ago)
- Last Synced: 2024-11-01T03:42:22.500Z (over 1 year ago)
- Topics: athens, bosh, bosh-release, dependencies, go, goproxy, package-control, proxy-server
- Language: Shell
- Homepage: https://docs.gomods.io/install/install-on-bosh
- Size: 125 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/s4heid/athens-bosh-release/actions)
# athens-bosh-release
This BOSH release provides jobs for running the [Athens](https://docs.gomods.io) project in a BOSH environment.
## Architecture

## Usage
Upload the bosh release to your director from the command line with the `upload-releases` command:
```sh
$ bosh upload-release --name=athens --version=0.1.1 \
git+https://github.com/s4heid/athens-bosh-release
```
Or reference it in the `releases` section of your deployment manifest:
```yaml
releases:
- name: athens
version: 0.1.1
url: git+https://github.com/s4heid/athens-bosh-release
```
Add the athens job to an instance group in the deployment manifest, e.g.
```yaml
instance_groups:
- name: athens
persistent_disk: 1024
jobs:
- name: athens
release: athens
properties:
storage_type: disk
```
The above example configures the persistent disk as storage provider.
## Getting Started
The following section explains how to set up different environments for deploying the athens-bosh-release and running the integration tests.
### bosh-lite
If you only want to run the tests against a local athens VM, the easiest way to get started is probably bosh-lite. Step by step instructions on how to spin up a bosh-lite environment are given in the [bosh docs](https://bosh.io/docs/bosh-lite).
### bosh-bootloader (aws)
Deploying a bosh with [bosh-bootloader](https://github.com/cloudfoundry/bosh-bootloader) (bbl) is another possibility to get started. Assuming you have already installed a bosh on AWS as described in [this guide](https://github.com/cloudfoundry/bosh-bootloader/blob/master/docs/getting-started-aws.md), you need to set up a few additional things in the infrastructure. This can be achieved by running
```sh
$ cp ci/terraform/terraform.tfvars{.template,}
```
inside the athens-release root directory and filling in the missing parameters. Thereafter, execute the following script to create the required infrastructure components:
```sh
$ AWS_ACCESS_KEY_ID="..." AWS_SECRET_ACCESS_KEY="..." ./scripts/tf-apply.sh
```
The script will prompt you to log in to your lastpass account, as it will sync the terraform state with a lastpass secret note.
## Development
After [setting up your bosh environment](#getting-started), deploy an athens server and run the integration tests by executing
```sh
$ ./scripts/test.sh
```
## License
[Apache License, Version 2.0](./LICENSE)