api

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const CloudContext = "metalctl"

Variables

View Source
var (
	IssueNoPartition = Issue{
		ShortName:   "no-partition",
		Description: "machine with no partition",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#no-partition",
	}
	IssueLivelinessDead = Issue{
		ShortName:   "liveliness-dead",
		Description: "the machine is not sending events anymore",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#liveliness-dead",
	}
	IssueLivelinessUnknown = Issue{
		ShortName:   "liveliness-unknown",
		Description: "the machine is not sending LLDP alive messages anymore",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#liveliness-unknown",
	}
	IssueLivelinessNotAvailable = Issue{
		ShortName:   "liveliness-not-available",
		Description: "the machine liveliness is not available",
	}
	IssueFailedMachineReclaim = Issue{
		ShortName:   "failed-machine-reclaim",
		Description: "machine phones home but not allocated",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#failed-machine-reclaim",
	}
	IssueIncompleteCycles = Issue{
		ShortName:   "incomplete-cycles",
		Description: fmt.Sprintf("machine has an incomplete lifecycle (%s)", circle),
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#incomplete-cycles",
	}
	IssueASNUniqueness = Issue{
		ShortName:   "asn-not-unique",
		Description: "The ASN is not unique (only impact on firewalls)",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#asn-not-unique",
	}
	IssueBMCWithoutMAC = Issue{
		ShortName:   "bmc-without-mac",
		Description: "BMC has no mac address",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#bmc-without-mac",
	}
	IssueBMCWithoutIP = Issue{
		ShortName:   "bmc-without-ip",
		Description: "BMC has no ip address",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#bmc-without-ip",
	}
	IssueNonDistinctBMCIP = Issue{
		ShortName:   "bmc-no-distinct-ip",
		Description: "BMC IP address is not distinct",
		RefURL:      "https://docs.metal-stack.io/stable/installation/troubleshoot/#bmc-no-distinct-ip",
	}

	AllIssues = Issues{
		IssueNoPartition,
		IssueLivelinessDead,
		IssueLivelinessUnknown,
		IssueLivelinessNotAvailable,
		IssueFailedMachineReclaim,
		IssueIncompleteCycles,
		IssueASNUniqueness,
		IssueBMCWithoutMAC,
		IssueBMCWithoutIP,
		IssueNonDistinctBMCIP,
	}
)

Functions

func FormatContextName

func FormatContextName(prefix string, suffix string) string

formatContextName returns the contextName for the given suffix. suffix can be empty.

func GetAuthContext

func GetAuthContext(kubeconfig string) (*auth.AuthContext, error)

getAuthContext reads AuthContext from given kubeconfig

func WriteContexts

func WriteContexts(ctxs *Contexts) error

Types

type Context

type Context struct {
	ApiURL       string  `yaml:"url"`
	IssuerURL    string  `yaml:"issuer_url"`
	IssuerType   string  `yaml:"issuer_type"`
	CustomScopes string  `yaml:"custom_scopes"`
	ClientID     string  `yaml:"client_id"`
	ClientSecret string  `yaml:"client_secret"`
	HMAC         *string `yaml:"hmac"`
}

Context configure metalctl behaviour

func MustDefaultContext

func MustDefaultContext() Context

type Contexts

type Contexts struct {
	CurrentContext  string `yaml:"current"`
	PreviousContext string `yaml:"previous"`
	Contexts        map[string]Context
}

Contexts contains all configuration contexts of metalctl

func GetContexts

func GetContexts() (*Contexts, error)

type Issue

type Issue struct {
	ShortName   string
	Description string
	RefURL      string
}

Issue formulates an issue of a machine

type Issues

type Issues []Issue

Issues is a list of machine issues

type MachineIssues

type MachineIssues map[string]MachineWithIssues

MachineIssues is map of a machine response to a list of machine issues

type MachineWithIssues

type MachineWithIssues struct {
	Machine models.V1MachineIPMIResponse
	Issues  Issues
}

MachineWithIssues summarizes a machine with issues

type Version

type Version struct {
	Client string                   `yaml:"client"`
	Server *metalmodels.RestVersion `yaml:"server,omitempty"`
}

Jump to

Keyboard shortcuts

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