types

package
v0.0.0-...-0e2c39a Latest Latest
Warning

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

Go to latest
Published: Nov 19, 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 Providers

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

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