9da206dc7c
PVCs and CloudNativePG Clusters need S3 buckets and backup schedules
provisioned consistently. This operator watches the
backups.unkin.net/{schedule,destination} annotations on those objects and
provisions everything needed to back them up, with no new CRDs.
- Add a PVC controller that provisions cephrgw ObjectStoreUser/Bucket/BucketAccess,
auto-generates a restic repo-password Secret and creates a k8up Schedule scoped
to the PVC via spec.backup.volumes[].persistentVolumeClaim.claimName.
- Add a CNPG Cluster controller that provisions the same bucket stack, idempotently
patches spec.backup.barmanObjectStore (leaving a user-set destinationPath alone
with a Warning event) and creates a ScheduledBackup.
- Resolve destinations through a ConfigMap lookup table; requeue until the
BucketAccess is Ready before creating schedule resources; own-reference created
resources and retain bucket data by default.
- Add schedule-mapping helpers (k8up 5-field/shortcut pass-through, CNPG 6-field
seconds-first) and deterministic, length-bounded name derivation.
- Add unit tests (schedule mapping, name derivation, destination resolution) and
envtest controller tests for both paths, wiring the external CRDs into envtest.
- Add kubebuilder-generated RBAC, a Dockerfile (distroless/nonroot), Woodpecker
lint/test/build pipelines and a tag-triggered image push to the artifactapi
docker-internal registry, plus a version-bump Makefile and deploy manifests.
37 lines
2.2 KiB
Markdown
37 lines
2.2 KiB
Markdown
# Contributors
|
|
|
|
- Repository: ['go-openapi/swag']
|
|
|
|
| Total Contributors | Total Contributions |
|
|
| --- | --- |
|
|
| 24 | 235 |
|
|
|
|
| Username | All Time Contribution Count | All Commits |
|
|
| --- | --- | --- |
|
|
| @fredbi | 105 | <https://github.com/go-openapi/swag/commits?author=fredbi> |
|
|
| @casualjim | 98 | <https://github.com/go-openapi/swag/commits?author=casualjim> |
|
|
| @alexandear | 4 | <https://github.com/go-openapi/swag/commits?author=alexandear> |
|
|
| @orisano | 3 | <https://github.com/go-openapi/swag/commits?author=orisano> |
|
|
| @reinerRubin | 2 | <https://github.com/go-openapi/swag/commits?author=reinerRubin> |
|
|
| @n-inja | 2 | <https://github.com/go-openapi/swag/commits?author=n-inja> |
|
|
| @nitinmohan87 | 2 | <https://github.com/go-openapi/swag/commits?author=nitinmohan87> |
|
|
| @Neo2308 | 2 | <https://github.com/go-openapi/swag/commits?author=Neo2308> |
|
|
| @michaelbowler-form3 | 2 | <https://github.com/go-openapi/swag/commits?author=michaelbowler-form3> |
|
|
| @ujjwalsh | 1 | <https://github.com/go-openapi/swag/commits?author=ujjwalsh> |
|
|
| @griffin-stewie | 1 | <https://github.com/go-openapi/swag/commits?author=griffin-stewie> |
|
|
| @POD666 | 1 | <https://github.com/go-openapi/swag/commits?author=POD666> |
|
|
| @pytlesk4 | 1 | <https://github.com/go-openapi/swag/commits?author=pytlesk4> |
|
|
| @shirou | 1 | <https://github.com/go-openapi/swag/commits?author=shirou> |
|
|
| @seanprince | 1 | <https://github.com/go-openapi/swag/commits?author=seanprince> |
|
|
| @petrkotas | 1 | <https://github.com/go-openapi/swag/commits?author=petrkotas> |
|
|
| @mszczygiel | 1 | <https://github.com/go-openapi/swag/commits?author=mszczygiel> |
|
|
| @sosiska | 1 | <https://github.com/go-openapi/swag/commits?author=sosiska> |
|
|
| @kzys | 1 | <https://github.com/go-openapi/swag/commits?author=kzys> |
|
|
| @faguirre1 | 1 | <https://github.com/go-openapi/swag/commits?author=faguirre1> |
|
|
| @posener | 1 | <https://github.com/go-openapi/swag/commits?author=posener> |
|
|
| @diego-fu-hs | 1 | <https://github.com/go-openapi/swag/commits?author=diego-fu-hs> |
|
|
| @davidalpert | 1 | <https://github.com/go-openapi/swag/commits?author=davidalpert> |
|
|
| @Xe | 1 | <https://github.com/go-openapi/swag/commits?author=Xe> |
|
|
|
|
_this file was generated by the [Contributors GitHub Action](https://github.com/github/contributors)_
|