dreitier / gobackup-with-interpolator-docker

Ready-to-use Docker image for gobackup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gobackup for Kubernetes

This repository wraps gobackup (and dreitier's gobackup flavour) and interpolator in a single, usable Docker image.

Description

gobackup s a tool to dump databases and create backups of folders. It has various storage targets like local, scp and S3. Unfortunately, the current repository provides only the binary without any additional dependencies. You can easily deploy this Docker image into your Kubernetes cluster to create automatic backups.

Getting started

  • Mount the gobackup configuration file to /etc/gobackup/config-raw.yaml
  • Placeholders in the configuration file like ${VAR} are replaced by corresponding environment variables
  • The resulting file is copied to /etc/gobackup/gobackup.yaml
  • When no arguments are passed to the container, a simple gobackup perform is executed and the container exits.
  • When periodic backups are desired, the container must be launched with the arguments _cron ${cronExpression} like so.

Usage examples

Single backup:

docker run -v /path/to/my-gobackup-config.yaml:/etc/gobackup/config-raw.yaml dreitier/gobackup

Periodic backup every day at midnight:

docker run -v /path/to/my-gobackup-config.yaml:/etc/gobackup/config-raw.yaml dreitier/gobackup cron "0 0 * * *"

Development

Creating new releases

GitHub lacks the feature that repositories can easily subscribe to newer builds from upstream repository. Because of this, at the moment you have to manually push a tag to create a new gobackup release.

When creating a tag, use the tag format ${TAG}(-${GOBACKUP_GITHUB_REPOSITORY:huacnlee})?. The first part before the - is the artifact, provided in the ${GOBACKUP_GITHUB_REPOSITORY}. ${GOBACKUP_GITHUB_REPOSITORY} is set to huacnlee by default.

Create a release based upon huacnlee's repository

docker tag v1.0.1
docker push v1.0.1 origin

Create a release based upon dreitier's repository

docker tag 20220722-dreitier
docker push 20220722-dreitier

# OR

docker tag v1.0.1_custom_pr-dreitier
docker push v1.0.1_custom_pr-dreitier origin

Changelog

The changelog is kept in the CHANGELOG.md file.

Support

This software is provided as-is. You can open an issue in GitHub's issue tracker at any time. But we can't promise to get it fixed in the near future. If you need professionally support, consulting or a dedicated feature, please get in contact with us through our website.

Contribution

Feel free to provide a pull request.

License

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

About

Ready-to-use Docker image for gobackup

License:MIT License


Languages

Language:Dockerfile 58.2%Language:Shell 41.8%