selfdeploy

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildConfig

type BuildConfig struct {
	Context    string `yaml:"context"`
	Dockerfile string `yaml:"dockerfile"`
	Platform   string `yaml:"platform"`
}

type ClusterConfig

type ClusterConfig struct {
	Name         string `yaml:"name"`
	Region       string `yaml:"region"`
	Profile      string `yaml:"profile"`
	Kubeconfig   string `yaml:"kubeconfig"`
	ContextAlias string `yaml:"context_alias"`
}

type Config

type Config struct {
	Cluster    ClusterConfig    `yaml:"cluster"`
	Registry   RegistryConfig   `yaml:"registry"`
	Build      BuildConfig      `yaml:"build"`
	Kubernetes KubernetesConfig `yaml:"kubernetes"`
}

func LoadConfig

func LoadConfig(path string) (*Config, error)

func (*Config) Validate

func (c *Config) Validate() error

type Deployer

type Deployer struct {
	// contains filtered or unexported fields
}

func New

func New(config *Config, out, errOut io.Writer) *Deployer

func (*Deployer) Deploy

func (d *Deployer) Deploy(ctx context.Context, tag string, skipBuild bool) error

func (*Deployer) Preflight

func (d *Deployer) Preflight(ctx context.Context, requireDocker bool) (string, error)

func (*Deployer) RenderManifest

func (d *Deployer) RenderManifest(image string) ([]byte, error)

func (*Deployer) Rollback

func (d *Deployer) Rollback(ctx context.Context) error

func (*Deployer) Status

func (d *Deployer) Status(ctx context.Context) error

func (*Deployer) StatusConnected

func (d *Deployer) StatusConnected(ctx context.Context) error

type IngressConfig

type IngressConfig struct {
	Enabled                  bool   `yaml:"enabled"`
	ClassName                string `yaml:"class_name"`
	Host                     string `yaml:"host"`
	TLSSecretName            string `yaml:"tls_secret_name"`
	TLSSecretSourceNamespace string `yaml:"tls_secret_source_namespace"`
	GatewayServiceNamespace  string `yaml:"gateway_service_namespace"`
	GatewayServiceName       string `yaml:"gateway_service_name"`
}

type KubernetesConfig

type KubernetesConfig struct {
	Namespace        string        `yaml:"namespace"`
	ManifestTemplate string        `yaml:"manifest_template"`
	SecretsFile      string        `yaml:"secrets_file"`
	StorageClass     string        `yaml:"storage_class"`
	PlatformStorage  string        `yaml:"platform_storage"`
	MySQLStorage     string        `yaml:"mysql_storage"`
	RedisStorage     string        `yaml:"redis_storage"`
	ServiceType      string        `yaml:"service_type"`
	ExternalOrigin   string        `yaml:"external_origin"`
	CookieSecure     bool          `yaml:"cookie_secure"`
	Ingress          IngressConfig `yaml:"ingress"`
}

type RegistryConfig

type RegistryConfig struct {
	Repository       string `yaml:"repository"`
	CreateRepository bool   `yaml:"create_repository"`
	Tag              string `yaml:"tag"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL