Compare commits

...
2 Commits
3 changed files with 11 additions and 7 deletions
+8 -1
View File
@@ -12,6 +12,7 @@ import (
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"net/netip" "net/netip"
"time" "time"
"uncloud/cmd/uncloud/caddy"
"uncloud/internal/cli" "uncloud/internal/cli"
"uncloud/internal/cli/client" "uncloud/internal/cli/client"
"uncloud/internal/cli/config" "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 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 { if _, err = d.Run(ctx); err != nil {
return fmt.Errorf("deploy caddy: %w", err) return fmt.Errorf("deploy caddy: %w", err)
} }
return nil return nil
}, uncli.ProgressOut(), fmt.Sprintf("Deploying service %s", d.Spec.Name)) }, 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 { func waitClusterInitialised(ctx context.Context, client *client.Client) error {
-1
View File
@@ -31,7 +31,6 @@ func (cli *Client) NewCaddyDeployment(image string, filter MachineFilter) (*Depl
image = reference.FamiliarString(latest) image = reference.FamiliarString(latest)
} }
// TODO: set restart policy to always. https://github.com/psviderski/uncloud/issues/26
spec := api.ServiceSpec{ spec := api.ServiceSpec{
Container: api.ContainerSpec{ Container: api.ContainerSpec{
Command: []string{"caddy", "run", "-c", "/config/caddy.json", "--watch"}, Command: []string{"caddy", "run", "-c", "/config/caddy.json", "--watch"},
+2 -4
View File
@@ -541,11 +541,9 @@ func (m *Machine) InitCluster(ctx context.Context, req *pb.InitClusterRequest) (
} }
publicIP, pubIPErr := network.GetPublicIP() publicIP, pubIPErr := network.GetPublicIP()
// Ignore the error if failed to get the public IP using API services. // Ignore the error if failed to get the public IP using API services.
if pubIPErr == nil { if pubIPErr == nil && !slices.Contains(ips, publicIP) {
if !slices.Contains(ips, publicIP) {
ips = append(ips, publicIP) ips = append(ips, publicIP)
} }
}
endpoints := make([]*pb.IPPort, len(ips)) endpoints := make([]*pb.IPPort, len(ips))
for i, addr := range ips { for i, addr := range ips {
addrPort := netip.AddrPortFrom(addr, network.WireGuardPort) addrPort := netip.AddrPortFrom(addr, network.WireGuardPort)
@@ -685,7 +683,7 @@ func (m *Machine) Token(_ context.Context, _ *emptypb.Empty) (*pb.TokenResponse,
} }
publicIP, err := network.GetPublicIP() publicIP, err := network.GetPublicIP()
// Ignore the error if failed to get the public IP using API services. // Ignore the error if failed to get the public IP using API services.
if err == nil { if err == nil && !slices.Contains(ips, publicIP) {
ips = append(ips, publicIP) ips = append(ips, publicIP)
} }
endpoints := make([]netip.AddrPort, len(ips)) endpoints := make([]netip.AddrPort, len(ips))