This Service is supposed to be run as a CronJob every x hours, The recommended way is using the Docker image from `topgg/digitaloceansnapshotter`.
It requires following enviroment variables to be set:
`DO_TOKEN` - Digital Ocean Access token
`DO_VOLUMES` - List of Digital Ocean volume ids seperated by a comma
`DO_SNAPSHOT_COUNT` - Amount of snapshots to keep for each volume
### Prerequisites
Go 1.15
## Deployment
This was designed for usage in Kubernetes but it can technically be run anywhere, an example Kubernetes CronJob manifest running every day could look like this
```yml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: DigitalOceanSnapshotter
spec:
schedule: "0 0 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: DigitalOceanSnapshotter
image: topgg/digitaloceansnapshotter
envFrom:
- configMapRef:
name: your-config-map-name
restartPolicy: OnFailure
```
**Note that this uses the latest image which you shouldn't do in prod, use a tag version or commit hash instead**
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/top-gg/DigitalOceanSnapshotter/tags).