Documentation
¶
Index ¶
- Constants
- func NewHetznerCloudProvider() cloud.CloudProvider
- type CreateVSwitchResponseBody
- type FailoverIPDetails
- type GetFailoverIPDetailsResponse
- type GetSSHKeysResponse
- type GetServerResponseBody
- type HCloudMachineTemplateUpdates
- type Hetzner
- func (h *Hetzner) AttachHCloudServerToNetwork(ctx context.Context, serverID, networkID int)
- func (h *Hetzner) AttachServerToVSwitch(ctx context.Context, serverID string, vswitchID int)
- func (h *Hetzner) ConnectVSwitchWithHetznerNetwork(ctx context.Context, network *hcloud.Network)
- func (h *Hetzner) CreateNetwork(ctx context.Context) *hcloud.Network
- func (h *Hetzner) CreateVSwitch(ctx context.Context) int
- func (h *Hetzner) GenerateStoragePlans(ctx context.Context, hetznerConfig *config.HetznerConfig)
- func (h *Hetzner) GetHCloudServerIDsForCluster(ctx context.Context, name string) []int
- func (*Hetzner) GetLatestBackupName(ctx context.Context) string
- func (h *Hetzner) GetVMSpecs(ctx context.Context, machineType string) *cloud.VMSpec
- func (h *Hetzner) PointFailoverIPToInitMasterNode(ctx context.Context)
- func (*Hetzner) SetupDisasterRecovery(ctx context.Context)
- func (*Hetzner) UpdateCapiClusterValuesFile(ctx context.Context, path string, updates any)
- func (*Hetzner) UpdateMachineTemplate(ctx context.Context, clusterClient client.Client, name string, updates any)
- func (h *Hetzner) ValidateHetznerSSHKeyPair(ctx context.Context, hetznerConfig *config.HetznerConfig)
- type HetznerBareMetalMachineTemplateUpdates
- type HetznerMachineTemplateUpdates
- type LSBLKOutput
- type LSBLKOutputRow
- type ListVSwitchResponseBody
- type Server
Constants ¶
const ( TransportTypeSATA = "sata" TransportTypeNVMe = "nvme" )
Variables ¶
This section is empty.
Functions ¶
func NewHetznerCloudProvider ¶
func NewHetznerCloudProvider() cloud.CloudProvider
Types ¶
type CreateVSwitchResponseBody ¶ added in v0.16.0
type FailoverIPDetails ¶ added in v0.12.0
type FailoverIPDetails struct {
ActiveServerIP string `json:"active_server_ip"`
}
type GetFailoverIPDetailsResponse ¶ added in v0.12.0
type GetFailoverIPDetailsResponse struct {
Failover FailoverIPDetails `json:"failover"`
}
type GetSSHKeysResponse ¶ added in v0.20.0
type GetServerResponseBody ¶ added in v0.20.0
type GetServerResponseBody struct {
Server Server `json:"server"`
}
type HCloudMachineTemplateUpdates ¶ added in v0.18.0
type HCloudMachineTemplateUpdates struct {
NewImageName string
}
type Hetzner ¶
type Hetzner struct {
// contains filtered or unexported fields
}
func (*Hetzner) AttachHCloudServerToNetwork ¶ added in v0.20.0
Attaches the given HCloud server to the given Hetzner Network.
func (*Hetzner) AttachServerToVSwitch ¶ added in v0.20.0
func (*Hetzner) ConnectVSwitchWithHetznerNetwork ¶ added in v0.20.0
When using Hetzner Bare Metal, we need to establish private connectivity between them and the HCloud servers in a Hetzner Network, using a VSwitch.
func (*Hetzner) CreateNetwork ¶ added in v0.20.0
Creates the Hetzner Network, if it doesn't already exist. The Hetzner Network details are returned.
func (*Hetzner) CreateVSwitch ¶ added in v0.16.0
A VSwitch is used to establish private connectivity between Hetzner Bare Metal servers (and a Hetzner Network, when spinning up a Hetzner hybrid cluster). This function is responsible for creating that VSwitch, if it doesn't already exist. The VSwitch ID gets returned.
func (*Hetzner) GenerateStoragePlans ¶ added in v0.20.0
func (h *Hetzner) GenerateStoragePlans(ctx context.Context, hetznerConfig *config.HetznerConfig)
func (*Hetzner) GetHCloudServerIDsForCluster ¶ added in v0.20.0
Returns IDs of the HCloud servers associated with the given Kubernetes cluster which was provisioned using Cluster API Provider Hetzner (CAPH).
func (*Hetzner) GetLatestBackupName ¶
func (*Hetzner) GetVMSpecs ¶
func (*Hetzner) PointFailoverIPToInitMasterNode ¶ added in v0.12.0
func (*Hetzner) SetupDisasterRecovery ¶
func (*Hetzner) UpdateCapiClusterValuesFile ¶ added in v0.18.0
func (*Hetzner) UpdateMachineTemplate ¶
func (*Hetzner) ValidateHetznerSSHKeyPair ¶ added in v0.20.0
func (h *Hetzner) ValidateHetznerSSHKeyPair(ctx context.Context, hetznerConfig *config.HetznerConfig)
type HetznerBareMetalMachineTemplateUpdates ¶ added in v0.18.0
type HetznerBareMetalMachineTemplateUpdates struct {
NewImagePath string
}
type HetznerMachineTemplateUpdates ¶ added in v0.18.0
type HetznerMachineTemplateUpdates struct {
HCloudMachineTemplateUpdates
HetznerBareMetalMachineTemplateUpdates
}
type LSBLKOutput ¶ added in v0.20.0
type LSBLKOutput struct {
BlockDevices []LSBLKOutputRow `json:"blockdevices"`
}
type LSBLKOutputRow ¶ added in v0.20.0
type LSBLKOutputRow struct {
Name string `json:"name"`
WWN string `json:"wwn"`
Size int `json:"size"`
RotationalDevice bool `json:"rota"`
TransportType string `json:"tran"`
PartitionTableType string `json:"pttype"`
}
func (*LSBLKOutputRow) GetDiskType ¶ added in v0.20.0
func (r *LSBLKOutputRow) GetDiskType() string