Releases: k8up-io/k8up
v1.0.0-rc5
10 changes since v1.0.0-rc4
🚀 Features
- Introduce reasons and consolidate status conditions (#308)
- Print Schedule ref and status conditions in kubectl (#313)
🛠️ Minor Changes
- Rename new global environment vars (#302)
- Add config option to enable verbose logging and set default to 'info' (#307)
🔎 Breaking Changes
- Change default backup image to quay.io/vshn/wrestic (#311)
🐛 Fixes
- Avoid name clash by using scheduler name as prefix and random suffix (#312)
📄 Documentation
- Document upgrade process for 0.x to 1.x (#303)
🔗 Dependency Updates
- Update module go.uber.org/zap to v1.16.0 (#309)
- Update mikepenz/release-changelog-builder-action action to v1.4.2 (#327)
- Update module sigs.k8s.io/controller-runtime to v0.8.1 and Kubernetes API to 1.20.2 (#329)
Docker images
docker pull docker.io/vshn/k8up:v1.0.0-rc5
docker pull quay.io/vshn/k8up:v1.0.0-rc5
v1.0.0-rc4
15 changes since v1.0.0-rc3
🛠️ Minor Changes
- Show partial release notes for PreReleases (#279)
- Add K8up viewer and editor roles to default built-in roles (#289)
- Adds a test for mergeBackendWithDefaults (#298)
- Rework GitHub workflows (#285)
🐛 Fixes
- Fix Application of Global Memory Limit (#280)
- Add preserveUnknownFields to generated PreBackupPod CRD (#295)
- Fixes unsolicited changes to the Schedule custom resource from globals (#297)
📄 Documentation
- Document missing environment variables (#282)
🔗 Dependency Updates
- Update mikepenz/release-changelog-builder-action action to v1.4.1 (#278)
- Update k8s.io/utils commit hash to fddb29f (#277)
- Update module stretchr/testify to v1.7.0 (#286)
- Update docker.io/library/alpine Docker tag to v3.13 (#294)
- Update mikepenz/action-junit-report action to v2 (#301)
- Upgrade to controller-runtime 0.8 and K8s 1.20 (#296)
- Upgrade of Operator SDK to 1.3.0 / Kubebuilder to v3 (#283)
Docker images
docker pull docker.io/vshn/k8up:v1.0.0-rc4
docker pull quay.io/vshn/k8up:v1.0.0-rc4
v1.0.0-rc3
81 changes since v0.1.10
🚀 Features
- Print version number at K8up startup (#161)
- Limit max concurrent jobs by type (prune, backup, check, etc.) (#164)
- Add e2e test with bats-detik (#170)
- Allow default resources to be set on all job types (#175)
- Add new smart schedules (#186)
- Add Conditions to the Status information (#204)
- Add JobSucceeded Condition to Status fields (#218)
🛠️ Minor Changes
- Replacing local playbook.yml with ad-hoc previewer command (#109)
- Rewrite (#114)
- Rewrite check executor (#135)
- Rewrite archive (#139)
- Rewrite restore (#140)
- Rewrite prune controller (#133)
- Add go test & lint gh action (#145)
- Rework Workflows and Build (#150)
- Integrate KIND into makefile (#152)
- Re-add prometheus metrics after Operator SDK migration (#146)
- Set up issue templates (#158)
- Ensure legacy and current CRD spec version support (#154)
- Merge Development to Master (#159)
- Migrate constants to Koanf (#155)
- Adjust the exclusivity of the restore and archive job (#174)
- Ensure repository is always set (#169)
- Move "Leader-election" CLI flag to Env var (#185)
- Micro Enhancements (#188)
- Add .editorconfig (#187)
- Flatten K8upStatus spec (#191)
- Add question template to GitHub (#190)
- Add .dockerignore (#192)
- Self-documenting Makefile (#189)
- Disable LEADER_ELECTION by default for make run run_kind (#200)
- add GitHub Pull Request template (#206)
- Enable pre release (#222)
- Setup CodeClimate (#233)
- Remove Prefix from issues and link questions to GH Discussions (#239)
- Skip tagging and publishing of floating tags in prereleases (#245)
- Replace Goreleaser changelog generator with PR-based generator (#248)
- Replace local registry by loading e2e images directly onto KIND cluster (#250)
- Display number of changes since which tag in the changelog (#252)
- Separate e2e tests and KIND from main Makefile (#255)
- Add junit reporting for e2e tests (#259)
- Avoid reconciliation loops with predicates (#268)
- Improve failure handling in GH e2e report workflow (#275)
- Load the e2e image into KIND in its own make-target (#269)
🐛 Fixes
- Fix s3 restore env vars (#144)
- Only add ResticPassword if set (#147)
- Fix global S3 not applied (#157)
- Fix 'tar: Error opening File' when "make intergration_test" (#199)
- Fix Null Pointer Dereference (#202)
- Fix AccountKeySecretRef in Azure backend spec (#211)
- Grant additional RBAC permissions to K8up (#219)
- Replace internal schedules when reconciling Schedule CRs (#242)
- Fix listing of PreBackupPods in foreign namespaces (#240)
- Ignore existing prebackup deployments (#249)
- Ensure backwards compatibility of GLOBALSECRETACCESSKEY variable (#258)
- Pass Scheduler Backend Config to Childresources (#260)
- Fix Check Job Creation escapade (#266)
📄 Documentation
- Documentation & formatting fixes (#103)
- Fix minio install in tutorial (#113)
- Add basic contributing docs, port README (#134)
- Recover documentation (#160)
- Docs: fix typo readme (#180)
- Fixes in backup.adoc (#201)
- Update K8up Documentation (#205)
- Update documentation configuration and small docs fixes (#221)
- Use weekly random schedule in tutorial (#243)
- Show link to changelog in the docs (#253)
- Convert architecture from png to svg and include in documentation (#254)
- Document Kustomize installation instructions (#262)
- Better distinguish between non-standard and k8up generative schedules (#267)
🔗 Dependency Updates
- Updated vale to latest version (#142)
- Upgraded antora-preview to latest version (#111)
- Pin dependency bats to 1.2.1 (#178)
- Update module onsi/gomega to v1.10.3 (#182)
- Update module imdario/mergo to v0.3.11 (#171)
- Update k8s.io/utils commit hash to 67b214c (#162)
- Update module onsi/gomega to v1.10.4 (#193)
- Update module prometheus/client_golang to v1.9.0 (#209)
- Update mikepenz/release-changelog-builder-action action to v1.3.0 (#251)
- Update mikepenz/release-changelog-builder-action action to v1.3.1 (#261)
- Update module knadh/koanf to v0.15.0 (#270)
Docker images
docker pull docker.io/vshn/k8up:v1.0.0-rc3
docker pull quay.io/vshn/k8up:v1.0.0-rc3
v1.0.0-rc2
🚀 Features
- Print version number at K8up startup (#161)
- feat: limit max concurrent jobs by type (prune, backup, check, etc.) (#164)
- Add e2e test with bats-detik (#170)
- Allow default resources to be set on all job types (#175)
- Add new smart schedules (#186)
- Add Conditions to the Status information (#204)
- Add JobSucceeded Condition to Status fields (#218)
🛠️ Minor Changes
- Replacing local playbook.yml with ad-hoc previewer command (#109)
- Rewrite (#114)
- feat: rewrite check executor (#135)
- feat: rewrite archive (#139)
- feat(restore): rewrite restore (#140)
- feat(prune): rewrite prune controller (#133)
- chore: add go test&lint gh action (#145)
- Rework Workflows and Build (#150)
- Integrate KIND into makefile (#152)
- Re-add prometheus metrics after Operator SDK migration (#146)
- Set up issue templates (#158)
- Ensure legacy and current CRD spec version support (#154)
- Merge Development to Master (#159)
- Migrate constants to Koanf (#155)
- Adjust the exclusivity of the restore and archive job (#174)
- feat: ensure repository is always set (#169)
- Move Leader-election CLI flag to Env var (#185)
- Micro Enhancements (#188)
- Add .editorconfig (#187)
- Flatten K8upStatus spec (#191)
- Add question template to GitHub (#190)
- Add .dockerignore (#192)
- Self-documenting Makefile (#189)
- Disable LEADER_ELECTION by default for make run run_kind (#200)
- add GitHub Pull Request template (#206)
- Enable pre release (#222)
- Setup CodeClimate (#233)
- Remove Prefix from issues and link questions to GH Discussions (#239)
- Skip tagging and publishing of floating tags in prereleases (#245)
- Replace Goreleaser changelog generator with PR-based generator (#248)
- Replace local registry by loading e2e images directly onto KIND cluster (#250)
🐛 Fixes
- fix(archive): s3 restore env vars (#144)
- fix: only add ResticPassword if set (#147)
- Fix global S3 not applied (#157)
- Fix 'tar: Error opening File' when (#199)
- Fixes in backup.adoc (#201)
- Fix Null Pointer Dereference (#202)
- Fix AccountKeySecretRef in Azure backend spec (#211)
- Grant additional RBAC permissions to K8up (#219)
- Replace internal schedules when reconciling Schedule CRs (#242)
- Fix listing of PreBackupPods in foreign namespaces (#240)
- Ignore existing prebackup deployments (#249)
📄 Documentation
- Documentation & formatting fixes (#103)
- docs(tutorial): fix minio install (#113)
- docs(contributing): add basic contributing docs, port README (#134)
- Recover documentation (#160)
- Docs: fix typo readme (#180)
- Update K8up Documentation (#205)
- Update documentation configuration and small docs fixes (#221)
- Use weekly random schedule in tutorial (#243)
🔗 Dependency Updates
- Updated vale to latest version (#142)
- Upgraded antora-preview to latest version (#111)
- Pin dependency bats to 1.2.1 (#178)
- Update module onsi/gomega to v1.10.3 (#182)
- Update module imdario/mergo to v0.3.11 (#171)
- Update k8s.io/utils commit hash to 67b214c (#162)
- Update module onsi/gomega to v1.10.4 (#193)
- Update module prometheus/client_golang to v1.9.0 (#209)
Docker images
docker pull docker.io/vshn/k8up:v1.0.0-rc2
docker pull quay.io/vshn/k8up:v1.0.0-rc2
v1.0.0-rc1
Changelog
9520fb3 Add .dockerignore
0b8eeb5 Add .editorconfig
b51abc3 Add @weekly-random and handle special case of monthly schedules
ccc5032 Add Status field to Schedule for generated schedules
3c61bef Add architecture drawing
bc91903 Add e2e test with bats-detik
74a3962 Add more Badges
24ff426 Add question template to GitHub
f5b8ad1 Add random schedule generator feature
ee1bfff Add renovate.json
a6f93f1 Add support for both legacy and current CRD specs
e504be6 Adjust the exclusivity of the restore and archive job
df7fa9f Allow resource requirements in specifications with global defaults
27dd89a Baby steps with operator-sdk 1.0
712ddc4 Callback registering for observer
277bbbf Changelog generator: ignore cases for changelog exclude filter
df7e2aa Disable LEADER_ELECTION for local development by default
d1b4156 Disable spec validation in GH workflow
1bbd05a Documentation & formatting fixes
00ce521 Don't complain about existing dir
f7e65da Enable auto pre-release detection
00196fc Ensure a repository is always set
d06b6d1 Fix 'tar: Error opening File'
a82063c Fix AccountKeySecretRef in Azure backend spec
92649f7 Fix Null Pointer Dereference
ffb0357 Fix global S3 not applied
9c1e3de Fix typo
949265d Fix wrong allocation bug
1ad538b Fixes in backup.adoc
7b33f43 Generalize explanation of image tag templating
d0563ef Grant additional RBAC permissions to K8up
0b7e4cf Implement job observer
758ca6f Init
f19c4f2 Integrate KIND into makefile
deda0a7 Integrate controller-gen into go.mod, using go generate
1af6280 Integrates Kustomize into go.mod
8a305fd Load env vars using Koanf
d30c502 Make linters happy
47d88b3 Merge branch 'development' into feat/125-prune
5ceaf8b Merge branch 'master' into development
4409940 Merge branch 'master' into upgrade-preview
65ae621 Migrate internal constants to Configuration struct
3467638 Migrate samples to Kustomize
e3b1e92 More plumbing
621d1ca Move "Leader-election" CLI flag to Env var
88293fd Optimisation
20d1452 Optimize Kustomize setup
890e51f Pin dependency bats to 1.2.1
e40ff6f Prevent pre-releases from creating latest
images
260ff3e Prevent pre-releases from creating floating Major version images
d008ccd Print version number at K8up startup
cbd5c31 Re-add Makefile commands for documentation
292915e Recover deleted documentation
f999cd2 Regenerate CRDs with controller-gen 0.4
6ecf2f2 Remove CHANGELOG.md, push docker image for master branch
9539f0b Remove Vale
e9e8f9f Remove generate make target dependency from run targets
1089d42 Remove licensing from Operator-SDK
f963404 Replaced playbook.yml with a custom command
8329cd6 Rework GH Action workflows and Docker build
6b7e93f Self-documenting Makefile
dc8bb7c Start implementation of architecture
b9b2e86 Starting pre backup pods
6aaf37b Successfully observing jobs
2d45531 Tag suite_test.go with integration
41e98c8 Unify manifests and generate make targets
7e4da51 Update .github/PULL_REQUEST_TEMPLATE.md
e982105 Update Go to 1.15
15bcee9 Update README.md
4cd70ca Update architecture
6a88af4 Update module onsi/gomega to v1.10.3
d86624b Update module onsi/gomega to v1.10.4
7f84457 Update module prometheus/client_golang to v1.9.0
654b8c9 Update readme
f72d695 Updated vale to latest version
1aeaed5 Upgraded antora-preview to latest version
17c2017 Use specific version of kubectl in GH action
c2c140a User existing group name for backwardscompatibility
8220ce4 Working backups
8fc8b06 Working job trigger and locking
34a6ba7 Working scheduling
bb50e70 add GitHub Pull Request template
e5f5a5a add meaningful comments
adcbd91 add metricsFailureCounter, metricsSuccessCounter and metricsTotalCounter
bf2d3a7 add queueCount metric to controller-runtime default endpoint
a4b98fa add scheduleCount metric to controller-runtime default endpoint
bb54af0 add some unit tests to the observer
cb454d4 chore(deps): update k8s.io/utils commit hash to 67b214c
33a9528 chore(deps): update module imdario/mergo to v0.3.11
e44eb99 chore: add go test&lint gh action
c2cf71a chore: remove .vscode from git
57995d7 docs(contributing): add basic contributing docs, port README
08979b2 docs(tutorial): fix minio install
dd96f97 extract EventType constants to own block
b8cdc05 feat(prune): rewrite prune controller
34acb27 feat(restore): rewrite restore controller
ccc2f58 feat: limit max concurrent jobs by type (prune, backup, check, etc.)
9ec6834 feat: rewrite archive
48fc6ae feat: rewrite check executor
0433fb0 fix set of env vars
1898339 fix(archive): s3 restore env vars
07e2487 fix: only add ResticPassword if set
af352ad fixed untracked files
dfa1542 migrate tutorial into docs
f15be4b move original docs pages and content around
6d3124a refactoring of job type and fix limit to be not be per repository
6393abc refactoring of job type from string to JobType type
3f1b600 refresh Antora docs tooling
b7af931 rework docs homepage
a0595f7 update executor's interface method names to make them more significant
219d4f2 update go.sum
0967027 update methods names of metrics in observer
b7f7481 update metrics and function names in scheduler
2ed0e89 update metrics and functions names
493e257 update name of constant and method of metric bind address
Docker images
docker pull docker.io/vshn/k8up:v1.0.0-rc1
docker pull quay.io/vshn/k8up:v1.0.0-rc1
docker pull docker.io/vshn/k8up:v1.0.0-rc1
docker pull quay.io/vshn/k8up:v1.0.0-rc1
docker pull docker.io/vshn/k8up:v1.0.0-rc1
docker pull quay.io/vshn/k8up:v1.0.0-rc1
Bugfix release
Changed
- Split up documentation into smaller chapters
Fixed
- Race condition in subscriber, causing panics
Add tag support
Added
- The operator passes the configured annotation names to Wrestic
Fixed
- KeepJobs value of sub items in Schedule are not overridden
v0.1.8
Changed annotation name defaults and some bugfixes
The annotations for including/excluding PVCs as well as the backupcommand annotation have changed. If you're using them this is a breaking change and needs to be adjusted properly.
Changed
- Change defaults for
BACKUP_ANNOTATION
andBACKUP_BACKUPCOMMANDANNOTATION
to usek8up.syn.tools
as their prefix.
Fixed
- Race conditions in the locking logic