From bd0e7f44b2cb1cf763551152ae5cc1e2b2d7e47a Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Tue, 12 Nov 2024 15:23:02 +1000 Subject: [PATCH] init corrosion admin client in machine --- internal/machine/machine.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/machine/machine.go b/internal/machine/machine.go index 595a9d7e..9644a309 100644 --- a/internal/machine/machine.go +++ b/internal/machine/machine.go @@ -44,6 +44,7 @@ type Config struct { CorrosionDir string CorrosionAPIListenAddr netip.AddrPort CorrosionAPIAddr netip.AddrPort + CorrosionAdminSockPath string CorrosionService corroservice.Service } @@ -72,6 +73,9 @@ func (c *Config) SetDefaults() *Config { cfg.CorrosionAPIAddr = netip.AddrPortFrom( netip.AddrFrom4([4]byte{127, 0, 0, 1}), corroservice.DefaultAPIPort) } + if cfg.CorrosionAdminSockPath == "" { + cfg.CorrosionAdminSockPath = filepath.Join(cfg.CorrosionDir, "admin.sock") + } if cfg.CorrosionService == nil { cfg.CorrosionService = corroservice.DefaultSystemdService(cfg.CorrosionDir) } @@ -138,7 +142,11 @@ func NewMachine(config *Config) (*Machine, error) { return nil, fmt.Errorf("create corrosion API client: %w", err) } corroStore := store.New(corro) - c := cluster.NewCluster(corroStore) + corroAdmin, err := corrosion.NewAdminClient(config.CorrosionAdminSockPath) + if err != nil { + return nil, fmt.Errorf("create corrosion admin client: %w", err) + } + c := cluster.NewCluster(corroStore, corroAdmin) // Init a gRPC Docker server that proxies requests to the local Docker daemon. dockerCli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())