Documentation
¶
Index ¶
- Constants
- func EnsureHelm(ctx context.Context) (string, error)
- func GetChartVersion() string
- func LoadKubernetesObjectsFromBytes(fileYaml []byte) ([]unstructured.Unstructured, error)
- func MinIOEndpoint() string
- func NewGitHubLoader(ctx context.Context, options ...func(*githubLoader)) *githubLoader
- func WithCacheDir(cacheDir string) func(*githubLoader)
- func WithPathsToLoad(paths []string) func(*githubLoader)
- func WithRepoName(repo string) func(*githubLoader)
- func WithRepoOwner(owner string) func(*githubLoader)
- func WithRepoTag(tag string) func(*githubLoader)
- type ClusterConfig
- type TestCluster
- func (tc *TestCluster) GetClient() client.Client
- func (tc *TestCluster) GetKubeClient() (*kubernetes.Clientset, error)
- func (tc *TestCluster) GetKubeConfig() (*rest.Config, error)
- func (tc *TestCluster) GetRESTConfig() *rest.Config
- func (tc *TestCluster) LoadImage(imagePath string) error
- func (tc *TestCluster) Setup(ctx context.Context) error
- func (tc *TestCluster) Teardown(ctx context.Context) error
Constants ¶
const ( // Stackdome agent Helm chart (bundles cluster-agent + all dependencies) DefaultChartVersion = "0.6.12-alpha-rc1" ChartRepo = "oci://quay.io/stackdome/charts/stackdome-agent" ChartReleaseName = "stackdome-agent" ChartNamespace = "stackdome-control-plane" // MinIO (S3-compatible object storage for backup tests) MinIOImage = "minio/minio:latest" MinIOClientImage = "minio/mc:latest" MinIONamespace = "stackdome-system" MinIOName = "minio" MinIOServicePort = 9000 MinIOAccessKey = "minioadmin" MinIOSecretKey = "minioadmin" MinIOBucket = "backups" )
const (
HelmVersion = "v3.14.0"
)
Variables ¶
This section is empty.
Functions ¶
func EnsureHelm ¶
EnsureHelm returns the path to a working helm binary, installing it if necessary.
func GetChartVersion ¶
func GetChartVersion() string
GetChartVersion returns the stackdome-agent chart version, checking environment variables.
func LoadKubernetesObjectsFromBytes ¶
func LoadKubernetesObjectsFromBytes(fileYaml []byte) ([]unstructured.Unstructured, error)
func MinIOEndpoint ¶
func MinIOEndpoint() string
MinIOEndpoint returns the in-cluster endpoint for the MinIO service.
func NewGitHubLoader ¶
func WithCacheDir ¶
func WithCacheDir(cacheDir string) func(*githubLoader)
func WithPathsToLoad ¶
func WithPathsToLoad(paths []string) func(*githubLoader)
func WithRepoName ¶
func WithRepoName(repo string) func(*githubLoader)
func WithRepoOwner ¶
func WithRepoOwner(owner string) func(*githubLoader)
func WithRepoTag ¶
func WithRepoTag(tag string) func(*githubLoader)
Types ¶
type ClusterConfig ¶
type ClusterConfig struct {
Name string
CacheDir string
NodeCount int
InstallOperators bool
ContainerRuntime string
Logger logr.Logger
}
ClusterConfig holds configuration for test cluster setup
func DefaultClusterConfig ¶
func DefaultClusterConfig(name string, logger logr.Logger) *ClusterConfig
DefaultClusterConfig returns a default configuration for test clusters
type TestCluster ¶
type TestCluster struct {
// contains filtered or unexported fields
}
TestCluster manages a test Kubernetes cluster
func NewTestCluster ¶
func NewTestCluster(config *ClusterConfig) *TestCluster
NewTestCluster creates a new test cluster manager
func NewTestClusterFromKubeconfig ¶
func NewTestClusterFromKubeconfig(kubeconfigPath string, logger logr.Logger) (*TestCluster, error)
NewTestClusterFromKubeconfig creates a TestCluster backed by an existing kubeconfig file.
func NewTestClusterFromRESTConfig ¶
func NewTestClusterFromRESTConfig(cfg *rest.Config, logger logr.Logger) *TestCluster
NewTestClusterFromRESTConfig creates a TestCluster from an existing REST config.
func (*TestCluster) GetClient ¶
func (tc *TestCluster) GetClient() client.Client
GetClient returns a Kubernetes client for the test cluster
func (*TestCluster) GetKubeClient ¶
func (tc *TestCluster) GetKubeClient() (*kubernetes.Clientset, error)
GetKubeClient returns a kubernetes.Interface client for the test cluster
func (*TestCluster) GetKubeConfig ¶
func (tc *TestCluster) GetKubeConfig() (*rest.Config, error)
GetKubeConfig returns the REST config for the test cluster (alias for GetRESTConfig)
func (*TestCluster) GetRESTConfig ¶
func (tc *TestCluster) GetRESTConfig() *rest.Config
GetRESTConfig returns the REST config for the test cluster
func (*TestCluster) LoadImage ¶
func (tc *TestCluster) LoadImage(imagePath string) error
LoadImage loads a container image into the cluster