From 276ec942a25fe3ae16b20e9bba2093db0d0baba8 Mon Sep 17 00:00:00 2001 From: Armando Ruocco Date: Thu, 26 Sep 2024 12:22:42 +0200 Subject: [PATCH] feat: add instance cnpgi probe Signed-off-by: Armando Ruocco --- internal/cnpgi/instance/identity.go | 10 ++++++++++ internal/cnpgi/instance/start.go | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/internal/cnpgi/instance/identity.go b/internal/cnpgi/instance/identity.go index ae14bf8..7cf6154 100644 --- a/internal/cnpgi/instance/identity.go +++ b/internal/cnpgi/instance/identity.go @@ -2,12 +2,17 @@ package instance import ( "context" + "fmt" + barmancloudv1 "github.com/cloudnative-pg/plugin-barman-cloud/api/v1" + "sigs.k8s.io/controller-runtime/pkg/client" "github.com/cloudnative-pg/cnpg-i/pkg/identity" ) type IdentityImplementation struct { identity.UnimplementedIdentityServer + BarmanObjectKey client.ObjectKey + Client client.Client } func (i IdentityImplementation) GetPluginMetadata( @@ -45,6 +50,11 @@ func (i IdentityImplementation) Probe( ctx context.Context, request *identity.ProbeRequest, ) (*identity.ProbeResponse, error) { + var obj barmancloudv1.ObjectStore + if err := i.Client.Get(ctx, i.BarmanObjectKey, &obj); err != nil { + return nil, fmt.Errorf("while fetching object store %s: %w", i.BarmanObjectKey.Name, err) + } + return &identity.ProbeResponse{ Ready: true, }, nil diff --git a/internal/cnpgi/instance/start.go b/internal/cnpgi/instance/start.go index c66c56c..bd6dc3d 100644 --- a/internal/cnpgi/instance/start.go +++ b/internal/cnpgi/instance/start.go @@ -38,7 +38,10 @@ func (c *CNPGI) Start(ctx context.Context) error { } srv := http.Server{ - IdentityImpl: IdentityImplementation{}, + IdentityImpl: IdentityImplementation{ + Client: c.Client, + BarmanObjectKey: c.BarmanObjectKey, + }, Enrichers: []http.ServerEnricher{enrich}, ServerCertPath: c.ServerCertPath, ServerKeyPath: c.ServerKeyPath,