Commit Graph

377 Commits

Author SHA1 Message Date
dependabot[bot]
9f795761d6
Bump github.com/klauspost/compress from 1.17.7 to 1.17.8 (#409) 2024-04-16 11:21:21 +00:00
f2ef48803c
Print stack trace when encountering unexpected panic (#406) 2024-04-15 15:12:10 +02:00
8b69566291
Result of query for services is used before handling possible error (#405)
* Result of query for services is used before handling possible error

* Return early when a non-replicated service is matched
2024-04-15 15:08:37 +02:00
bf79c913e0
Update test suite image to use Docker 26 (#404) 2024-04-15 13:09:43 +02:00
dependabot[bot]
2f7193aa9b
Bump golang.org/x/oauth2 from 0.18.0 to 0.19.0 (#402) 2024-04-09 07:04:13 +00:00
dependabot[bot]
550c4f520f
Bump golang.org/x/sync from 0.6.0 to 0.7.0 (#401) 2024-04-09 04:46:24 +00:00
1af472077c
Update author reference in license statements (#393) 2024-03-15 11:42:22 +01:00
dependabot[bot]
a077f12c11
Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 (#392) 2024-03-14 06:06:22 +00:00
dependabot[bot]
cb5a38a1b7
Bump github.com/minio/minio-go/v7 from 7.0.68 to 7.0.69 (#390) 2024-03-11 22:13:04 +00:00
dependabot[bot]
b8995dbc51
Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (#389) 2024-03-11 22:11:37 +00:00
baf34ec1f7
Allow authentication using connection string when targeting Azure Blob Storage (#383)
* Allow authentication using connection string when targeting Azure Blob Storage

* Bail on ambiguous configuration
2024-03-08 20:23:30 +01:00
dependabot[bot]
e8562b1785
Bump github.com/minio/minio-go/v7 from 7.0.67 to 7.0.68 (#382) 2024-03-05 05:01:42 +00:00
dependabot[bot]
5d7451410b
Bump github.com/ProtonMail/go-crypto from 1.1.0-alpha.0 to 1.1.0-alpha.1 (#381) 2024-03-05 05:00:55 +00:00
440bcf76ce Document EXEC_LABEL behavior in conjunction with conf.d 2024-03-04 20:31:11 +01:00
2d3e79cf5e
Also forward exec output when failing to demultiplex (#379) 2024-03-01 09:18:39 +01:00
5abfe5bb39
Swarm mode check fails on non-standard Info responses (#376)
* Swarm mode check fails on non-standard Info responses

* Add unit test

* Remove balena tests, add note to docs
2024-02-27 21:12:36 +00:00
dependabot[bot]
6c8b0ccce5
Bump github.com/klauspost/compress from 1.17.6 to 1.17.7 (#377) 2024-02-27 05:57:17 +00:00
f4c61125af
Update README.md 2024-02-24 20:21:00 +01:00
9b768c71e6
Lines from conf files that are comments should not be passed to shell.Expand (#374) 2024-02-23 17:53:04 +01:00
e8307a2b5b Allow backup to be run as non-root user 2024-02-22 17:42:53 +01:00
060a6daa7a Use proper path expansion 2024-02-22 17:42:53 +01:00
4b3ca2ebb0
Revert "Allow backup to be run as non-root user (#366)" (#370)
This reverts commit f64aaa6e24.
2024-02-21 18:43:13 +01:00
02ba9939a2
Revert "Values without a backing env var should not be expanded (#368)" (#371)
This reverts commit 911fc5a223.
2024-02-21 18:43:02 +01:00
911fc5a223
Values without a backing env var should not be expanded (#368)
* Values without a backing env var should not be expanded

* Add unit tests for sourcing behavior

* Replace godotenv with shell lib
2024-02-21 17:44:37 +01:00
f64aaa6e24
Allow backup to be run as non-root user (#366)
* Allow backup to be run as non-root user

* Document usage as non-root user

* Also test /etc access

* Choose better name for doc
2024-02-21 17:44:24 +01:00
dependabot[bot]
dd8ff5ee0c
Build using Go 1.22 (#356)
* Bump golang from 1.21-alpine to 1.22-alpine

Bumps golang from 1.21-alpine to 1.22-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update go version in mod file and lint action

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Frederik Ring <frederik.ring@gmail.com>
2024-02-16 20:52:45 +01:00
52c22a1891 Auto prepend caller when wrapping errors 2024-02-16 20:19:58 +01:00
83fa0aae48 Refactor handling of runtime configuration to prepare for reloading 2024-02-16 20:19:58 +01:00
c4e480dcfd
Hardcoded label values don't require quoting (#365) 2024-02-15 16:12:47 +01:00
a01fc3df3f
Conf files should expand env vars (#363) 2024-02-15 12:04:44 +01:00
Achim Krämer
37f9bd9a8f
Add OCI labels to Docker images (#361)
* ✨ add OCI labels, rework tagging

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>

* re-implement existing tagging system

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>

---------

Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>
2024-02-14 09:07:04 +01:00
fb4663b087 Also deploy docs when triggering workflow changes 2024-02-13 22:44:02 +01:00
Achim Krämer
0fe983dfcc
🚀 add path rule to workflow (#362)
Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com>
2024-02-13 22:32:48 +01:00
5c8bc107de
Remove stray log statement (#359) 2024-02-13 19:54:18 +01:00
9a1e885138
Env vars should propagate when using conf.d (#358)
* Extend confd test case to test for env var propagation

* Env vars set in conf.d files are expected to propagate

* Lock needs to be acquired when instantiating script
2024-02-13 15:43:04 +01:00
dependabot[bot]
241b5d2f25
Bump github.com/docker/cli (#353)
Bumps [github.com/docker/cli](https://github.com/docker/cli) from 24.0.1+incompatible to 24.0.9+incompatible.
- [Commits](https://github.com/docker/cli/compare/v24.0.1...v24.0.9)

---
updated-dependencies:
- dependency-name: github.com/docker/cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 09:44:32 +01:00
dependabot[bot]
aab47509d9
Bump golang.org/x/oauth2 from 0.16.0 to 0.17.0 (#355) 2024-02-13 08:33:16 +00:00
dependabot[bot]
9b52c1f63e
Bump github.com/robfig/cron/v3 from 3.0.0 to 3.0.1 (#354) 2024-02-12 21:26:49 +00:00
dependabot[bot]
164d6df3b4
Bump github.com/minio/minio-go/v7 from 7.0.66 to 7.0.67 (#352) 2024-02-12 21:26:36 +00:00
4c74313222 Periodically collect runtime info when requested 2024-02-12 16:04:12 +01:00
de03d4f704 Docker client expects to be closed after usage in long running program 2024-02-12 16:04:12 +01:00
65626dd3d4 Hoist control for exiting script a level up (#348)
* Hoist control for exiting script a level up

* Do not accidentally nil out errors

* Log when running schedule

* Remove duplicate log line

* Warn on cron schedule that will never run
2024-02-12 16:04:12 +01:00
69eceb3982 Entrypoint script is not needed anymore (#346) 2024-02-12 16:04:12 +01:00
pixxon
1d45062100 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-12 16:04:12 +01:00
dependabot[bot]
64d934102d
Bump github.com/klauspost/compress from 1.17.5 to 1.17.6 (#345) 2024-02-06 05:48:05 +00:00
0f224e4fb8
Document socket-proxy permissions, return early when update failed on scaling down (#343)
* Do not await containers when there was an error on scaling

* Add test case for usage with socket proxy

* Add documentation on required permissions for docker-socket-proxy

* Add full list of used Docker APIs to doc

* CONTAINER_START and CONTAINER_STOP is not needed
2024-02-05 14:27:06 +01:00
6029225f74
Add test case for exclusive file lock (#340) 2024-02-01 21:13:45 +01:00
63b545787e
Exclusive file lock is released prematurely (#339) 2024-02-01 18:14:18 +01:00
c3daeacecb
Improve Swarm support (#333)
* Query for labeled services as well

* Try scaling down services

* Scale services back up

* Use progress tool from Docker CLI

* In test, label both services

* Clean up error and log messages

* Document scale-up/down approach in docs

* Downgrade Docker CLI to match client

* Document services stats

* Do not rely on PreviousSpec for storing desired replica count

* Log warnings from Docker when updating services

* Check whether container and service labels collide

* Document script behavior on label collision

* Add additional check if all containers have been removed

* Scale services concurrently

* Move docker interaction code into own file

* Factor out code for service updating

* Time out after five minutes of not reaching desired container count

* Inline handling of in-swarm container level restart

* Timer is more suitable for timeout race

* Timeout when scaling down services should be configurable

* Choose better filename

* Reflect changes in naming

* Rename and deprecate BACKUP_STOP_CONTAINER_LABEL

* Improve logging

* Further simplify logging
2024-01-31 12:17:41 +01:00
dependabot[bot]
2065fb2815
Bump github.com/klauspost/compress from 1.17.4 to 1.17.5 (#336) 2024-01-30 05:45:11 +00:00