types

package
v0.0.0-...-28d9058 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: UPL-1.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	Name       string      `yaml:"name"`
	Release    string      `yaml:"release"`
	Version    string      `yaml:"version"`
	Catalog    string      `yaml:"catalog"`
	Namespace  string      `yaml:"namespace"`
	Config     interface{} `yaml:"config"`
	ConfigFrom string      `yaml:"configFrom"`
}

func MergeApplications

func MergeApplications(def []Application, ovr []Application) []Application

MergeApplications takes two Applications and merges them into a third. The two lists are appended to one another, and a unique slice is returned

type ByoProvider

type ByoProvider struct {
	AutomaticTokenCreation    bool   `yaml:"automaticTokenCreationfake"`
	AutomaticTokenCreationPtr *bool  `yaml:"automaticTokenCreation"`
	NetworkInterface          string `yaml:"networkInterface"`
}

func MergeByoProvider

func MergeByoProvider(def *ByoProvider, ovr *ByoProvider) ByoProvider

MergeByoProvider takes two ByoProviders and merged them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type Catalog

type Catalog struct {
	Protocol  string `yaml:"protocol"`
	URI       string `yaml:"uri"`
	Name      string `yaml:"name"`
	Namespace string `yaml:"namespace"`
}

func MergeCatalogs

func MergeCatalogs(def []Catalog, ovr []Catalog) []Catalog

MergeCatalogs takes two Catalogs and merges them into a third. The two lists are appended to one another, and a unique slice is returned

type CertificateInformation

type CertificateInformation struct {
	Country string `yaml:"country"`
	Org     string `yaml:"org"`
	OrgUnit string `yaml:"orgUnit"`
	State   string `yaml:"state"`
}

func MergeCertificateInformation

func MergeCertificateInformation(def *CertificateInformation, ovr *CertificateInformation) CertificateInformation

MergeCertificationInformation takes two CertificateInformations and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type ClusterConfig

type ClusterConfig struct {
	WorkingDirectory         string                 `yaml:"directory"`
	Name                     string                 `yaml:"name"`
	Provider                 string                 `yaml:"provider"`
	Providers                Providers              `yaml:"providers"`
	Proxy                    Proxy                  `yaml:"proxy"`
	Registry                 string                 `yaml:"registry"`
	WorkerNodes              uint16                 `yaml:"workerNodes"`
	ControlPlaneNodes        uint16                 `yaml:"controlPlaneNodes"`
	KubeAPIServerBindPort    uint16                 `yaml:"kubeApiServerBindPort"`
	KubeAPIServerBindPortAlt uint16                 `yaml:"kubeApiServerBindPortAlt"`
	VirtualIp                string                 `yaml:"virtualIp"`
	LoadBalancer             string                 `yaml:"loadBalancer"`
	PodSubnet                string                 `yaml:"podSubnet"`
	ServiceSubnet            string                 `yaml:"serviceSubnet"`
	CertificateInformation   CertificateInformation `yaml:"certificateInformation"`
	OsTag                    string                 `yaml:"osTag"`
	OsRegistry               string                 `yaml:"osRegistry"`
	KubeProxyMode            string                 `yaml:"kubeProxyMode"`
	BootVolumeContainerImage string                 `yaml:"bootVolumeContainerImage"`
	CNI                      string                 `yaml:"cni"`
	Headless                 bool                   `yaml:"headlessfake"`
	HeadlessPtr              *bool                  `yaml:"headless,omitempty"`
	Catalog                  bool                   `yaml:"catalogfake"`
	CatalogPtr               *bool                  `yaml:"catalog,omitempty"`
	CommunityCatalog         bool                   `yaml:"communityCatalogFake"`
	CommunityCatalogPtr      *bool                  `yaml:"communityCatalog,omitempty"`
	Catalogs                 []Catalog              `yaml:"catalogs"`
	Applications             []Application          `yaml:"applications"`
	KubeVersion              string                 `yaml:"kubernetesVersion"`
	SshPublicKeyPath         string                 `yaml:"sshPublicKeyPath"`
	SshPublicKey             string                 `yaml:"sshPublicKey"`
	Password                 string                 `yaml:"password"`
	CipherSuites             string                 `yaml:"cipherSuites"`
	ClusterDefinitionInline  string                 `yaml:"clusterDefinitionInline"`
	ClusterDefinition        string                 `yaml:"clusterDefinition"`
	ExtraIgnitionInline      string                 `yaml:"extraIgnitionInline"`
	ExtraIgnition            string                 `yaml:"extraIgnition"`
}

func CopyClusterConfig

func CopyClusterConfig(cc *ClusterConfig) ClusterConfig

CopyClusterConfig returns a deep copy of a ClusterConfig

func MergeClusterConfig

func MergeClusterConfig(def *ClusterConfig, ovr *ClusterConfig) ClusterConfig

MergeClusterConfig takes two ClusterConfigs and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

func OverlayConfig

func OverlayConfig(cc *ClusterConfig, c *Config) ClusterConfig

OverlayConfig merges the values from a Config into a ClusterConfig. Values from the ClusterConfig take precendence. Precalculate Kubeversion above the return, feed that value into the right field

type Config

type Config struct {
	Providers                Providers              `yaml:"providers"`
	KubeConfig               string                 `yaml:"kubeconfig"`
	AutoStartUI              string                 `yaml:"autoStartUI"`
	Proxy                    Proxy                  `yaml:"proxy"`
	KubeAPIServerBindPort    uint16                 `yaml:"kubeApiServerBindPort"`
	KubeAPIServerBindPortAlt uint16                 `yaml:"kubeApiServerBindPortAlt"`
	PodSubnet                string                 `yaml:"podSubnet"`
	ServiceSubnet            string                 `yaml:"serviceSubnet"`
	Registry                 string                 `yaml:"registry"`
	CertificateInformation   CertificateInformation `yaml:"certificateInformation"`
	OsTag                    string                 `yaml:"osTag"`
	OsRegistry               string                 `yaml:"osRegistry"`
	KubeProxyMode            string                 `yaml:"kubeProxyMode"`
	BootVolumeContainerImage string                 `yaml:"bootVolumeContainerImage"`
	CNI                      string                 `yaml:"cni"`
	Headless                 bool                   `yaml:"headlessfake"`
	HeadlessPtr              *bool                  `yaml:"headless,omitempty"`
	Catalog                  bool                   `yaml:"catalogfake"`
	CatalogPtr               *bool                  `yaml:"catalog,omitempty"`
	CommunityCatalog         bool                   `yaml:"communityCatalogFake"`
	CommunityCatalogPtr      *bool                  `yaml:"communityCatalog,omitempty"`
	EphemeralConfig          EphemeralClusterConfig `yaml:"ephemeralCluster"`
	Quiet                    bool                   `yaml:"quiteFake"`
	QuietPtr                 *bool                  `yaml:"quiet,omitempty"`
	KubeVersion              string                 `yaml:"kubernetesVersion"`
	SshPublicKeyPath         string                 `yaml:"sshPublicKeyPath"`
	SshPublicKey             string                 `yaml:"sshPublicKey"`
	Password                 string                 `yaml:"password"`
	ExtraIgnitionInline      string                 `yaml:"extraIgnitionInline"`
	ExtraIgnition            string                 `yaml:"extraIgnition"`
}

func CopyConfig

func CopyConfig(c *Config) Config

CopyConfig returns a deep copy of a Config

func MergeConfig

func MergeConfig(def *Config, ovr *Config) Config

MergeConfig takes two Configs and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type EphemeralClusterConfig

type EphemeralClusterConfig struct {
	Name     string `yaml:"name"`
	Preserve bool   `yaml:"preserve"`
	Node     Node   `yaml:"node"`
}

func MergeEphemeralConfig

MergeEphemeralConfig takes two EphemeralClusterConfigs and merges them into a third. If a value is set in the second argument, that value takes precedence. "Preserve" is ignored so as not to accidentally delete something.

type ImageInfo

type ImageInfo struct {
	BaseImage string
	Tag       string
	Digest    string
}

type LibvirtProvider

type LibvirtProvider struct {
	SessionURI                   string `yaml:"uri"`
	SshKey                       string `yaml:"sshKey"`
	StoragePool                  string `yaml:"storagePool"`
	Network                      string `yaml:"network"`
	ControlPlaneNode             Node   `yaml:"controlPlaneNode"`
	WorkerNode                   Node   `yaml:"workerNode"`
	BootVolumeName               string `yaml:"bootVolumeName"`
	BootVolumeContainerImagePath string `yaml:"bootVolumeContainerImagePath"`
}

func MergeLibvirtProvider

func MergeLibvirtProvider(def *LibvirtProvider, ovr *LibvirtProvider) LibvirtProvider

MergeLibvirtProvider takes two LibvirtProviders and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type LoadBalancer

type LoadBalancer struct {
	Subnet1 string `yaml:"subnet1"`
	Subnet2 string `yaml:"subnet2"`
}

func MergeLoadBalancer

func MergeLoadBalancer(def *LoadBalancer, ovr *LoadBalancer) LoadBalancer

MergeLoadBalancer takes two LoadBalancers and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type Node

type Node struct {
	Memory  string `yaml:"memory"`
	CPUs    int    `yaml:"cpu"`
	Storage string `yaml:"storage"`
}

func MergeNode

func MergeNode(def *Node, ovr *Node) Node

MergeNode takes two Nodes and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type OciImageSet

type OciImageSet struct {
	Amd64 string `yaml:"amd64"`
	Arm64 string `yaml:"arm64"`
}

func MergeOciImageSet

func MergeOciImageSet(def *OciImageSet, ovr *OciImageSet) OciImageSet

MergeOciImageSet takes two OciImageSets and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OciInstanceShape

type OciInstanceShape struct {
	Shape string `yaml:"shape"`
	Ocpus int    `yaml:"ocpus"`
}

func MergeOciInstanceShape

func MergeOciInstanceShape(def *OciInstanceShape, ovr *OciInstanceShape) OciInstanceShape

MergeOciInstanceShape takes two OciInstanceShapes and merges them into a third. The default values from the result come from the first argument. If a value is set in the second argument, that value takes precendence.

type OciProvider

type OciProvider struct {
	KubeConfigPath    string           `yaml:"kubeconfig"`
	Compartment       string           `yaml:"compartment"`
	Namespace         string           `yaml:"namespace"`
	ControlPlaneShape OciInstanceShape `yaml:"controlPlaneShape"`
	Images            OciImageSet      `yaml:"images"`
	WorkerShape       OciInstanceShape `yaml:"workerShape"`
	SelfManaged       bool             `yaml:"selfmanagedfake"`
	SelfManagedPtr    *bool            `yaml:"selfManaged,omitempty"`
	LoadBalancer      LoadBalancer     `yaml:"loadBalancer"`
	Vcn               string           `yaml:"vcn"`
	ImageBucket       string           `yaml:"imageBucket"`
	Proxy             Proxy            `yaml:"proxy"`
}

func MergeOciProvider

func MergeOciProvider(def *OciProvider, ovr *OciProvider) OciProvider

MergeOciProvider takes two OciProviders and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that values takes precedence.

type OlvmCluster

type OlvmCluster struct {
	ControlPlaneEndpoint OlvmControlPlaneEndpoint `yaml:"controlPlaneEndpoint"`
	DatacenterName       string                   `yaml:"ovirtDatacenterName"`
	OVirtAPI             OlvmOvirtAPI             `yaml:"ovirtAPI"`
	OVirtOck             OlvmOvirtOck             `yaml:"ovirtOCK"`
	OlvmVmIpProfile      OlvmVmIpProfile          `yaml:"olvmVmIpProfile"`
}

func MergeOlvmCluster

func MergeOlvmCluster(def *OlvmCluster, ovr *OlvmCluster) OlvmCluster

MergeOlvmCluster takes two OlvmClusters and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmControlPlaneEndpoint

type OlvmControlPlaneEndpoint struct {
	Host string `yaml:"host"`
	Port string `yaml:"port"`
}

func MergeOlvmControlPlaneEndpoint

func MergeOlvmControlPlaneEndpoint(def *OlvmControlPlaneEndpoint, ovr *OlvmControlPlaneEndpoint) OlvmControlPlaneEndpoint

MergeOlvmControlPlaneEndpoint takes two OlvmControlPlaneEndpoints and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmLocalAPIEndpoint

type OlvmLocalAPIEndpoint struct {
	BindPort         int    `yaml:"bindPort"`
	AdvertiseAddress string `yaml:"advertiseAddress"`
}

func MergeOlvmLocalAPIEndpoint

func MergeOlvmLocalAPIEndpoint(def *OlvmLocalAPIEndpoint, ovr *OlvmLocalAPIEndpoint) OlvmLocalAPIEndpoint

MergeOlvmLocalAPIEndpoint takes two OlvmLocalAPIEndpoints and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmMachine

type OlvmMachine struct {
	Memory              string             `yaml:"memory"`
	Network             OlvmMachineNetwork `yaml:"network"`
	Cpu                 OlvmMachineCpu     `yaml:"cpu"`
	OVirtClusterName    string             `yaml:"ovirtClusterName"`
	OlvmVmIpProfileName string             `yaml:"olvmVmIpProfileName"`
	VMTemplateName      string             `yaml:"vmTemplateName"`
}

func MergeOlvmMachine

func MergeOlvmMachine(def *OlvmMachine, ovr *OlvmMachine) OlvmMachine

MergeOlvmMachine takes two OlvmMachines and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmMachineCpu

type OlvmMachineCpu struct {
	Architecture string                `yaml:"architecture"`
	Topology     OlvmMachineCpuToplogy `yaml:"topology"`
}

func MergeOlvmMachineCpu

func MergeOlvmMachineCpu(def *OlvmMachineCpu, ovr *OlvmMachineCpu) OlvmMachineCpu

MergeOlvmMachineCpu takes two OlvmMachineCpus and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmMachineCpuToplogy

type OlvmMachineCpuToplogy struct {
	Cores   int `yaml:"cores"`
	Sockets int `yaml:"sockets"`
	Threads int `yaml:"threads"`
}

func MergeOlvmMachineCpuToplogy

func MergeOlvmMachineCpuToplogy(def *OlvmMachineCpuToplogy, ovr *OlvmMachineCpuToplogy) OlvmMachineCpuToplogy

MergeOlvmMachineCpuToplogy takes two OlvmMachineCpuToplogies and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmMachineNetwork

type OlvmMachineNetwork struct {
	NetworkName     string `yaml:"networkName"`
	InterfaceType   string `yaml:"interfaceType"`
	VnicName        string `yaml:"vnicName"`
	VnicProfileName string `yaml:"vnicProfileName"`
}

func MergeOlvmMachineNetwork

func MergeOlvmMachineNetwork(def *OlvmMachineNetwork, ovr *OlvmMachineNetwork) OlvmMachineNetwork

MergeOlvmMachineNetwork takes two OlvmMachineNetworks and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmOvirtAPI

type OlvmOvirtAPI struct {
	ServerURL    string `yaml:"serverURL"`
	ServerCA     string `yaml:"serverCA"`
	ServerCAPath string `yaml:"serverCAPath"`
}

func MergeOlvmOvirtAPI

func MergeOlvmOvirtAPI(def *OlvmOvirtAPI, ovr *OlvmOvirtAPI) OlvmOvirtAPI

MergeOlvmOvirtAPI takes two OlvmOvirtAPIs and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmOvirtOck

type OlvmOvirtOck struct {
	DiskName          string `yaml:"diskName"`
	DiskSize          string `yaml:"diskSize"`
	StorageDomainName string `yaml:"storageDomainName"`
}

func MergeOlvmOvirtOck

func MergeOlvmOvirtOck(def *OlvmOvirtOck, ovr *OlvmOvirtOck) OlvmOvirtOck

MergeOlvmOvirtOck takes two OlvmOvirtOcks and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type OlvmProvider

type OlvmProvider struct {
	Namespace           string               `yaml:"namespace"`
	SelfManaged         bool                 `yaml:"selfmanagedfake"`
	SelfManagedPtr      *bool                `yaml:"selfManaged,omitempty"`
	Proxy               Proxy                `yaml:"proxy"`
	NetworkInterface    string               `yaml:"networkInterface"`
	OlvmCluster         OlvmCluster          `yaml:"olvmCluster"`
	ControlPlaneMachine OlvmMachine          `yaml:"controlPlaneMachine"`
	WorkerMachine       OlvmMachine          `yaml:"workerMachine"`
	LocalAPIEndpoint    OlvmLocalAPIEndpoint `yaml:"localAPIEndpoint"`
}

func MergeOlvmProvider

func MergeOlvmProvider(def *OlvmProvider, ovr *OlvmProvider) OlvmProvider

MergeOlvmProvider takes two OlvmProviders and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that values takes precedence.

type OlvmVmIpProfile

type OlvmVmIpProfile struct {
	Name              string `yaml:"name"`
	StartingIpAddress string `yaml:"startingIpAddress"`
	Device            string `yaml:"device"`
	Gateway           string `yaml:"gateway"`
	Netmask           string `yaml:"netmask"`
}

func MergeOlvmVmIpProfile

func MergeOlvmVmIpProfile(def *OlvmVmIpProfile, ovr *OlvmVmIpProfile) OlvmVmIpProfile

MergeOlvmVmIpProfile takes two OlvmVmIpProfiles and merges them into a third. The default value for the result comes from the first argument. If a value is set in the second argument, that value takes precedence.

type Providers

type Providers struct {
	Libvirt LibvirtProvider `yaml:"libvirt"`
	Oci     OciProvider     `yaml:"oci"`
	Byo     ByoProvider     `yaml:"byo"`
	Olvm    OlvmProvider    `yaml:"olvm"`
}

func MergeProviders

func MergeProviders(def *Providers, ovr *Providers) Providers

MergeProviders takes two Providers and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

type Proxy

type Proxy struct {
	HttpsProxy string `yaml:"httpsProxy"`
	HttpProxy  string `yaml:"httpProxy"`
	NoProxy    string `yaml:"noProxy"`
}

func MergeProxy

func MergeProxy(def *Proxy, ovr *Proxy) Proxy

MergeProxy takes two Proxies and merges them into a third. The default values for the result come from the first argument. If a value is set in the second argument, that value takes precedence.

Jump to

Keyboard shortcuts

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