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 ¶
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 Providers ¶
type Providers struct { Libvirt LibvirtProvider `yaml:"libvirt"` Oci OciProvider `yaml:"oci"` Byo ByoProvider `yaml:"byo"` }
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.