Skip to content

Simple Digital Ocean Volume Backup Service using Snapshots

License

Notifications You must be signed in to change notification settings

top-gg/DigitalOceanSnapshotter

Repository files navigation

DigitalOcean Snapshotter

Docker Pulls

Simple Digital Ocean Volume Backup Service using Snapshots

Getting Started

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

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

Built With

  • Godo - DigitalOcean V2 API client library
  • Logrus - Logging framework used
  • Slack-Go - Slack API client library

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • DevYukine @ Top.gg - Initial work - DevYukine

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

Simple Digital Ocean Volume Backup Service using Snapshots

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published