refactor: rename main module to github.com/psviderski/uncloud

This commit is contained in:
Pavel Sviderski
2025-03-22 18:25:08 +10:00
parent f1a150821c
commit 3757813b20
74 changed files with 176 additions and 172 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ package cluster
import ( import (
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"uncloud/internal/ucind" "github.com/psviderski/uncloud/internal/ucind"
) )
func NewCreateCommand() *cobra.Command { func NewCreateCommand() *cobra.Command {
+1 -1
View File
@@ -3,7 +3,7 @@ package cluster
import ( import (
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"uncloud/internal/ucind" "github.com/psviderski/uncloud/internal/ucind"
) )
func NewRemoveCommand() *cobra.Command { func NewRemoveCommand() *cobra.Command {
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"os" "os"
"strings" "strings"
"uncloud/cmd/ucind/cluster" "github.com/psviderski/uncloud/cmd/ucind/cluster"
"uncloud/internal/ucind" "github.com/psviderski/uncloud/internal/ucind"
) )
func main() { func main() {
+3 -3
View File
@@ -10,9 +10,9 @@ import (
"maps" "maps"
"slices" "slices"
"strings" "strings"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
type deployOptions struct { type deployOptions struct {
+3 -3
View File
@@ -8,9 +8,9 @@ import (
"github.com/docker/compose/v2/pkg/progress" "github.com/docker/compose/v2/pkg/progress"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"strings" "strings"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/compose" "github.com/psviderski/uncloud/internal/compose"
) )
type deployOptions struct { type deployOptions struct {
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
) )
type releaseOptions struct { type releaseOptions struct {
+4 -4
View File
@@ -7,10 +7,10 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"uncloud/cmd/uncloud/caddy" "github.com/psviderski/uncloud/cmd/uncloud/caddy"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
const DefaultUncloudDNSAPIEndpoint = "https://dns.uncloud.run/v1" const DefaultUncloudDNSAPIEndpoint = "https://dns.uncloud.run/v1"
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"errors" "errors"
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
) )
type showOptions struct { type showOptions struct {
+5 -5
View File
@@ -12,11 +12,11 @@ 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" "github.com/psviderski/uncloud/cmd/uncloud/caddy"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/cli/config" "github.com/psviderski/uncloud/internal/cli/config"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
type addOptions struct { type addOptions struct {
+6 -6
View File
@@ -6,12 +6,12 @@ import (
"github.com/docker/compose/v2/pkg/progress" "github.com/docker/compose/v2/pkg/progress"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"net/netip" "net/netip"
"uncloud/cmd/uncloud/caddy" "github.com/psviderski/uncloud/cmd/uncloud/caddy"
"uncloud/cmd/uncloud/dns" "github.com/psviderski/uncloud/cmd/uncloud/dns"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/config" "github.com/psviderski/uncloud/internal/cli/config"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/machine/cluster" "github.com/psviderski/uncloud/internal/machine/cluster"
) )
type initOptions struct { type initOptions struct {
+2 -2
View File
@@ -8,8 +8,8 @@ import (
"os" "os"
"strings" "strings"
"text/tabwriter" "text/tabwriter"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
) )
func NewListCommand() *cobra.Command { func NewListCommand() *cobra.Command {
+2 -2
View File
@@ -3,8 +3,8 @@ package machine
import ( import (
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"uncloud/internal/daemon" "github.com/psviderski/uncloud/internal/daemon"
"uncloud/internal/machine" "github.com/psviderski/uncloud/internal/machine"
) )
type tokenOptions struct { type tokenOptions struct {
+7 -7
View File
@@ -3,16 +3,16 @@ package main
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/psviderski/uncloud/cmd/uncloud/caddy"
"github.com/psviderski/uncloud/cmd/uncloud/dns"
"github.com/psviderski/uncloud/cmd/uncloud/machine"
"github.com/psviderski/uncloud/cmd/uncloud/service"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/config"
"github.com/psviderski/uncloud/internal/fs"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"net/netip" "net/netip"
"strings" "strings"
"uncloud/cmd/uncloud/caddy"
"uncloud/cmd/uncloud/dns"
"uncloud/cmd/uncloud/machine"
"uncloud/cmd/uncloud/service"
"uncloud/internal/cli"
"uncloud/internal/cli/config"
"uncloud/internal/fs"
) )
type globalOptions struct { type globalOptions struct {
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"time" "time"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
) )
type inspectOptions struct { type inspectOptions struct {
+1 -1
View File
@@ -3,11 +3,11 @@ package service
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/psviderski/uncloud/internal/cli"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"os" "os"
"strings" "strings"
"text/tabwriter" "text/tabwriter"
"uncloud/internal/cli"
) )
func NewListCommand() *cobra.Command { func NewListCommand() *cobra.Command {
+1 -1
View File
@@ -5,9 +5,9 @@ import (
"fmt" "fmt"
"github.com/docker/cli/cli/streams" "github.com/docker/cli/cli/streams"
"github.com/docker/compose/v2/pkg/progress" "github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/internal/cli"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"os" "os"
"uncloud/internal/cli"
) )
type rmOptions struct { type rmOptions struct {
+4 -4
View File
@@ -6,10 +6,10 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"slices" "slices"
"strings" "strings"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
type runOptions struct { type runOptions struct {
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"github.com/docker/compose/v2/pkg/progress" "github.com/docker/compose/v2/pkg/progress"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"strconv" "strconv"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli"
) )
type scaleOptions struct { type scaleOptions struct {
+3 -3
View File
@@ -7,9 +7,9 @@ import (
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
"uncloud/internal/daemon" "github.com/psviderski/uncloud/internal/daemon"
"uncloud/internal/log" "github.com/psviderski/uncloud/internal/log"
"uncloud/internal/machine" "github.com/psviderski/uncloud/internal/machine"
) )
func main() { func main() {
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"go.uber.org/zap" "go.uber.org/zap"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
) )
const ( const (
+1 -1
View File
@@ -1,4 +1,4 @@
module uncloud module github.com/psviderski/uncloud
go 1.23.0 go 1.23.0
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"reflect" "reflect"
"regexp" "regexp"
"slices" "slices"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
const ( const (
+7 -7
View File
@@ -7,13 +7,13 @@ import (
"github.com/docker/cli/cli/streams" "github.com/docker/cli/cli/streams"
"net/netip" "net/netip"
"os" "os"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/cli/client/connector" "github.com/psviderski/uncloud/internal/cli/client/connector"
"uncloud/internal/cli/config" "github.com/psviderski/uncloud/internal/cli/config"
"uncloud/internal/fs" "github.com/psviderski/uncloud/internal/fs"
"uncloud/internal/machine" "github.com/psviderski/uncloud/internal/machine"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/sshexec" "github.com/psviderski/uncloud/internal/sshexec"
"github.com/charmbracelet/huh" "github.com/charmbracelet/huh"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
+1 -1
View File
@@ -6,8 +6,8 @@ import (
"github.com/distribution/reference" "github.com/distribution/reference"
"github.com/google/go-containerregistry/pkg/name" "github.com/google/go-containerregistry/pkg/name"
"github.com/google/go-containerregistry/pkg/v1/remote" "github.com/google/go-containerregistry/pkg/v1/remote"
"github.com/psviderski/uncloud/internal/api"
"regexp" "regexp"
"uncloud/internal/api"
) )
const ( const (
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"testing" "testing"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
) )
func TestClient_NewCaddyDeployment(t *testing.T) { func TestClient_NewCaddyDeployment(t *testing.T) {
+2 -2
View File
@@ -5,11 +5,11 @@ import (
"errors" "errors"
"fmt" "fmt"
"github.com/docker/cli/cli/streams" "github.com/docker/cli/cli/streams"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/docker"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/metadata" "google.golang.org/grpc/metadata"
"os" "os"
"uncloud/internal/machine/api/pb"
"uncloud/internal/machine/docker"
) )
var ErrNotFound = errors.New("not found") var ErrNotFound = errors.New("not found")
+1 -1
View File
@@ -3,7 +3,7 @@ package client
import ( import (
"context" "context"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
func (cli *Client) InspectMachine(ctx context.Context, id string) (*pb.MachineMember, error) { func (cli *Client) InspectMachine(ctx context.Context, id string) (*pb.MachineMember, error) {
+7 -3
View File
@@ -6,8 +6,8 @@ import (
"fmt" "fmt"
"github.com/compose-spec/compose-go/v2/graph" "github.com/compose-spec/compose-go/v2/graph"
"github.com/compose-spec/compose-go/v2/types" "github.com/compose-spec/compose-go/v2/types"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/compose" "github.com/psviderski/uncloud/internal/compose"
) )
func (cli *Client) NewComposeDeployment(ctx context.Context, project *types.Project) (*ComposeDeployment, error) { func (cli *Client) NewComposeDeployment(ctx context.Context, project *types.Project) (*ComposeDeployment, error) {
@@ -87,12 +87,16 @@ func (d *ComposeDeployment) ServiceSpec(name string) (api.ServiceSpec, error) {
} }
// TODO: resolve the image to a digest and supported platforms using an image resolver that broadcasts requests // TODO: resolve the image to a digest and supported platforms using an image resolver that broadcasts requests
// to all machines in the cluster. // to all machines in the cluster. If service.PullPolicy is "missing":
// - Broadcast request if any machine contains a particular image and resolve it to image@digest.
// - If not found, broadcast request to resolve an image using a registry, and resolve it to image@digest.
// TODO: configure placement filter based on the supported platforms of the image. // TODO: configure placement filter based on the supported platforms of the image.
if err = d.SpecResolver.Resolve(&spec); err != nil { if err = d.SpecResolver.Resolve(&spec); err != nil {
return spec, fmt.Errorf("resolve service spec '%s': %w", name, err) return spec, fmt.Errorf("resolve service spec '%s': %w", name, err)
} }
// TODO: maybe instantiate ImageResolver here based on PullPolicy of each service?
return spec, nil return spec, nil
} }
+2 -2
View File
@@ -3,13 +3,13 @@ package connector
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/psviderski/uncloud/internal/machine"
"github.com/psviderski/uncloud/internal/sshexec"
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/credentials/insecure"
"net" "net"
"strings" "strings"
"uncloud/internal/machine"
"uncloud/internal/sshexec"
) )
type SSHConnectorConfig struct { type SSHConnectorConfig struct {
+5 -5
View File
@@ -8,11 +8,11 @@ import (
"net" "net"
"net/netip" "net/netip"
"strconv" "strconv"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/cli/config" "github.com/psviderski/uncloud/internal/cli/config"
machine2 "uncloud/internal/machine" machine2 "github.com/psviderski/uncloud/internal/machine"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
"uncloud/internal/machine/network/tunnel" "github.com/psviderski/uncloud/internal/machine/network/tunnel"
) )
// WireGuardConnector establishes a connection to the cluster API through a WireGuard tunnel // WireGuardConnector establishes a connection to the cluster API through a WireGuard tunnel
+3 -3
View File
@@ -13,9 +13,9 @@ import (
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"strconv" "strconv"
"strings" "strings"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
machinedocker "uncloud/internal/machine/docker" machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
// CreateContainer creates a new container for the given service on the specified machine. // CreateContainer creates a new container for the given service on the specified machine.
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
// Deployment manages the process of creating or updating a service to match a desired state. // Deployment manages the process of creating or updating a service to match a desired state.
+2 -2
View File
@@ -12,8 +12,8 @@ import (
"net/http" "net/http"
"sync" "sync"
"time" "time"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/machine/caddyfile" "github.com/psviderski/uncloud/internal/machine/caddyfile"
) )
// GetDomain returns the cluster domain name or ErrNotFound if it hasn't been reserved yet. // GetDomain returns the cluster domain name or ErrNotFound if it hasn't been reserved yet.
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"fmt" "fmt"
"github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/container"
"strings" "strings"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
) )
// Operation represents a single atomic operation in a deployment process. // Operation represents a single atomic operation in a deployment process.
+2 -2
View File
@@ -3,9 +3,9 @@ package client
import ( import (
"fmt" "fmt"
"github.com/distribution/reference" "github.com/distribution/reference"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/secret"
"strings" "strings"
"uncloud/internal/api"
"uncloud/internal/secret"
) )
type ImageDigestResolver interface { type ImageDigestResolver interface {
+2 -2
View File
@@ -12,8 +12,8 @@ import (
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"slices" "slices"
"sync" "sync"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
func (cli *Client) PrepareDeploymentSpec(ctx context.Context, spec api.ServiceSpec) (api.ServiceSpec, error) { func (cli *Client) PrepareDeploymentSpec(ctx context.Context, spec api.ServiceSpec) (api.ServiceSpec, error) {
+3 -3
View File
@@ -5,9 +5,9 @@ import (
"fmt" "fmt"
"math/rand/v2" "math/rand/v2"
"slices" "slices"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
// Strategy defines how a service should be deployed or updated. Different implementations can provide various // Strategy defines how a service should be deployed or updated. Different implementations can provide various
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"fmt" "fmt"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes" "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net/netip" "net/netip"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
type User struct { type User struct {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"net/netip" "net/netip"
"strconv" "strconv"
"strings" "strings"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
const ( const (
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"os" "os"
"uncloud/internal/sshexec" "github.com/psviderski/uncloud/internal/sshexec"
) )
// TODO: support pinning the script version to the CLI version. // TODO: support pinning the script version to the CLI version.
+1 -1
View File
@@ -3,7 +3,7 @@ package compose
import ( import (
"fmt" "fmt"
"github.com/compose-spec/compose-go/v2/types" "github.com/compose-spec/compose-go/v2/types"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
) )
const PortsExtensionKey = "x-ports" const PortsExtensionKey = "x-ports"
+1 -1
View File
@@ -3,7 +3,7 @@ package compose
import ( import (
"fmt" "fmt"
"github.com/compose-spec/compose-go/v2/types" "github.com/compose-spec/compose-go/v2/types"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
) )
func ServiceSpecFromCompose(name string, service types.ServiceConfig) (api.ServiceSpec, error) { func ServiceSpecFromCompose(name string, service types.ServiceConfig) (api.ServiceSpec, error) {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"fmt" "fmt"
systemd "github.com/coreos/go-systemd/daemon" systemd "github.com/coreos/go-systemd/daemon"
"log/slog" "log/slog"
"uncloud/internal/machine" "github.com/psviderski/uncloud/internal/machine"
) )
type Daemon struct { type Daemon struct {
+2 -2
View File
@@ -3,10 +3,10 @@ package daemon
import ( import (
"errors" "errors"
"fmt" "fmt"
"github.com/psviderski/uncloud/internal/machine"
"github.com/psviderski/uncloud/internal/machine/network"
"net/netip" "net/netip"
"os" "os"
"uncloud/internal/machine"
"uncloud/internal/machine/network"
) )
// MachineToken returns the local machine's token that can be used for adding the machine to a cluster. // MachineToken returns the local machine's token that can be used for adding the machine to a cluster.
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
// One2ManyResponder converts upstream responses into messages from upstreams, so that multiple // One2ManyResponder converts upstream responses into messages from upstreams, so that multiple
+2 -2
View File
@@ -14,8 +14,8 @@ import (
"net/http" "net/http"
"slices" "slices"
"strconv" "strconv"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/docker" "github.com/psviderski/uncloud/internal/machine/docker"
) )
func GenerateConfig(containers []api.Container, verifyResponse string) (*caddy.Config, error) { func GenerateConfig(containers []api.Container, verifyResponse string) (*caddy.Config, error) {
+2 -2
View File
@@ -8,8 +8,8 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"strings" "strings"
"testing" "testing"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/docker" "github.com/psviderski/uncloud/internal/machine/docker"
) )
func TestGenerateConfig(t *testing.T) { func TestGenerateConfig(t *testing.T) {
+3 -3
View File
@@ -7,9 +7,9 @@ import (
"log/slog" "log/slog"
"os" "os"
"path/filepath" "path/filepath"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/fs" "github.com/psviderski/uncloud/internal/fs"
"uncloud/internal/machine/store" "github.com/psviderski/uncloud/internal/machine/store"
) )
const ( const (
+5 -5
View File
@@ -11,11 +11,11 @@ import (
"log/slog" "log/slog"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/corrosion" "github.com/psviderski/uncloud/internal/corrosion"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
"uncloud/internal/machine/store" "github.com/psviderski/uncloud/internal/machine/store"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
type Cluster struct { type Cluster struct {
+3 -3
View File
@@ -4,12 +4,12 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"errors" "errors"
"github.com/psviderski/uncloud/internal/dns"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/store"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"uncloud/internal/dns"
"uncloud/internal/machine/api/pb"
"uncloud/internal/machine/store"
) )
// uncloudDNSKey is the key used to store the details of the reserved domain in the store. // uncloudDNSKey is the key used to store the details of the reserved domain in the store.
+1 -1
View File
@@ -2,7 +2,7 @@ package cluster
import ( import (
"fmt" "fmt"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
// NewMachineID generates a new unique machine ID. // NewMachineID generates a new unique machine ID.
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"net/netip" "net/netip"
"os" "os"
"path/filepath" "path/filepath"
"uncloud/internal/fs" "github.com/psviderski/uncloud/internal/fs"
) )
const ( const (
+1 -1
View File
@@ -10,11 +10,11 @@ import (
"github.com/docker/docker/errdefs" "github.com/docker/docker/errdefs"
"github.com/docker/docker/pkg/jsonmessage" "github.com/docker/docker/pkg/jsonmessage"
ocispec "github.com/opencontainers/image-spec/specs-go/v1" ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"io" "io"
"uncloud/internal/machine/api/pb"
) )
// Client is a gRPC client for the Docker service that provides a similar interface to the Docker HTTP client. // Client is a gRPC client for the Docker service that provides a similar interface to the Docker HTTP client.
+2 -2
View File
@@ -10,8 +10,8 @@ import (
"github.com/docker/docker/client" "github.com/docker/docker/client"
"log/slog" "log/slog"
"time" "time"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/machine/store" "github.com/psviderski/uncloud/internal/machine/store"
) )
const ( const (
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"github.com/docker/docker/libnetwork/iptables" "github.com/docker/docker/libnetwork/iptables"
"log/slog" "log/slog"
"net/netip" "net/netip"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
) )
// EnsureUncloudNetwork creates the Docker bridge network NetworkName with the provided machine subnet // EnsureUncloudNetwork creates the Docker bridge network NetworkName with the provided machine subnet
+1 -1
View File
@@ -16,7 +16,7 @@ import (
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"io" "io"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
// Server implements the gRPC Docker service that proxies requests to the Docker daemon. // Server implements the gRPC Docker service that proxies requests to the Docker daemon.
+11 -11
View File
@@ -21,17 +21,17 @@ import (
"path/filepath" "path/filepath"
"slices" "slices"
"strconv" "strconv"
"uncloud/internal/corrosion" "github.com/psviderski/uncloud/internal/corrosion"
"uncloud/internal/docker" "github.com/psviderski/uncloud/internal/docker"
"uncloud/internal/fs" "github.com/psviderski/uncloud/internal/fs"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
apiproxy "uncloud/internal/machine/api/proxy" apiproxy "github.com/psviderski/uncloud/internal/machine/api/proxy"
"uncloud/internal/machine/caddyfile" "github.com/psviderski/uncloud/internal/machine/caddyfile"
"uncloud/internal/machine/cluster" "github.com/psviderski/uncloud/internal/machine/cluster"
"uncloud/internal/machine/corroservice" "github.com/psviderski/uncloud/internal/machine/corroservice"
machinedocker "uncloud/internal/machine/docker" machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
"uncloud/internal/machine/store" "github.com/psviderski/uncloud/internal/machine/store"
) )
const ( const (
+6 -6
View File
@@ -14,12 +14,12 @@ import (
"slices" "slices"
"strconv" "strconv"
"time" "time"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/machine/caddyfile" "github.com/psviderski/uncloud/internal/machine/caddyfile"
"uncloud/internal/machine/corroservice" "github.com/psviderski/uncloud/internal/machine/corroservice"
"uncloud/internal/machine/docker" "github.com/psviderski/uncloud/internal/machine/docker"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
"uncloud/internal/machine/store" "github.com/psviderski/uncloud/internal/machine/store"
) )
const ( const (
+1 -1
View File
@@ -2,10 +2,10 @@ package network
import ( import (
"fmt" "fmt"
"github.com/psviderski/uncloud/internal/secret"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes" "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net" "net"
"net/netip" "net/netip"
"uncloud/internal/secret"
) )
type Config struct { type Config struct {
+1 -1
View File
@@ -2,9 +2,9 @@ package network
import ( import (
"fmt" "fmt"
"github.com/psviderski/uncloud/internal/secret"
"net" "net"
"net/netip" "net/netip"
"uncloud/internal/secret"
) )
// MachineIP returns the IP address of the machine which is the first address in the subnet. // MachineIP returns the IP address of the machine which is the first address in the subnet.
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"net" "net"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
const ( const (
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"golang.zx2c4.com/wireguard/wgctrl/wgtypes" "golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
const ( const (
+1 -1
View File
@@ -17,7 +17,7 @@ import (
"slices" "slices"
"sync" "sync"
"time" "time"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
type WireGuardNetwork struct { type WireGuardNetwork struct {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"sync" "sync"
"uncloud/internal/machine/network" "github.com/psviderski/uncloud/internal/machine/network"
) )
const ( const (
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"log/slog" "log/slog"
"strings" "strings"
"time" "time"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
) )
const ( const (
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"fmt" "fmt"
"google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/encoding/protojson"
"log/slog" "log/slog"
"uncloud/internal/corrosion" "github.com/psviderski/uncloud/internal/corrosion"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
) )
var ( var (
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"fmt" "fmt"
"net/netip" "net/netip"
"strings" "strings"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
const ( const (
+3 -3
View File
@@ -12,9 +12,9 @@ import (
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/machine" "github.com/psviderski/uncloud/internal/machine"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/machine/cluster" "github.com/psviderski/uncloud/internal/machine/cluster"
) )
const ( const (
+1 -1
View File
@@ -2,7 +2,7 @@ package ucind
import ( import (
"fmt" "fmt"
"uncloud/internal/cli/config" "github.com/psviderski/uncloud/internal/cli/config"
) )
type ConfigUpdater struct { type ConfigUpdater struct {
+3 -3
View File
@@ -14,9 +14,9 @@ import (
"net" "net"
"net/netip" "net/netip"
"time" "time"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/cli/client/connector" "github.com/psviderski/uncloud/internal/cli/client/connector"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
) )
const ( const (
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"testing" "testing"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
) )
func assertServiceMatchesSpec(t *testing.T, svc api.Service, spec api.ServiceSpec) { func assertServiceMatchesSpec(t *testing.T, svc api.Service, spec api.ServiceSpec) {
+3 -3
View File
@@ -11,9 +11,9 @@ import (
"os" "os"
"testing" "testing"
"time" "time"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
"uncloud/internal/ucind" "github.com/psviderski/uncloud/internal/ucind"
) )
func createTestCluster( func createTestCluster(
+4 -4
View File
@@ -3,13 +3,13 @@ package e2e
import ( import (
"context" "context"
"errors" "errors"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/compose"
"github.com/psviderski/uncloud/internal/ucind"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"testing" "testing"
"uncloud/internal/api"
"uncloud/internal/cli/client"
"uncloud/internal/compose"
"uncloud/internal/ucind"
) )
func TestComposeDeployment(t *testing.T) { func TestComposeDeployment(t *testing.T) {
+6 -6
View File
@@ -10,12 +10,12 @@ import (
"net/netip" "net/netip"
"strings" "strings"
"testing" "testing"
"uncloud/internal/api" "github.com/psviderski/uncloud/internal/api"
"uncloud/internal/cli/client" "github.com/psviderski/uncloud/internal/cli/client"
"uncloud/internal/machine/api/pb" "github.com/psviderski/uncloud/internal/machine/api/pb"
machinedocker "uncloud/internal/machine/docker" machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"uncloud/internal/secret" "github.com/psviderski/uncloud/internal/secret"
"uncloud/internal/ucind" "github.com/psviderski/uncloud/internal/ucind"
) )
func newServiceID() string { func newServiceID() string {