Compare commits

...

4 Commits

Author SHA1 Message Date
Augusto Ribeiro
1ef2e700c5
Merge 042eb6c579 into f12c978732 2026-03-04 09:04:33 +01:00
Gabriele Bartolini
f12c978732 docs: add CONTRIBUTING.md file
Some checks failed
release-please / release-please (push) Failing after 4s
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
2026-03-02 17:03:09 +11:00
Augusto Ribeiro
042eb6c579
Merge branch 'cloudnative-pg:main' into watchworkspace 2026-02-02 14:58:54 +01:00
augusto.ribeiro
5d514f481f adding a watch-namespace option in order to only watch one namespace if set
Signed-off-by: augusto.ribeiro <augusto.ribeiro@cloudkitchens.com>
Signed-off-by: augustoribeiro <augusto.mcc@gmail.com>
2026-02-02 14:57:43 +01:00
3 changed files with 27 additions and 0 deletions

10
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,10 @@
# Contributing to CloudNativePG
Thank you for your interest in contributing! 💖
To ensure consistency across the project, all CloudNativePG repositories follow
a common set of guidelines regarding code of conduct, AI usage, and
contribution workflows.
Please review the [CloudNativePG Project contributing guidelines](https://github.com/cloudnative-pg/governance/blob/main/CONTRIBUTING.md)
before searching for issues, reporting bugs, or submitting a pull request.

View File

@ -103,5 +103,12 @@ func NewCmd() *cobra.Command {
_ = viper.BindEnv("sidecar-image", "SIDECAR_IMAGE") _ = viper.BindEnv("sidecar-image", "SIDECAR_IMAGE")
cmd.Flags().String(
"watch-namespace",
"",
"The namespace to watch for CloudNativePG clusters. If empty, all namespaces will be watched.",
)
_ = viper.BindPFlag("watch-namespace", cmd.Flags().Lookup("watch-namespace"))
return cmd return cmd
} }

View File

@ -31,6 +31,7 @@ import (
utilruntime "k8s.io/apimachinery/pkg/util/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime"
clientgoscheme "k8s.io/client-go/kubernetes/scheme" clientgoscheme "k8s.io/client-go/kubernetes/scheme"
ctrl "sigs.k8s.io/controller-runtime" ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/healthz"
"sigs.k8s.io/controller-runtime/pkg/metrics/filters" "sigs.k8s.io/controller-runtime/pkg/metrics/filters"
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
@ -102,6 +103,14 @@ func Start(ctx context.Context) error {
metricsServerOptions.FilterProvider = filters.WithAuthenticationAndAuthorization metricsServerOptions.FilterProvider = filters.WithAuthenticationAndAuthorization
} }
var cacheOptions cache.Options
if viper.GetString("watch-namespace") != "" {
setupLog.Info("Watching a single namespace", "namespace", viper.GetString("watch-namespace"))
cacheOptions = cache.Options{
DefaultNamespaces: map[string]cache.Config{viper.GetString("watch-namespace"): {}},
}
}
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
Scheme: scheme, Scheme: scheme,
Metrics: metricsServerOptions, Metrics: metricsServerOptions,
@ -120,6 +129,7 @@ func Start(ctx context.Context) error {
// if you are doing or is intended to do any operation such as perform cleanups // if you are doing or is intended to do any operation such as perform cleanups
// after the manager stops then its usage might be unsafe. // after the manager stops then its usage might be unsafe.
LeaderElectionReleaseOnCancel: true, LeaderElectionReleaseOnCancel: true,
Cache: cacheOptions,
}) })
if err != nil { if err != nil {
setupLog.Error(err, "unable to start manager") setupLog.Error(err, "unable to start manager")