Documentation
¶
Index ¶
- type Health
- type Instance
- type K3sProvider
- func (p *K3sProvider) Apply(ctx context.Context, workload Workload) (Status, error)
- func (p *K3sProvider) ID() ProviderID
- func (p *K3sProvider) Metrics(ctx context.Context, id string) (Usage, error)
- func (p *K3sProvider) Ready(ctx context.Context) error
- func (p *K3sProvider) Remove(ctx context.Context, id string) error
- func (p *K3sProvider) Resize(ctx context.Context, id string, resources Resources) (Status, error)
- func (p *K3sProvider) Scale(ctx context.Context, id string, replicas int) (Status, error)
- func (p *K3sProvider) Status(ctx context.Context, id string) (Status, error)
- func (p *K3sProvider) Validate(_ context.Context, workload Workload) error
- type MetricsProvider
- type NodeIdentity
- type Placement
- type Provider
- type ProviderID
- type Resources
- type Status
- type SwarmProvider
- func (p *SwarmProvider) Apply(ctx context.Context, workload Workload) (Status, error)
- func (p *SwarmProvider) Close() error
- func (p *SwarmProvider) EnsureLocalNodeLabel(ctx context.Context, key, value string) (NodeIdentity, error)
- func (p *SwarmProvider) ID() ProviderID
- func (p *SwarmProvider) LocalNodeIdentity(ctx context.Context) (NodeIdentity, error)
- func (p *SwarmProvider) Placement(ctx context.Context, id string) (Placement, error)
- func (p *SwarmProvider) Ready(ctx context.Context) error
- func (p *SwarmProvider) Remove(ctx context.Context, id string) error
- func (p *SwarmProvider) Resize(ctx context.Context, id string, resources Resources) (Status, error)
- func (p *SwarmProvider) Scale(ctx context.Context, id string, replicas int) (Status, error)
- func (p *SwarmProvider) Status(ctx context.Context, id string) (Status, error)
- func (p *SwarmProvider) Validate(_ context.Context, workload Workload) error
- type Usage
- type Workload
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type K3sProvider ¶
type K3sProvider struct {
// contains filtered or unexported fields
}
func NewK3sProvider ¶
func NewK3sProvider(kubeconfig, namespace string) *K3sProvider
func (*K3sProvider) ID ¶
func (p *K3sProvider) ID() ProviderID
type MetricsProvider ¶
type NodeIdentity ¶
type Provider ¶
type Provider interface {
ID() ProviderID
Validate(context.Context, Workload) error
Apply(context.Context, Workload) (Status, error)
Resize(context.Context, string, Resources) (Status, error)
Scale(context.Context, string, int) (Status, error)
Status(context.Context, string) (Status, error)
Remove(context.Context, string) error
}
type ProviderID ¶
type ProviderID string
const ( ProviderStandalone ProviderID = "standalone" ProviderSwarm ProviderID = "swarm" ProviderK3s ProviderID = "k3s" )
type SwarmProvider ¶
type SwarmProvider struct {
// contains filtered or unexported fields
}
func NewSwarmProvider ¶
func NewSwarmProvider(client swarmClient) *SwarmProvider
func NewSwarmProviderFromEnv ¶
func NewSwarmProviderFromEnv() (*SwarmProvider, error)
func (*SwarmProvider) Close ¶
func (p *SwarmProvider) Close() error
func (*SwarmProvider) EnsureLocalNodeLabel ¶
func (p *SwarmProvider) EnsureLocalNodeLabel(ctx context.Context, key, value string) (NodeIdentity, error)
func (*SwarmProvider) ID ¶
func (p *SwarmProvider) ID() ProviderID
func (*SwarmProvider) LocalNodeIdentity ¶
func (p *SwarmProvider) LocalNodeIdentity(ctx context.Context) (NodeIdentity, error)
type Workload ¶
type Workload struct {
ID string `json:"id"`
Image string `json:"image"`
Port int `json:"port,omitempty"`
Replicas int `json:"replicas"`
Resources Resources `json:"resources"`
Health Health `json:"health"`
Labels map[string]string `json:"labels,omitempty"`
Environment map[string]string `json:"environment,omitempty"`
Entrypoint []string `json:"entrypoint,omitempty"`
Command []string `json:"command,omitempty"`
WorkingDir string `json:"working_dir,omitempty"`
Networks []string `json:"networks,omitempty"`
Placement Placement `json:"placement,omitempty"`
Stateful bool `json:"stateful"`
}
Click to show internal directories.
Click to hide internal directories.