Commit Graph

40 Commits

Author SHA1 Message Date
Leonardo Cecchi
a7ef56b6e7
feat: implement evaluate lifecycle hook (#222)
This patch allows the plugin trigger a rolling deployment on existing
clusters, enabling seamless migration between the in-tree barman cloud
support and the plugin.

Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2025-03-21 14:49:55 +01:00
renovate[bot]
a5b8649bd0
fix(deps): update all non-major go dependencies (#213)
| datasource | package                   | from    | to      |
| ---------- | ------------------------- | ------- | ------- |
| go         | github.com/onsi/ginkgo/v2 | v2.23.0 | v2.23.1 |
| go         | github.com/spf13/viper    | v1.19.0 | v1.20.0 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 18:48:51 +01:00
Marco Nenciarini
795313f4aa
feat: support lz4, xz, and zstandard compressions (#201)
Closes #200

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2025-03-19 10:58:55 +01:00
Leonardo Cecchi
13e3fab268
feat: lenient decoding of CNPG resources (#192)
This patch enables the barman-cloud plugin to function with an operator
that is structurally identical to CNPG but works with a different API group.

It achieves this through lenient decoding of the provided CNPG resources
and injecting the detected GVK into the sidecar, enabling it to correctly
encode and decode the Kubernetes resources.

Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2025-03-14 12:23:23 +01:00
Leonardo Cecchi
fcbc472092
feat: support custom CA certificates (#198)
This patch enables the use of custom CA certificates when connecting
to the object store in the barman-cloud plugin. The certificates are
injected into the sidecar via a projected volume and used by the
barman-cloud tool suite.

If the barman object name or the key name changes, users must trigger
a Pod rollout to apply the new values.

Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Co-authored-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2025-03-13 12:05:13 +01:00
Marco Nenciarini
aba0748789
fix(deps): update golang.org/x/net (#188)
See https://github.com/golang/go/issues/71984

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2025-03-05 14:08:27 +01:00
renovate[bot]
e1f166023f
fix(deps): update module google.golang.org/grpc to v1.71.0 (#187)
| datasource | package                | from    | to      |
| ---------- | ---------------------- | ------- | ------- |
| go         | google.golang.org/grpc | v1.70.0 | v1.71.0 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 11:48:08 +01:00
renovate[bot]
12cd519523
fix(deps): update module github.com/cloudnative-pg/cnpg-i-machinery to v0.1.2 (#182)
* fix(deps): update module github.com/cloudnative-pg/cnpg-i-machinery to v0.1.2

| datasource | package                                    | from   | to     |
| ---------- | ------------------------------------------ | ------ | ------ |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.1.1 | v0.1.2 |


Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps):use tagged CNPG api

Signed-off-by: Marco Nenciarini <mnencia@kcore.it>

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Marco Nenciarini <mnencia@kcore.it>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Nenciarini <mnencia@kcore.it>
2025-03-02 00:16:24 +01:00
renovate[bot]
e9e636ada0
fix(deps): update github.com/cloudnative-pg/cloudnative-pg digest to 34ab236 (#180)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 10:32:47 +01:00
renovate[bot]
e77799af02
fix(deps): update all non-major go dependencies (#152)
| datasource | package                                    | from                               | to      |
| ---------- | ------------------------------------------ | ---------------------------------- | ------- |
| go         | github.com/cert-manager/cert-manager       | v1.16.3                            | v1.17.1 |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.0.0-20250124134931-9247f383fe01 | v0.1.1  |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 16:09:28 +01:00
Marco Nenciarini
dfbeaf802e
fix(deps): use latest commit from CNPG 1.25 branch (#178)
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2025-02-27 15:26:46 +01:00
renovate[bot]
bb9658b28c
fix(deps): update kubernetes packages to v0.32.2 (#172)
| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| go         | k8s.io/api                     | v0.32.1 | v0.32.2 |
| go         | k8s.io/apiextensions-apiserver | v0.32.1 | v0.32.2 |
| go         | k8s.io/apimachinery            | v0.32.1 | v0.32.2 |
| go         | k8s.io/client-go               | v0.32.1 | v0.32.2 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 09:04:21 +01:00
renovate[bot]
9ba63518f9
fix(deps): update module sigs.k8s.io/kustomize/api to v0.19.0 (#148)
| datasource | package                   | from    | to      |
| ---------- | ------------------------- | ------- | ------- |
| go         | sigs.k8s.io/kustomize/api | v0.18.0 | v0.19.0 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 15:18:47 +01:00
renovate[bot]
dbc5550c9c
fix(deps): update kubernetes packages to v0.32.1 (#147)
| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| go         | k8s.io/apiextensions-apiserver | v0.32.0 | v0.32.1 |
| go         | k8s.io/client-go               | v0.32.0 | v0.32.1 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 11:20:47 +01:00
renovate[bot]
55258f6900
fix(deps): update all non-major go dependencies (#103)
| datasource | package                                    | from                                      | to                                 |
| ---------- | ------------------------------------------ | ----------------------------------------- | ---------------------------------- |
| go         | github.com/cert-manager/cert-manager       | v1.16.2                                   | v1.16.3                            |
| go         | github.com/cloudnative-pg/barman-cloud     | v0.0.0-20241218093921-134c7de4954a        | v0.0.0-20250116091735-018944b15fd4 |
| go         | github.com/cloudnative-pg/cloudnative-pg   | v1.25.0-rc1.0.20241211133237-da2d0341a4a4 | v1.25.0                            |
| go         | github.com/cloudnative-pg/cnpg-i           | v0.0.0-20241211164119-6252971211f2        | v0.0.0-20250129202149-1b1d818ad283 |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.0.0-20241209132929-8e699460292f        | v0.0.0-20250124134931-9247f383fe01 |
| go         | github.com/cloudnative-pg/machinery        | v0.0.0-20241219102532-2807bc88310d        | v0.0.0-20250124134709-2553c239f2c8 |
| go         | github.com/onsi/gomega                     | v1.36.1                                   | v1.36.2                            |
| go         | google.golang.org/grpc                     | v1.68.1                                   | v1.70.0                            |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 09:45:32 +01:00
renovate[bot]
b4d9a3f492
chore(deps): update dependency go to v1.23.5 (#143)
| datasource     | package | from   | to     |
| -------------- | ------- | ------ | ------ |
| golang-version | go      | 1.23.4 | 1.23.5 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 12:19:36 +01:00
renovate[bot]
0c8ff7426f
fix(deps): update module github.com/cloudnative-pg/api to v1 (#131)
| datasource | package                       | from                               | to      |
| ---------- | ----------------------------- | ---------------------------------- | ------- |
| go         | github.com/cloudnative-pg/api | v0.0.0-20241209133608-a48d55a7861d | v1.25.0 |


Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Co-authored-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-12-24 10:09:58 +01:00
renovate[bot]
1bc5facc9a
fix(deps): update k8s.io/utils digest to 24370be (#90)
| datasource | package      | from                               | to                                 |
| ---------- | ------------ | ---------------------------------- | ---------------------------------- |
| go         | k8s.io/utils | v0.0.0-20241104163129-6fe5fd82f078 | v0.0.0-20241210054802-24370beab758 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 10:57:51 +01:00
renovate[bot]
497022f196
fix(deps): update module sigs.k8s.io/controller-runtime to v0.19.3 (#78)
| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| go         | sigs.k8s.io/controller-runtime | v0.19.2 | v0.19.3 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 10:18:38 +01:00
renovate[bot]
378516225d
fix(deps): update all non-major go dependencies (#19)
| datasource | package                                    | from                                  | to                                 |
| ---------- | ------------------------------------------ | ------------------------------------- | ---------------------------------- |
| go         | github.com/cloudnative-pg/api              | v0.0.0-20241116094849-219d7a1d257f    | v0.0.0-20241209133608-a48d55a7861d |
| go         | github.com/cloudnative-pg/barman-cloud     | v0.0.0-20241105055149-ae6c2408bd14    | v0.0.0-20241206153842-9d56b349a329 |
| go         | github.com/cloudnative-pg/cloudnative-pg   | v1.24.1-0.20241113134512-8608232c2813 | v1.24.1                            |
| go         | github.com/cloudnative-pg/cnpg-i           | v0.0.0-20241109002750-8abd359df734    | v0.0.0-20241211164119-6252971211f2 |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.0.0-20241205093641-958e207b8afe    | v0.0.0-20241209132929-8e699460292f |
| go         | github.com/cloudnative-pg/machinery        | v0.0.0-20241105070525-042a028b767c    | v0.0.0-20241209124314-8e260445e987 |
| go         | github.com/docker/docker                   | v27.3.1+incompatible                  | v27.4.0+incompatible               |
| go         | github.com/onsi/ginkgo/v2                  | v2.21.0                               | v2.22.0                            |
| go         | github.com/onsi/gomega                     | v1.35.1                               | v1.36.1                            |
| go         | google.golang.org/grpc                     | v1.68.0                               | v1.68.1                            |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-12-12 09:40:36 +01:00
Leonardo Cecchi
e4735a2f85
feat: separate recovery object store from replica source (#83)
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Co-authored-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Co-authored-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
2024-12-09 13:29:20 +01:00
Francesco Canovai
af60a15837
test(e2e): backup and restore (#71)
Run basic backup and restore tests for the plugin. Use MinIO for S3,
Azurite for ACS and fake-gcs-server for GCS.

Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-12-02 15:53:34 +01:00
Leonardo Cecchi
9d8fa079fe
fix: exit code 0 on clean shutdown (#70)
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-11-29 16:15:04 +01:00
renovate[bot]
74d4f5d190
fix(deps): update module sigs.k8s.io/controller-runtime to v0.19.2 (#67)
| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| go         | sigs.k8s.io/controller-runtime | v0.19.1 | v0.19.2 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 14:21:55 +00:00
renovate[bot]
c639af1295
fix(deps): update kubernetes packages to v0.31.3 (#64)
| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| go         | k8s.io/api                     | v0.31.2 | v0.31.3 |
| go         | k8s.io/apiextensions-apiserver | v0.31.2 | v0.31.3 |
| go         | k8s.io/apimachinery            | v0.31.2 | v0.31.3 |
| go         | k8s.io/client-go               | v0.31.2 | v0.31.3 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 19:47:34 +00:00
renovate[bot]
b2d3032054
fix(deps): update module sigs.k8s.io/kustomize/api to v0.18.0 (#51)
| datasource | package                   | from    | to      |
| ---------- | ------------------------- | ------- | ------- |
| go         | sigs.k8s.io/kustomize/api | v0.17.3 | v0.18.0 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 04:53:25 +00:00
renovate[bot]
53d2c09993
fix(deps): update module github.com/cert-manager/cert-manager to v1.16.2 [security] (#63)
| datasource | package                              | from    | to      |
| ---------- | ------------------------------------ | ------- | ------- |
| go         | github.com/cert-manager/cert-manager | v1.16.1 | v1.16.2 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-21 02:34:22 +00:00
Francesco Canovai
c77be7fe03
test(e2e): remove exec.Command calls (#53)
Switch from using exec.Command to using kind and docker as libraries, so
tests won't depend on external binaries.

Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-11-18 10:09:57 +01:00
Armando Ruocco
beef96e12f
chore: add secrets cache (#47)
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Co-authored-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-11-14 16:10:17 +01:00
Francesco Canovai
74bc9e221e
test(e2e): environment setup (#43)
Create the CI and testing infrastructure for e2e testing. Running the ci
task now will push the plugin and sidecar images to a local registry,
start kind, install the CloudNativePG and cert-manager operators, and
then install the plugin-barman-cloud one.

No actual test is implemented.

Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-11-14 09:44:18 +01:00
Armando Ruocco
240077c771
feat(spike): restore (#29)
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Co-authored-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Co-authored-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-11-06 16:01:56 +01:00
Armando Ruocco
9fa1c0beab
feat(spike): backup method (#20)
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Signed-off-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
Co-authored-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
Co-authored-by: Francesco Canovai <francesco.canovai@enterprisedb.com>
2024-10-09 11:11:21 +02:00
Leonardo Cecchi
ea6ee30d2e
feat: sidecar injection and loading (#22)
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-10-02 13:21:04 +02:00
Leonardo Cecchi
dd6548c4a2
feat: operator plugin and manifests (#18)
Signed-off-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-10-01 15:40:48 +02:00
renovate[bot]
cbefe26440
fix(deps): update module k8s.io/client-go to v0.31.1 (#16)
| datasource | package          | from    | to      |
| ---------- | ---------------- | ------- | ------- |
| go         | k8s.io/client-go | v0.31.0 | v0.31.1 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 11:11:57 +02:00
renovate[bot]
3289d91db4
fix(deps): update all non-major go dependencies (#15)
| datasource | package                                    | from                               | to                                 |
| ---------- | ------------------------------------------ | ---------------------------------- | ---------------------------------- |
| go         | github.com/cloudnative-pg/cnpg-i           | v0.0.0-20240902182059-c9f193bf825b | v0.0.0-20240924030516-c5636170f248 |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.0.0-20240926095718-27da985944d4 | v0.0.0-20240926153929-09e2c6f6689b |
| go         | github.com/cloudnative-pg/machinery        | v0.0.0-20240919131343-9dd62b9257c7 | v0.0.0-20241001075747-34c8797af80f |
| go         | google.golang.org/grpc                     | v1.66.0                            | v1.67.1                            |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 11:11:20 +02:00
Armando Ruocco
1c86ff6574
feat(spike): wal-archive and wal-restore methods (#4)
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
Co-authored-by: Leonardo Cecchi <leonardo.cecchi@enterprisedb.com>
2024-10-01 11:02:12 +02:00
renovate[bot]
76486c2863
fix(deps): update kubernetes packages to v0.31.1 (#10)
| datasource | package             | from    | to      |
| ---------- | ------------------- | ------- | ------- |
| go         | k8s.io/apimachinery | v0.31.0 | v0.31.1 |
| go         | k8s.io/client-go    | v0.31.0 | v0.31.1 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 10:39:11 +02:00
renovate[bot]
435986b7a1
fix(deps): update all non-major go dependencies (#9)
| datasource | package                                    | from                               | to                                 |
| ---------- | ------------------------------------------ | ---------------------------------- | ---------------------------------- |
| go         | github.com/cloudnative-pg/cnpg-i           | v0.0.0-20240902182059-c9f193bf825b | v0.0.0-20240924030516-c5636170f248 |
| go         | github.com/cloudnative-pg/cnpg-i-machinery | v0.0.0-20240923090729-e3d2e7d21fb2 | v0.0.0-20240926153929-09e2c6f6689b |
| go         | google.golang.org/grpc                     | v1.66.0                            | v1.67.0                            |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 10:20:35 +02:00
Armando Ruocco
3f4759c47b
chore: scaffold (#2)
Signed-off-by: Armando Ruocco <armando.ruocco@enterprisedb.com>
2024-09-26 11:52:56 +02:00