Commit Graph

29 Commits

Author SHA1 Message Date
21191d601a
Entrypoint script is not needed anymore (#346) 2024-02-06 21:46:18 +01:00
pixxon
d642a60c4d
Move cron scheduling inside application (#338)
* Move cron scheduling inside application

* Make envvar a fallback and check for errors

* Panic significantly less

* propagate error out of runBackup

* Add structured logging

* FIx error propagation to exit

* Enable the new scheduler by default

* Review fixes

* Added docs and better error propagation
2024-02-06 21:05:38 +01:00
dependabot[bot]
caa27d477f
Bump alpine from 3.18 to 3.19 (#314) 2023-12-11 21:32:17 +00:00
a93ff6fe09
Build in Go 1.21 (#246) 2023-08-10 16:03:59 +02:00
1c6f64e254
Current Docker client breaks in newer Go versions (#241)
* Current Docker client breaks in newer Go versions

* Cater for breaking API changes in Docker client

* Update Docker client

* Unpin Go version used for build

* Tidy sum file
2023-07-25 19:46:57 +02:00
c3732107b1
Current Docker client breaks in Go 1.20.6 (#242) 2023-07-24 21:01:28 +02:00
dc8172b673
Use alpine-1.18 as the base image (#219) 2023-06-03 13:08:35 +02:00
d4c5f65f31
Entrypoint permissions can be set on COPY (#211) 2023-04-28 20:06:57 +02:00
2d37e08743
Use go 1.20, join errors using stdlib (#182)
* Use go 1.20, join errors using stdlib

* Use go 1.20 proper
2023-02-02 21:07:25 +01:00
1cb4883458
Update alpine base image to 3.17 (#177) 2023-01-05 19:46:47 +01:00
749a7a15a6
Build using Go 1.19 (#153) 2022-09-01 15:12:48 +02:00
MaxJa4
279844ccfb Added abstract helper interface for all storage backends (#135)
* Added abstract helper interface and implemented it for all storage backends

* Moved storage client initializations also to helper classes

* Fixed ssh init issue

* Moved script parameter to helper struct to simplify script init.

* Created sub modules. Enhanced abstract implementation.

* Fixed config issue

* Fixed declaration issues. Added config to interface.

* Added StorageProviders to unify all backends.

* Cleanup, optimizations, comments.

* Applied discussed changes. See description.

Moved modules to internal packages.
Replaced StoragePool with slice.
Moved conditional for init of storage backends back to script.

* Fix docker build issue

* Fixed accidentally removed local copy condition.

* Delete .gitignore

* Renaming/changes according to review

Renamed Init functions and interface.
Replaced config object with specific config values.
Init func returns interface instead of struct.
Removed custom import names where possible.

* Fixed auto-complete error.

* Combined copy instructions into one layer.

* Added logging func for storages.

* Introduced logging func for errors too.

* Missed an error message

* Moved config back to main. Optimized prune stats handling.

* Move stats back to main package

* Code doc stuff

* Apply changes from #136

* Replace name field with function.

* Changed receiver names from stg to b.

* Renamed LogFuncDef to Log

* Removed redundant package name.

* Renamed storagePool to storages.

* Simplified creation of new storage backend.

* Added initialization for storage stats map.

* Invert .dockerignore patterns.

* Fix package typo
2022-08-18 12:37:45 +02:00
b2d4c48082
Update base image to alpine:3.16 (#124) 2022-08-15 09:25:47 +02:00
9bc8db0f7c
Build using Go 1.18 (#86) 2022-03-17 11:22:41 +01:00
6e1b8553e6 Remove superfluous --update flag from cert install 2022-02-26 16:45:29 +01:00
5ec2b2c3ff Install ca-certs with --no-cache to reduce image size 2022-02-25 08:54:07 +01:00
a57e93d01e
Split source into multiple files, deduplicate pruning logic, do not parse templates when notifications are not used (#63)
* Split code into multiple files

* Deduplicate logic for pruning backups against different storages

* Only parse templates when notifications are enabled

* Use better description
2022-02-13 10:52:19 +01:00
Mauro Molin
8dfdd14527
Added custom notification messages using text/template (#60)
* Added custom notification messages using text/template

* Change notification template path and removed automatic newline trim

* Added stats and changed structure of template params

* Stat file hotfix

* Embedded and fixed default notification templates


Fix

* Changed Output to LogOutput

* Changed stats integer to unsigned

* Bytes formatting in template func


fix

* Changed Archives to Storages

* Removed unecessary sleep for pruning leeway

* Set EndTime after pruning is completed

* Added custom notifications documentation

* Added 5s sleep in swarm test

* Fixed documentation

* Dockerfile copies all files in cmd/backup
2022-02-11 20:05:16 +01:00
62bd2f4a5a
Update base docker image to alpine 3.15 (#53) 2022-01-27 14:40:56 +01:00
b6ad624115 leverage docker cache for downloading go deps 2021-11-23 08:04:48 +01:00
da9458724f adapt repo layout to go 2021-08-23 14:48:33 +02:00
8b110fd789 scaffold script flow 2021-08-23 14:47:34 +02:00
efb52aa806 try porting docker related parts to golang 2021-08-23 14:47:34 +02:00
f6b40742b4 use go 1.17 in builder 2021-08-19 11:08:36 +02:00
fa356137e8 inject proper version for mc command at compile time 2021-07-03 10:25:26 +02:00
07befda44d build mc from source, support arm/v7 2021-07-01 15:16:39 +02:00
23c287bfc7 build image for arm architectures 2021-07-01 14:19:55 +02:00
5be3c36040 update alpine base image to 3.14 2021-06-28 20:25:21 +02:00
a726bdecd4 add initial source 2021-04-02 13:59:53 +02:00