Documentation ¶
Index ¶
- Constants
- Variables
- type Config
- type Hetzner
- func (h *Hetzner) ApplyCSI(context.Context) (*provider.ApplyCSIResponse, error)
- func (h *Hetzner) CreateServer(ctx context.Context, name string, nodeConfig config.ClusterNodePool, ...) (*hcloud.Server, error)
- func (h *Hetzner) DatastoreCreate(context.Context) (*provider.DatastoreCreateResponse, error)
- func (h *Hetzner) DatastoreDelete(context.Context) (*provider.DatastoreDeleteResponse, error)
- func (h *Hetzner) DeleteAllResources(ctx context.Context) error
- func (h *Hetzner) GetProviderSecrets(ctx context.Context) (map[string]string, error)
- func (h *Hetzner) ManagerAddress(ctx context.Context) (*provider.ManagerAddressResponse, error)
- func (h *Hetzner) NodeCreate(ctx context.Context, opts *provider.NodeCreateRequest) (*provider.NodeCreateResponse, error)
- func (h *Hetzner) NodeDelete(ctx context.Context, opts *provider.NodeDeleteRequest) (*provider.NodeDeleteResponse, error)
- func (h *Hetzner) NodeList(ctx context.Context, opts *provider.NodeListRequest) (*provider.NodeListResponse, error)
- func (h *Hetzner) Prepare(ctx context.Context) (*provider.PrepareResponse, error)
- func (h *Hetzner) SetClusterNodePoolDefaults(c config.ClusterNodePool) config.ClusterNodePool
- type LabelKey
- type LoadBalancer
- type SSHKey
Constants ¶
View Source
const ( Name = "hetzner" DefaultImage = "ubuntu-24.04" DefaultArch = string(hcloud.ArchitectureX86) )
Variables ¶
View Source
var ( ErrBadSSHKey = errors.New("bad ssh key") ErrBadLoadBalancerConfig = errors.New("load balancer config must have location or networkZone set") ErrSSHKeyNotPresent = errors.New("ssh key not present") ErrUnknownImage = errors.New("unknown server image") ErrUnknownLocation = errors.New("unknown server location") ErrUnknownLoadBalancer = errors.New("unknown load balancer") ErrUnknownLoadBalancerType = errors.New("unknown load balancer type") ErrUnknownServerType = errors.New("unknown server type") )
View Source
var ErrMultipleCandidates = func(resource string) error { return fmt.Errorf("multiple %s resources exist", resource) }
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Token string `validate:"required"` SSHKey LoadBalancer }
type Hetzner ¶
type Hetzner struct {
// contains filtered or unexported fields
}
func (*Hetzner) CreateServer ¶
func (*Hetzner) DatastoreCreate ¶
func (*Hetzner) DatastoreDelete ¶
func (*Hetzner) DeleteAllResources ¶
func (*Hetzner) GetProviderSecrets ¶
func (*Hetzner) ManagerAddress ¶
func (*Hetzner) NodeCreate ¶
func (h *Hetzner) NodeCreate(ctx context.Context, opts *provider.NodeCreateRequest) (*provider.NodeCreateResponse, error)
func (*Hetzner) NodeDelete ¶
func (h *Hetzner) NodeDelete(ctx context.Context, opts *provider.NodeDeleteRequest) (*provider.NodeDeleteResponse, error)
func (*Hetzner) NodeList ¶
func (h *Hetzner) NodeList(ctx context.Context, opts *provider.NodeListRequest) (*provider.NodeListResponse, error)
func (*Hetzner) SetClusterNodePoolDefaults ¶
func (h *Hetzner) SetClusterNodePoolDefaults(c config.ClusterNodePool) config.ClusterNodePool
type LoadBalancer ¶
type LoadBalancer struct { Location string NetworkZone hcloud.NetworkZone Type string }
Click to show internal directories.
Click to hide internal directories.