From 805afd0d28c5f925c7124b541cad1fb28002d619 Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Tue, 4 Mar 2025 20:49:41 +1000 Subject: [PATCH] fix(dns): update cluster domain DNS records when adding a new machine to cluster --- cmd/uncloud/machine/add.go | 9 ++++++++- internal/cli/client/caddy.go | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/uncloud/machine/add.go b/cmd/uncloud/machine/add.go index 1db44f77..405fb7e4 100644 --- a/cmd/uncloud/machine/add.go +++ b/cmd/uncloud/machine/add.go @@ -12,6 +12,7 @@ import ( "google.golang.org/protobuf/types/known/emptypb" "net/netip" "time" + "uncloud/cmd/uncloud/caddy" "uncloud/internal/cli" "uncloud/internal/cli/client" "uncloud/internal/cli/config" @@ -138,12 +139,18 @@ func add(ctx context.Context, uncli *cli.CLI, remoteMachine cli.RemoteMachine, o return fmt.Errorf("create caddy deployment: %w", err) } - return progress.RunWithTitle(ctx, func(ctx context.Context) error { + err = progress.RunWithTitle(ctx, func(ctx context.Context) error { if _, err = d.Run(ctx); err != nil { return fmt.Errorf("deploy caddy: %w", err) } return nil }, uncli.ProgressOut(), fmt.Sprintf("Deploying service %s", d.Spec.Name)) + if err != nil { + return err + } + + fmt.Println() + return caddy.UpdateDomainRecords(ctx, machineClient, uncli.ProgressOut()) } func waitClusterInitialised(ctx context.Context, client *client.Client) error { diff --git a/internal/cli/client/caddy.go b/internal/cli/client/caddy.go index 1240f7ea..7c7fca3f 100644 --- a/internal/cli/client/caddy.go +++ b/internal/cli/client/caddy.go @@ -31,7 +31,6 @@ func (cli *Client) NewCaddyDeployment(image string, filter MachineFilter) (*Depl image = reference.FamiliarString(latest) } - // TODO: set restart policy to always. https://github.com/psviderski/uncloud/issues/26 spec := api.ServiceSpec{ Container: api.ContainerSpec{ Command: []string{"caddy", "run", "-c", "/config/caddy.json", "--watch"},