Documentation ¶
Index ¶
- func CompareFeatures(source, destination Features) bool
- func CompareLabels(source, destination Labels) bool
- type AssetConfig
- type AssetDirectory
- type AssetFile
- type Command
- type Commands
- type Config
- type Features
- type Image
- type Images
- type InternalConfig
- func (config *InternalConfig) AddNode(name string, ip string, index uint, storageIndex uint, labels []string) (*Node, string, error)
- func (config *InternalConfig) ApplyTemplate(label string, value string) (string, error)
- func (config *InternalConfig) Dump()
- func (config *InternalConfig) Generate()
- func (config *InternalConfig) GetAPIServerIP() (string, error)
- func (config *InternalConfig) GetAllowedCommonNames() string
- func (config *InternalConfig) GetControllersCount() string
- func (config *InternalConfig) GetETCDClientEndpoints() []string
- func (config *InternalConfig) GetEtcdCluster() string
- func (config *InternalConfig) GetEtcdServers() string
- func (config *InternalConfig) GetFullAssetDirectory(baseDirectory, name string) string
- func (config *InternalConfig) GetFullAssetFilename(baseDirectory, name string) string
- func (config *InternalConfig) GetFullLocalAssetDirectory(name string) string
- func (config *InternalConfig) GetFullLocalAssetFilename(name string) string
- func (config *InternalConfig) GetFullTargetAssetDirectory(name string) string
- func (config *InternalConfig) GetFullTargetAssetFilename(name string) string
- func (config *InternalConfig) GetKubeAPIServerAddresses() []string
- func (config *InternalConfig) GetRelativeAssetDirectory(name string) string
- func (config *InternalConfig) GetRelativeAssetFilename(name string) string
- func (config *InternalConfig) GetSortedNodeKeys() []string
- func (config *InternalConfig) GetStorageControllers() []NodeData
- func (config *InternalConfig) GetStorageNodes() []NodeData
- func (config *InternalConfig) GetTemplateAssetDirectory(name string) string
- func (config *InternalConfig) GetTemplateAssetFilename(name string) string
- func (config *InternalConfig) GetWorkerIP() (string, error)
- func (config *InternalConfig) IsDeploymentDirectory(name string) bool
- func (config *InternalConfig) Load() error
- func (config *InternalConfig) RemoveNode(name string) error
- func (config *InternalConfig) Save() error
- func (config *InternalConfig) SetNode(nodeName string, node *Node)
- type Labels
- type LoggerConfig
- type Node
- type NodeData
- type Nodes
- type OS
- type ServerConfig
- type Servers
- type Versions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompareFeatures ¶
func CompareLabels ¶
Types ¶
type AssetConfig ¶
type AssetConfig struct { Directories map[string]*AssetDirectory Files map[string]*AssetFile }
type AssetDirectory ¶
type AssetDirectory struct { Labels Labels `yaml:"labels,omitempty"` Directory string `yaml:"directory"` Absolute bool `yaml:"absolute,omitempty"` }
func NewAssetDirectory ¶
func NewAssetDirectory(labels []string, directory string, absolute bool) *AssetDirectory
type AssetFile ¶
type AssetFile struct { Labels Labels `yaml:"labels,omitempty"` Filename string `yaml:"filename,omitempty"` Directory string `yaml:"directory"` }
func NewAssetFile ¶
type Command ¶
type Command struct { Name string `yaml:"name"` Command string `yaml:"command,omitempty"` Manifest string `yaml:"manifest,omitempty"` Labels Labels `yaml:"labels,omitempty"` Features Features `yaml:"features,omitempty"` OS OS `yaml:"os,omitempty"` }
func NewCommand ¶
type Config ¶
type Config struct { Version string `yaml:"version"` ClusterID string `yaml:"cluster-id"` ClusterName string `yaml:"cluster-name"` Email string `yaml:"email"` IngressDomain string `yaml:"ingress-domain"` LoadBalancerPort uint16 `yaml:"load-balancer-port"` VIPRaftControllerPort uint16 `yaml:"vip-raft-controller-port"` VIPRaftWorkerPort uint16 `yaml:"vip-raft-worker-port"` KubernetesDashboardPort uint16 `yaml:"kubernetes-dashboard-port"` APIServerPort uint16 `yaml:"apiserver-port,omitempty"` PublicNetwork string `yaml:"public-network"` ControllerVirtualIP string `yaml:"controller-virtual-ip,omitempty"` ControllerVirtualIPInterface string `yaml:"controller-virtual-ip-interface,omitempty"` WorkerVirtualIP string `yaml:"worker-virtual-ip,omitempty"` WorkerVirtualIPInterface string `yaml:"worker-virtual-ip-interface,omitempty"` ClusterDomain string `yaml:"cluster-domain"` ClusterIPRange string `yaml:"cluster-ip-range"` ClusterDNSIP string `yaml:"cluster-dns-ip"` ClusterCIDR string `yaml:"cluster-cidr"` CalicoTyphaIP string `yaml:"calico-typha-ip"` CephClusterName string `yaml:"ceph-cluster-name"` CephPlacementGroups uint `yaml:"ceph-placement-groups"` CephExpectedNumberOfObjects uint `yaml:"ceph-expected-number-of-objects"` MetalLBAddresses string `yaml:"metallb-addresses"` ResolvConf string `yaml:"resolv-conf"` DeploymentDirectory string `yaml:"deployment-directory,omitempty"` MaxPods uint16 `yaml:"max-pods"` SANIPAddresses string `yaml:"san-ip-addresses,omitempty"` SANDNSNames string `yaml:"san-dns-names,omitempty"` RSASize uint16 `yaml:"rsa-size"` CAValidityPeriod uint `yaml:"ca-validity-period"` ClientValidityPeriod uint `yaml:"client-validity-period"` GrafanaSize uint16 `yaml:"grafana-size"` PrometheusSize uint16 `yaml:"prometheus-size"` MinioSize uint16 `yaml:"minio-size"` ElasticsearchCount uint16 `yaml:"elasticsearch-count"` ElasticsearchSize uint16 `yaml:"elasticsearch-size"` AlertManagerCount uint16 `yaml:"alert-manager-count"` AlertManagerSize uint16 `yaml:"alert-manager-size"` KubeStateMetricsCount uint16 `yaml:"kube-state-metrics-count"` DrainGracePeriodSeconds uint16 `yaml:"drain-grace-period-seconds"` Versions Versions `yaml:"versions"` Assets AssetConfig `yaml:"assets,omitempty"` Nodes Nodes `yaml:"nodes"` Commands Commands `yaml:"commands,omitempty"` Servers Servers `yaml:"servers,omitempty"` }
type Image ¶
func (Image) GetImageFilename ¶
type InternalConfig ¶
func NewInternalConfig ¶
func NewInternalConfig(baseDirectory string) *InternalConfig
func (*InternalConfig) ApplyTemplate ¶
func (config *InternalConfig) ApplyTemplate(label string, value string) (string, error)
func (*InternalConfig) Dump ¶
func (config *InternalConfig) Dump()
func (*InternalConfig) Generate ¶
func (config *InternalConfig) Generate()
func (*InternalConfig) GetAPIServerIP ¶
func (config *InternalConfig) GetAPIServerIP() (string, error)
func (*InternalConfig) GetAllowedCommonNames ¶
func (config *InternalConfig) GetAllowedCommonNames() string
func (*InternalConfig) GetControllersCount ¶
func (config *InternalConfig) GetControllersCount() string
func (*InternalConfig) GetETCDClientEndpoints ¶
func (config *InternalConfig) GetETCDClientEndpoints() []string
func (*InternalConfig) GetEtcdCluster ¶
func (config *InternalConfig) GetEtcdCluster() string
func (*InternalConfig) GetEtcdServers ¶
func (config *InternalConfig) GetEtcdServers() string
func (*InternalConfig) GetFullAssetDirectory ¶
func (config *InternalConfig) GetFullAssetDirectory(baseDirectory, name string) string
func (*InternalConfig) GetFullAssetFilename ¶
func (config *InternalConfig) GetFullAssetFilename(baseDirectory, name string) string
func (*InternalConfig) GetFullLocalAssetDirectory ¶
func (config *InternalConfig) GetFullLocalAssetDirectory(name string) string
func (*InternalConfig) GetFullLocalAssetFilename ¶
func (config *InternalConfig) GetFullLocalAssetFilename(name string) string
func (*InternalConfig) GetFullTargetAssetDirectory ¶
func (config *InternalConfig) GetFullTargetAssetDirectory(name string) string
func (*InternalConfig) GetFullTargetAssetFilename ¶
func (config *InternalConfig) GetFullTargetAssetFilename(name string) string
func (*InternalConfig) GetKubeAPIServerAddresses ¶
func (config *InternalConfig) GetKubeAPIServerAddresses() []string
func (*InternalConfig) GetRelativeAssetDirectory ¶
func (config *InternalConfig) GetRelativeAssetDirectory(name string) string
func (*InternalConfig) GetRelativeAssetFilename ¶
func (config *InternalConfig) GetRelativeAssetFilename(name string) string
func (*InternalConfig) GetSortedNodeKeys ¶
func (config *InternalConfig) GetSortedNodeKeys() []string
func (*InternalConfig) GetStorageControllers ¶
func (config *InternalConfig) GetStorageControllers() []NodeData
func (*InternalConfig) GetStorageNodes ¶
func (config *InternalConfig) GetStorageNodes() []NodeData
func (*InternalConfig) GetTemplateAssetDirectory ¶
func (config *InternalConfig) GetTemplateAssetDirectory(name string) string
func (*InternalConfig) GetTemplateAssetFilename ¶
func (config *InternalConfig) GetTemplateAssetFilename(name string) string
func (*InternalConfig) GetWorkerIP ¶
func (config *InternalConfig) GetWorkerIP() (string, error)
func (*InternalConfig) IsDeploymentDirectory ¶
func (config *InternalConfig) IsDeploymentDirectory(name string) bool
func (*InternalConfig) Load ¶
func (config *InternalConfig) Load() error
func (*InternalConfig) RemoveNode ¶
func (config *InternalConfig) RemoveNode(name string) error
func (*InternalConfig) Save ¶
func (config *InternalConfig) Save() error
func (*InternalConfig) SetNode ¶
func (config *InternalConfig) SetNode(nodeName string, node *Node)
type LoggerConfig ¶
type Node ¶
type Node struct { IP string `yaml:"ip"` Index uint `yaml:"index"` StorageIndex uint `yaml:"storage-index,omitempty"` Labels Labels `yaml:"labels"` }
func (*Node) IsController ¶
func (*Node) IsControllerOnly ¶
func (*Node) IsStorageOnly ¶
func (*Node) IsWorkerOnly ¶
type Nodes ¶
func (Nodes) HasControllerNode ¶
func (Nodes) HasStorageNode ¶
func (Nodes) HasWorkerNode ¶
type ServerConfig ¶
type ServerConfig struct { Name string `yaml:"name"` Enabled bool `yaml:"enabled"` Labels Labels `yaml:"labels"` Logger LoggerConfig `yaml:"logger"` Command string `yaml:"command"` Arguments map[string]string `yaml:"arguments"` Environment map[string]string `yaml:"environment"` }
func (ServerConfig) Dump ¶
func (config ServerConfig) Dump()
type Servers ¶
type Servers []ServerConfig
type Versions ¶
type Versions struct { Etcd string `yaml:"etcd"` K8S string `yaml:"kubernetes"` KubeAPIServer string `yaml:"kube-apiserver"` KubeControllerManager string `yaml:"kube-controller-manager"` KubeScheduler string `yaml:"kube-scheduler"` KubeProxy string `yaml:"kube-proxy"` Helm string `yaml:"helm"` Containerd string `yaml:"containerd"` Runc string `yaml:"runc"` CriCtl string `yaml:"crictl"` Gobetween string `yaml:"gobetween"` VirtualIP string `yaml:"virtual-ip"` Busybox string `yaml:"busybox"` Velero string `yaml:"velero"` VeleroPluginAWS string `yaml:"velero-plugin-aws"` VeleroPluginCSI string `yaml:"velero-plugin-csi"` VeleroResticRestoreHelper string `yaml:"velero-restic-restore-helper"` MinioServer string `yaml:"minio-server"` MinioClient string `yaml:"minio-client"` Pause string `yaml:"pause"` CoreDNS string `yaml:"core-dns"` Elasticsearch string `yaml:"elasticsearch"` Kibana string `yaml:"kibana"` Cerebro string `yaml:"cerebro"` FluentBit string `yaml:"fluent-bit"` CalicoTypha string `yaml:"calico-typha"` CalicoNode string `yaml:"calico-node"` CalicoCNI string `yaml:"calico-cni"` CalicoKubeControllers string `yaml:"calico-kube-controllers"` MetalLBController string `yaml:"metallb-controller"` MetalLBSpeaker string `yaml:"metallb-speaker"` Ceph string `yaml:"ceph"` KubernetesDashboardWeb string `yaml:"kubernetes-dashboard-web"` KubernetesDashboardMetricsScraper string `yaml:"kubernetes-dashboard-metrics-scraper"` KubernetesDashboardAuth string `yaml:"kubernetes-dashboard-auth"` KubernetesDashboardApi string `yaml:"kubernetes-dashboard-api"` KubernetesDashboardKong string `yaml:"kubernetes-dashboard-kong"` CertManagerCtl string `yaml:"cert-manager-ctl"` CertManagerController string `yaml:"cert-manager-controller"` CertManagerCAInjector string `yaml:"cert-manager-cainjector"` CertManagerWebHook string `yaml:"cert-manager-webhook"` CertManagerStartupAPICheck string `yaml:"cert-manager-startup-api-checker"` CertManagerAcmeSolver string `yaml:"cert-manager-acme-solver"` NginxIngressController string `yaml:"nginx-ingress-controller"` NginxIngressAdmissionWebhook string `yaml:"nginx-ingress-admission-webhook"` MetricsScraper string `yaml:"metrics-scraper"` MetricsServer string `yaml:"metrics-server"` ConfigMapReload string `yaml:"configmap-reload"` KubeStateMetrics string `yaml:"kube-state-metrics"` Grafana string `yaml:"grafana"` Prometheus string `yaml:"prometheus"` NodeExporter string `yaml:"node-exporter"` AlertManager string `yaml:"alert-manager"` CSIAttacher string `yaml:"csi-attacher"` CSIProvisioner string `yaml:"csi-provisioner"` CSIDriverRegistrar string `yaml:"csi-driver-registrar"` CSISnapshotter string `yaml:"csi-snapshotter"` CSISnapshotController string `yaml:"csi-snapshot-controller"` CSISnapshotValidationWebhook string `yaml:"csi-snapshot-validation-webhook"` CSIResizer string `yaml:"csi-resizer"` CSICephPlugin string `yaml:"csi-ceph-plugin"` WordPress string `yaml:"wordpress"` MySQL string `yaml:"mysql"` }
func NewVersions ¶
func NewVersions() Versions
Click to show internal directories.
Click to hide internal directories.