Documentation ¶
Index ¶
- type Application
- type ByoProvider
- type Catalog
- type CertificateInformation
- type ClusterConfig
- type Config
- type EphemeralClusterConfig
- type ImageInfo
- type LibvirtProvider
- type LoadBalancer
- type Node
- type OciImageSet
- type OciInstanceShape
- type OciProvider
- type OlvmCluster
- type OlvmControlPlaneEndpoint
- type OlvmLocalAPIEndpoint
- type OlvmMachine
- type OlvmMachineCpu
- type OlvmMachineCpuToplogy
- type OlvmMachineNetwork
- type OlvmOvirtAPI
- type OlvmOvirtOck
- type OlvmProvider
- type OlvmVmIpProfile
- type Providers
- type Proxy
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 ¶
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 MergeConfig ¶
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 ¶
func MergeEphemeralConfig(def *EphemeralClusterConfig, ovr *EphemeralClusterConfig) EphemeralClusterConfig
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 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 ¶
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 OciImageSet ¶
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 ¶
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 ¶
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 ¶
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 ¶
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.