hcloud

package
v0.14.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2021 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// HCloudExternalIPEndpoint is the local hcloud endpoint for the external IP.
	HCloudExternalIPEndpoint = "http://169.254.169.254/hetzner/v1/metadata/public-ipv4"

	// HCloudNetworkEndpoint is the local hcloud endpoint for the network-config.
	HCloudNetworkEndpoint = "http://169.254.169.254/hetzner/v1/metadata/network-config"

	// HCloudHostnameEndpoint is the local hcloud endpoint for the hostname.
	HCloudHostnameEndpoint = "http://169.254.169.254/hetzner/v1/metadata/hostname"

	// HCloudUserDataEndpoint is the local hcloud endpoint for the config.
	HCloudUserDataEndpoint = "http://169.254.169.254/hetzner/v1/userdata"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Hcloud

type Hcloud struct{}

Hcloud is the concrete type that implements the runtime.Platform interface.

func (*Hcloud) Configuration

func (h *Hcloud) Configuration(ctx context.Context) ([]byte, error)

Configuration implements the runtime.Platform interface.

func (*Hcloud) ConfigurationNetwork

func (h *Hcloud) ConfigurationNetwork(metadataNetworkConfig []byte, confProvider config.Provider) (config.Provider, error)

ConfigurationNetwork implements the network configuration interface.

func (*Hcloud) ExternalIPs

func (h *Hcloud) ExternalIPs(ctx context.Context) (addrs []net.IP, err error)

ExternalIPs implements the runtime.Platform interface.

func (*Hcloud) Hostname

func (h *Hcloud) Hostname(ctx context.Context) (hostname []byte, err error)

Hostname implements the runtime.Platform interface.

func (*Hcloud) KernelArgs

func (h *Hcloud) KernelArgs() procfs.Parameters

KernelArgs implements the runtime.Platform interface.

func (*Hcloud) Mode

func (h *Hcloud) Mode() runtime.Mode

Mode implements the runtime.Platform interface.

func (*Hcloud) Name

func (h *Hcloud) Name() string

Name implements the runtime.Platform interface.

type NetworkConfig

type NetworkConfig struct {
	Version int `yaml:"version"`
	Config  []struct {
		Mac        string `yaml:"mac_address"`
		Interfaces string `yaml:"name"`
		Subnets    []struct {
			NameServers []string `yaml:"dns_nameservers,omitempty"`
			Address     string   `yaml:"address,omitempty"`
			Gateway     string   `yaml:"gateway,omitempty"`
			Ipv4        bool     `yaml:"ipv4,omitempty"`
			Ipv6        bool     `yaml:"ipv6,omitempty"`
			Type        string   `yaml:"type"`
		} `yaml:"subnets"`
		Type string `yaml:"type"`
	} `yaml:"config"`
}

NetworkConfig holds hcloud network-config info.

Jump to

Keyboard shortcuts

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