refactor: move api, client, compose packages to pkg

This commit is contained in:
Pavel Sviderski
2025-03-22 18:43:00 +10:00
parent 3757813b20
commit b1abd07dde
42 changed files with 82 additions and 82 deletions
+3 -3
View File
@@ -6,13 +6,13 @@ import (
"fmt"
"github.com/docker/cli/cli/streams"
"github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/client"
"github.com/spf13/cobra"
"maps"
"slices"
"strings"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
type deployOptions struct {
+3 -3
View File
@@ -6,11 +6,11 @@ import (
"fmt"
"github.com/compose-spec/compose-go/v2/types"
"github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/pkg/client"
"github.com/psviderski/uncloud/pkg/compose"
"github.com/spf13/cobra"
"strings"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/compose"
)
type deployOptions struct {
+4 -4
View File
@@ -4,13 +4,13 @@ import (
"context"
"errors"
"fmt"
"github.com/psviderski/uncloud/cmd/uncloud/caddy"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/client"
"github.com/spf13/cobra"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"github.com/psviderski/uncloud/cmd/uncloud/caddy"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
const DefaultUncloudDNSAPIEndpoint = "https://dns.uncloud.run/v1"
+2 -2
View File
@@ -4,9 +4,9 @@ import (
"context"
"errors"
"fmt"
"github.com/spf13/cobra"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/pkg/client"
"github.com/spf13/cobra"
)
type showOptions struct {
+5 -5
View File
@@ -6,17 +6,17 @@ import (
"fmt"
"github.com/cenkalti/backoff/v4"
"github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/cmd/uncloud/caddy"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/config"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/client"
"github.com/spf13/cobra"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/emptypb"
"net/netip"
"time"
"github.com/psviderski/uncloud/cmd/uncloud/caddy"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/cli/config"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
type addOptions struct {
+4 -4
View File
@@ -3,13 +3,13 @@ package service
import (
"context"
"fmt"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/api"
"github.com/psviderski/uncloud/pkg/client"
"github.com/spf13/cobra"
"slices"
"strings"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
type runOptions struct {
+2 -2
View File
@@ -5,10 +5,10 @@ import (
"fmt"
"github.com/charmbracelet/huh"
"github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/internal/cli"
"github.com/psviderski/uncloud/pkg/api"
"github.com/spf13/cobra"
"strconv"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/cli"
)
type scaleOptions struct {
+4 -4
View File
@@ -5,15 +5,15 @@ import (
"errors"
"fmt"
"github.com/docker/cli/cli/streams"
"net/netip"
"os"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/cli/client/connector"
"github.com/psviderski/uncloud/internal/cli/config"
"github.com/psviderski/uncloud/internal/fs"
"github.com/psviderski/uncloud/internal/machine"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/sshexec"
"github.com/psviderski/uncloud/pkg/client"
"github.com/psviderski/uncloud/pkg/client/connector"
"net/netip"
"os"
"github.com/charmbracelet/huh"
"google.golang.org/protobuf/types/known/emptypb"
+2 -2
View File
@@ -8,14 +8,14 @@ import (
"github.com/caddyserver/caddy/v2/caddyconfig"
"github.com/caddyserver/caddy/v2/modules/caddyhttp"
"github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy"
"github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/pkg/api"
"log/slog"
"maps"
"net"
"net/http"
"slices"
"strconv"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/docker"
)
func GenerateConfig(containers []api.Container, verifyResponse string) (*caddy.Config, error) {
+2 -2
View File
@@ -4,12 +4,12 @@ import (
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/network"
"github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/pkg/api"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"strings"
"testing"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/docker"
)
func TestGenerateConfig(t *testing.T) {
+3 -3
View File
@@ -4,12 +4,12 @@ import (
"context"
"encoding/json"
"fmt"
"github.com/psviderski/uncloud/internal/fs"
"github.com/psviderski/uncloud/internal/machine/store"
"github.com/psviderski/uncloud/pkg/api"
"log/slog"
"os"
"path/filepath"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/fs"
"github.com/psviderski/uncloud/internal/machine/store"
)
const (
+2 -2
View File
@@ -8,10 +8,10 @@ import (
"github.com/docker/docker/api/types/events"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client"
"github.com/psviderski/uncloud/internal/machine/store"
"github.com/psviderski/uncloud/pkg/api"
"log/slog"
"time"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/store"
)
const (
+1 -1
View File
@@ -5,10 +5,10 @@ import (
"encoding/json"
"fmt"
sq "github.com/Masterminds/squirrel"
"github.com/psviderski/uncloud/pkg/api"
"log/slog"
"strings"
"time"
"github.com/psviderski/uncloud/internal/api"
)
const (
+3 -3
View File
@@ -9,14 +9,14 @@ import (
"github.com/docker/docker/api/types/image"
dockerclient "github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/pkg/client"
"github.com/psviderski/uncloud/pkg/client/connector"
"google.golang.org/protobuf/types/known/emptypb"
"io"
"net"
"net/netip"
"time"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/cli/client/connector"
"github.com/psviderski/uncloud/internal/secret"
)
const (
@@ -6,11 +6,11 @@ import (
"encoding/json"
"fmt"
"github.com/distribution/reference"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"maps"
"reflect"
"regexp"
"slices"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
const (
@@ -6,7 +6,7 @@ import (
"github.com/distribution/reference"
"github.com/google/go-containerregistry/pkg/name"
"github.com/google/go-containerregistry/pkg/v1/remote"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/pkg/api"
"regexp"
)
@@ -1,10 +1,10 @@
package client
import (
"github.com/psviderski/uncloud/pkg/api"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
"github.com/psviderski/uncloud/internal/api"
)
func TestClient_NewCaddyDeployment(t *testing.T) {
@@ -2,8 +2,8 @@ package client
import (
"context"
"google.golang.org/protobuf/types/known/emptypb"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"google.golang.org/protobuf/types/known/emptypb"
)
func (cli *Client) InspectMachine(ctx context.Context, id string) (*pb.MachineMember, error) {
@@ -6,8 +6,8 @@ import (
"fmt"
"github.com/compose-spec/compose-go/v2/graph"
"github.com/compose-spec/compose-go/v2/types"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/compose"
"github.com/psviderski/uncloud/pkg/api"
"github.com/psviderski/uncloud/pkg/compose"
)
func (cli *Client) NewComposeDeployment(ctx context.Context, project *types.Project) (*ComposeDeployment, error) {
@@ -3,16 +3,16 @@ package connector
import (
"context"
"fmt"
"github.com/psviderski/uncloud/internal/cli/config"
machine2 "github.com/psviderski/uncloud/internal/machine"
"github.com/psviderski/uncloud/internal/machine/network"
"github.com/psviderski/uncloud/internal/machine/network/tunnel"
"github.com/psviderski/uncloud/pkg/client"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"net"
"net/netip"
"strconv"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/cli/config"
machine2 "github.com/psviderski/uncloud/internal/machine"
"github.com/psviderski/uncloud/internal/machine/network"
"github.com/psviderski/uncloud/internal/machine/network/tunnel"
)
// WireGuardConnector establishes a connection to the cluster API through a WireGuard tunnel
@@ -10,12 +10,12 @@ import (
dockerclient "github.com/docker/docker/client"
"github.com/docker/docker/pkg/jsonmessage"
"github.com/docker/go-connections/nat"
machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/pkg/api"
"google.golang.org/grpc/status"
"strconv"
"strings"
"github.com/psviderski/uncloud/internal/api"
machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/internal/secret"
)
// CreateContainer creates a new container for the given service on the specified machine.
@@ -4,8 +4,8 @@ import (
"context"
"errors"
"fmt"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/api"
)
// Deployment manages the process of creating or updating a service to match a desired state.
@@ -6,14 +6,14 @@ import (
"fmt"
"github.com/cenkalti/backoff/v4"
"github.com/docker/compose/v2/pkg/progress"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/caddyfile"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"io"
"net/http"
"sync"
"time"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/machine/caddyfile"
)
// GetDomain returns the cluster domain name or ErrNotFound if it hasn't been reserved yet.
@@ -4,8 +4,8 @@ import (
"context"
"fmt"
"github.com/docker/docker/api/types/container"
"github.com/psviderski/uncloud/pkg/api"
"strings"
"github.com/psviderski/uncloud/internal/api"
)
// Operation represents a single atomic operation in a deployment process.
@@ -3,8 +3,8 @@ package client
import (
"fmt"
"github.com/distribution/reference"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/pkg/api"
"strings"
)
@@ -7,13 +7,13 @@ import (
"github.com/docker/compose/v2/pkg/progress"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/filters"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/pkg/api"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"slices"
"sync"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/api/pb"
)
func (cli *Client) PrepareDeploymentSpec(ctx context.Context, spec api.ServiceSpec) (api.ServiceSpec, error) {
@@ -3,11 +3,11 @@ package client
import (
"context"
"fmt"
"math/rand/v2"
"slices"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/pkg/api"
"math/rand/v2"
"slices"
)
// Strategy defines how a service should be deployed or updated. Different implementations can provide various
@@ -2,10 +2,10 @@ package client
import (
"fmt"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net/netip"
"github.com/psviderski/uncloud/internal/machine/network"
"github.com/psviderski/uncloud/internal/secret"
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
"net/netip"
)
type User struct {
@@ -3,7 +3,7 @@ package compose
import (
"fmt"
"github.com/compose-spec/compose-go/v2/types"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/pkg/api"
)
const PortsExtensionKey = "x-ports"
@@ -3,7 +3,7 @@ package compose
import (
"fmt"
"github.com/compose-spec/compose-go/v2/types"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/pkg/api"
)
func ServiceSpecFromCompose(name string, service types.ServiceConfig) (api.ServiceSpec, error) {
+2 -2
View File
@@ -2,11 +2,11 @@ package e2e
import (
mapset "github.com/deckarep/golang-set/v2"
"github.com/psviderski/uncloud/pkg/api"
"github.com/psviderski/uncloud/pkg/client"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/cli/client"
)
func assertServiceMatchesSpec(t *testing.T, svc api.Service, spec api.ServiceSpec) {
+3 -3
View File
@@ -4,6 +4,9 @@ import (
"context"
"errors"
dockerclient "github.com/docker/docker/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/ucind"
"github.com/psviderski/uncloud/pkg/client"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"google.golang.org/grpc/codes"
@@ -11,9 +14,6 @@ import (
"os"
"testing"
"time"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
"github.com/psviderski/uncloud/internal/ucind"
)
func createTestCluster(
+3 -3
View File
@@ -3,10 +3,10 @@ package e2e
import (
"context"
"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/psviderski/uncloud/pkg/api"
"github.com/psviderski/uncloud/pkg/client"
"github.com/psviderski/uncloud/pkg/compose"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
+6 -6
View File
@@ -5,17 +5,17 @@ import (
"errors"
"github.com/docker/docker/api/types/container"
"github.com/docker/go-connections/nat"
"github.com/psviderski/uncloud/internal/machine/api/pb"
machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/internal/ucind"
"github.com/psviderski/uncloud/pkg/api"
"github.com/psviderski/uncloud/pkg/client"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"net/netip"
"strings"
"testing"
"github.com/psviderski/uncloud/internal/api"
"github.com/psviderski/uncloud/internal/cli/client"
"github.com/psviderski/uncloud/internal/machine/api/pb"
machinedocker "github.com/psviderski/uncloud/internal/machine/docker"
"github.com/psviderski/uncloud/internal/secret"
"github.com/psviderski/uncloud/internal/ucind"
)
func newServiceID() string {