Documentation ¶
Index ¶
- Constants
- func ApplyTemplate(label, content string, data interface{}, alternativeDelimiters bool) (string, error)
- func ApplyTemplateAndSave(label, templateName string, data interface{}, filename string, force bool, ...) error
- func CreateDirectoryIfMissing(directoryName string) error
- func CreateFileIfMissing(filename, content string) error
- func ExtractImageName(value string) string
- func ExtractImageTag(value string) string
- func FileExists(filename string) bool
- func GenerateCephKey() string
- func GetBase64OfPEM(filename string) (string, error)
- func GetCSIMounts(destinationPrefix string) []string
- func GetOSName() string
- func GetOSNameAndRelease() string
- func GetOSRelease() string
- func GetTemplate(name string) string
- func GetURL(protocol, ip string, port uint16) string
- func GetWorkingDirectory() (string, error)
- func HasOS(os []string) bool
- func HideProgress()
- func IncreaseProgressStep()
- func IsRoot() bool
- func ListSubdirectories(directoryPath string) ([]string, error)
- func LogDebugFilename(message, filename string)
- func LogFilename(message, filename string)
- func LogURL(message, url string)
- func MoveFile(sourceFilename, targetFilename string) error
- func OpenWebBrowser(name, url string) error
- func PathExists(path string) bool
- func ReadFile(filename string) (string, error)
- func RemoveDirectoryWithTimeout(directoryPath string, timeout time.Duration) error
- func RunCommand(command string) error
- func RunCommandWithConsoleOutput(command string) error
- func RunCommandWithOutput(command string) (string, error)
- func SetDebug(_debug bool)
- func SetProgressSteps(steps int)
- func SetupLogger()
- func ShowProgress()
- func SupressProgress(hide bool)
- func Unmount(path string) error
- func WaitForSignal(signal <-chan struct{}, timeout uint) error
- type Checksum
- type Checksums
- type Errors
- type Limiter
- type Task
- type Tasks
Constants ¶
const AdminUserName = "admin-user"
const AdminUserNamespace = "kube-system"
const AlertManagerCount = 1
const AlertManagerSize = 2
const AuditLog = "audit.log"
Logging
const BaseDirectory = "assets"
const BinaryContainerd = "containerd"
const BinaryContainerdShimRuncV2 = "containerd-shim-runc-v2"
const BinaryCrictl = "crictl"
const BinaryCtr = "ctr"
const BinaryEtcd = "etcd"
const BinaryEtcdctl = "etcdctl"
const BinaryGobetween = "gobetween"
const BinaryHelm = "helm"
const BinaryK8sTew = "k8s-tew"
Binaries
const BinaryKubectl = "kubectl"
const BinaryKubelet = "kubelet"
const BinaryRunc = "runc"
const BinaryVelero = "velero"
const CaValidityPeriod = 20
const CalicoTyphaIp = "10.32.0.5"
const CephBootstrapMdsKeyring = "ceph.bootstrap.mds.keyring"
const CephBootstrapOsdKeyring = "ceph.bootstrap.osd.keyring"
const CephBootstrapRbdKeyring = "ceph.bootstrap.rbd.keyring"
const CephBootstrapRgwKeyring = "ceph.bootstrap.rgw.keyring"
const CephCertificates = "ceph-certificates"
const CephClientAdminKeyring = "ceph.client.admin.keyring"
const CephClusterName = "ceph"
const CephConfig = "ceph.conf"
const CephCsi = "ceph-csi.yaml"
const CephExpectedNumberOfObjects = 1000000
const CephFsPoolName = "cephfs"
const CephFsSubgroupName = "csi"
const CephKeyring = "ceph.keyring"
const CephManagerCredentials = "ceph-manager-credentials"
const CephMonitorKeyring = "ceph.mon.keyring"
const CephPlacementGroups = 32
const CephRadosGatewayCredentials = "ceph-rados-gateway-credentials"
const CephRbdPoolName = "cephrbd"
Ceph
const CephSecrets = "ceph-secrets.yaml"
const CephSetup = "ceph-setup.yaml"
const CerebroCredentials = "cerebro-credentials"
const ClientValidityPeriod = 15
const ClusterCache = "cluster-cache"
const ClusterCidr = "10.200.0.0/16"
const ClusterDnsIp = "10.32.0.10"
const ClusterDomain = "cluster.local"
const ClusterIpRange = "10.32.0.0/24"
const ClusterName = "k8s-tew"
const ClusterWeight = "cluster-weight"
const CnAdmin = "admin"
Common Names
const CnAggregator = "aggregator"
const CnCeph = "ceph"
const CnElasticsearch = "elasticsearch"
const CnGrafana = "grafana"
const CnKubernetesDashboard = "kubernetes-dashboard"
const CnMinio = "minio"
const CnPrometheus = "prometheus"
const CnSystemKubeControllerManager = "system:kube-controller-manager"
const CnSystemKubeProxy = "system:kube-proxy"
const CnSystemKubeScheduler = "system:kube-scheduler"
const CnSystemNodePrefix = "system:node:%s"
const CniBaseName = "cni-plugins-amd64-v{{.Versions.CNI}}"
const CniDownloadUrl = "https://github.com/containernetworking/plugins/releases/download/v{{.Versions.CNI}}/{{.Filename}}.tgz"
const ConcurrentSshConnectionsLimit = 10
const ConfigFilename = "config.yaml"
Config
const ContainerdBaseName = "containerd-{{.Versions.Containerd}}-linux-amd64"
const ContainerdConfig = "config-{{.Name}}.toml"
Containerd
const ContainerdDownloadUrl = "https://github.com/containerd/containerd/releases/download/v{{.Versions.Containerd}}/{{.Filename}}.tar.gz"
const ContainerdKubernetesNamespace = "k8s.io"
const ContainerdServerName = "containerd"
const ContainerdSock = "containerd.sock"
const CrictlBaseName = "crictl-v{{.Versions.CriCtl}}-linux-amd64"
const CrictlDownloadUrl = "https://github.com/kubernetes-incubator/cri-tools/releases/download/v{{.Versions.CriCtl}}/{{.Filename}}.tar.gz"
const DeploymentDirectory = "/"
const DeploymentUser = "root"
Deployment
const DirectoryAbsoluteContainerdState = "absolute-containerd-state"
const DirectoryBinaries = "binaries"
const DirectoryCeph = "ceph"
const DirectoryCephBootstrapMds = "bootstrap-mds"
const DirectoryCephBootstrapOsd = "bootstrap-osd"
const DirectoryCephBootstrapRbd = "bootstrap-rbd"
const DirectoryCephBootstrapRgw = "bootstrap-rgw"
const DirectoryCephConfig = "ceph-config"
const DirectoryCephData = "ceph-data"
const DirectoryCertificates = "certificates"
const DirectoryCniBinaries = "cni-binaries"
const DirectoryCniConfig = "cni-config"
const DirectoryConfig = "config"
Directories
const DirectoryContainerdData = "containerd-data"
const DirectoryContainerdState = "containerd-state"
const DirectoryCriBinaries = "cri-binaries"
const DirectoryCriConfig = "cri-config"
const DirectoryDynamicData = "dynamic-data"
const DirectoryEtcdBinaries = "etcd-binaries"
const DirectoryEtcdData = "etcd-data"
const DirectoryGobetweenBinaries = "gobetween-binaries"
const DirectoryGobetweenConfig = "gobetween-config"
const DirectoryHelmData = "helm-data"
const DirectoryHostBinaries = "host-binaries"
const DirectoryImages = "images"
const DirectoryK8sBinaries = "k8s-binaries"
const DirectoryK8sConfig = "k8s-config"
const DirectoryK8sKubeConfig = "kube-config"
const DirectoryK8sManifests = "kubelet-manifests"
const DirectoryK8sSecurityConfig = "security-config"
const DirectoryK8sSetupConfig = "setup-config"
const DirectoryKubeletData = "kubelet-data"
const DirectoryKubeletPlugins = "kubelet-plugins"
const DirectoryKubeletPluginsRegistry = "kubelet-plugins-registry"
const DirectoryLogging = "logging"
const DirectoryPodsData = "pods-data"
const DirectoryProfile = "profile"
const DirectoryRun = "run"
const DirectoryService = "service"
const DirectoryTemporary = "temporary"
const DirectoryVarRun = "var-run"
const DirectoryVeleroBinaries = "velero"
const DrainGracePeriodSeconds = 0
const ElasticsearchCertificates = "elasticsearch-certificates"
const ElasticsearchCount = 1
const ElasticsearchCredentials = "elasticsearch-credentials"
const ElasticsearchSize = 10
const ElectionController = "/controller-vip-manager"
const ElectionNamespace = "/k8s-tew"
Virtual IP Manager
const ElectionWorker = "/worker-vip-manager"
const Email = "k8s-tew@gmail.com"
const EncryptionConfig = "encryption-config.yaml"
Security
const EtcdBaseName = "etcd-{{.Versions.Etcd | image_tag}}-linux-amd64"
const EtcdDownloadUrl = "https://github.com/etcd-io/etcd/releases/download/{{.Versions.Etcd | image_tag}}/{{.Filename}}.tar.gz"
const FeatureBackup = "backup"
const FeatureIngress = "ingress"
const FeatureLogging = "logging"
const FeatureMonitoring = "monitoring"
const FeatureShowcase = "showcase"
const FeatureStorage = "storage"
Features
const GobetweenBaseName = "gobetween_{{.Versions.Gobetween}}_linux_amd64"
const GobetweenConfig = "config.toml"
Gobetween Config
const GobetweenDownloadUrl = "https://github.com/yyyar/gobetween/releases/download/{{.Versions.Gobetween}}/{{.Filename}}.tar.gz"
const GrafanaCertificates = "grafana-certificates"
const GrafanaCredentials = "grafana-credentials"
const GrafanaSize = 2
const HelmBaseName = "helm-v{{.Versions.Helm}}-linux-amd64"
const HelmDownloadUrl = "https://get.helm.sh/{{.Filename}}.tar.gz"
const HelmServiceAccount = "tiller"
const IngressDomain = "k8s-tew.net"
const IngressSubdomainWordpress = "wordpress"
const K8sAdminUserSetup = "admin-user-setup.yaml"
const K8sAlertManagerSetup = "alert-manager.yaml"
const K8sBaseName = "kubernetes-node-linux-amd64"
URLs
const K8sCalicoSetup = "calico-setup.yaml"
const K8sCephCertificates = "ceph-certificates.yaml"
const K8sCephManagerCredentials = "ceph-manager-credentials.yaml"
const K8sCephRadosGatewayCredentials = "ceph-rados-gateway-credentials.yaml"
const K8sCerebroCredentials = "cerebro-credentials.yaml"
const K8sCertManagerSetup = "cert-manager-setup.yaml"
const K8sCorednsSetup = "coredns-setup.yaml"
const K8sDownloadUrl = "https://storage.googleapis.com/kubernetes-release/release/{{.Versions.K8S}}/{{.Filename}}.tar.gz"
const K8sEfkSetup = "efk-setup.yaml"
const K8sElasticsearchCertificates = "elasticsearch-certificates.yaml"
const K8sElasticsearchCredentials = "elasticsearch-credentials.yaml"
const K8sGrafanaCertificates = "grafana-certificates.yaml"
const K8sGrafanaCredentials = "grafana-credentials.yaml"
const K8sGrafanaDashboards = "grafana-dashboards.yaml"
const K8sGrafanaSetup = "grafana.yaml"
const K8sKubeProxyConfig = "kube-proxy-{{.Name}}-config.yaml"
const K8sKubeSchedulerConfig = "kube-scheduler-{{.Name}}-config.yaml"
const K8sKubeStateMetricsSetup = "kube-state-metrics-setup.yaml"
const K8sKubeletConfig = "kubelet-{{.Name}}-config.yaml"
const K8sKubeletSetup = "kubelet-setup.yaml"
K8S Config
const K8sKubernetesDashboardCertificates = "kubernetes-dashboard-certificates.yaml"
const K8sKubernetesDashboardSetup = "kubernetes-dashboard-setup.yaml"
const K8sMetalLBSetup = "metallb-setup.yaml"
const K8sMetricsServerSetup = "metrics-server-setup.yaml"
const K8sMinioCertificates = "minio-certificates.yaml"
const K8sMinioCredentials = "minio-credentials.yaml"
const K8sNginxIngressSetup = "nginx-ingress-setup.yaml"
const K8sNodeExporterSetup = "node-exporter-setup.yaml"
const K8sPrometheusAlerts = "prometheus-alerts.yaml"
const K8sPrometheusCertificates = "prometheus-certificates.yaml"
const K8sPrometheusRules = "prometheus-rules.yaml"
const K8sPrometheusSetup = "prometheus-setup.yaml"
const K8sTewBaseDirectory = "K8S_TEW_BASE_DIRECTORY"
Environment variables
const K8sTewProfile = "k8s-tew.sh"
Profile
const K8sVeleroSetup = "velero-setup.yaml"
const KeyPassword = "password"
const KeySecret = "secret"
const KeyUsername = "username"
const KubeStateMetricsCount = 1
const KubeconfigAdmin = "admin.kubeconfig"
Kubeconfig
const KubeconfigControllerManager = "controller-manager-{{.Name}}.kubeconfig"
const KubeconfigKubelet = "kubelet-{{.Name}}.kubeconfig"
const KubeconfigProxy = "proxy-{{.Name}}.kubeconfig"
const KubeconfigScheduler = "scheduler-{{.Name}}.kubeconfig"
const KubernetesDashboardCertificates = "kubernetes-dashboard-certificates"
const KubernetesDashboardNamespace = "kube-system"
const KubernetesRegistry = "registry.k8s.io"
Versions
const LetsencryptClusterIssuer = "letsencrypt-cluster-issuer.yaml"
Cluster Issuer
const ManifestControllerVirtualIP = "controller-virtual-ip-{{.Name}}.yaml"
const ManifestEtcd = "etcd-{{.Name}}.yaml"
Manifests
const ManifestGobetween = "gobetween-{{.Name}}.yaml"
const ManifestKubeApiserver = "kube-apiserver-{{.Name}}.yaml"
const ManifestKubeControllerManager = "kube-controller-manager-{{.Name}}.yaml"
const ManifestKubeProxy = "kube-proxy-{{.Name}}.yaml"
const ManifestKubeScheduler = "kube-scheduler-{{.Name}}.yaml"
const ManifestWorkerVirtualIP = "worker-virtual-ip-{{.Name}}.yaml"
const MaxPods = 110
const MetalLBAddresses = "192.168.0.16/28"
const MinioCertificates = "minio-certificates"
const MinioCredentials = "minio-credentials"
const MinioSize = 2
const NamespaceBackup = "backup"
const NamespaceKubeSystem = "kube-system"
Namespaces
const NamespaceLogging = "logging"
const NamespaceMonitoring = "monitoring"
const NamespaceNetworking = "networking"
const NamespaceShowcase = "showcase"
const NamespaceStorage = "storage"
const NodeBootstrapper = "bootstrapper"
Node Labels
const NodeController = "controller"
const NodeNotReady = "node.kubernetes.io/not-ready"
const NodeRoleController = "node-role.kubernetes.io/controller"
const NodeRoleStorage = "node-role.kubernetes.io/storage"
const NodeRoleWorker = "node-role.kubernetes.io/worker"
const NodeStorage = "storage"
const NodeWorker = "worker"
const OsCentos = "centos"
const OsCentos75 = "centos/7.5"
const OsUbuntu = "ubuntu"
OS
const OsUbuntu1804 = "ubuntu/18.04"
const PemAdmin = "admin.pem"
const PemAdminKey = "admin-key.pem"
const PemAggregator = "aggregator.pem"
const PemAggregatorKey = "aggregator-key.pem"
const PemCa = "ca.pem"
Certificates
const PemCaKey = "ca-key.pem"
const PemCeph = "ceph.pem"
const PemCephKey = "ceph-key.pem"
const PemControllerManager = "controller-manager.pem"
const PemControllerManagerKey = "controller-manager-key.pem"
const PemElasticsearch = "elasticsearch.pem"
const PemElasticsearchKey = "elasticsearch-key.pem"
const PemGrafana = "grafana.pem"
const PemGrafanaKey = "grafana-key.pem"
const PemKubelet = "kubelet-{{.Name}}.pem"
const PemKubeletKey = "kubelet-{{.Name}}-key.pem"
const PemKubernetes = "kubernetes.pem"
const PemKubernetesDashboard = "kubernetes-dashboard.pem"
const PemKubernetesDashboardKey = "kubernetes-dashboard-key.pem"
const PemKubernetesKey = "kubernetes-key.pem"
const PemMinio = "minio.pem"
const PemMinioKey = "minio-key.pem"
const PemPrometheus = "prometheus.pem"
const PemPrometheusKey = "prometheus-key.pem"
const PemProxy = "proxy.pem"
const PemProxyKey = "proxy-key.pem"
const PemScheduler = "scheduler.pem"
const PemSchedulerKey = "scheduler-key.pem"
const PemServiceAccount = "service-account.pem"
const PemServiceAccountKey = "service-account-key.pem"
const PemSnapshotValidationWebhook = "snapshot-validation-webhook.pem"
const PemSnapshotValidationWebhookKey = "snapshot-validation-webhook-key.pem"
const PemVirtualIp = "virtual-ip.pem"
const PemVirtualIpKey = "virtual-ip-key.pem"
const PortApiServer uint16 = 6443
const PortCephManager uint16 = 30700
const PortCephRadosGateway uint16 = 30750
const PortCerebro uint16 = 30990
const PortGrafana uint16 = 30900
const PortKibana uint16 = 30980
const PortKubernetesDashboard uint16 = 32443
const PortLoadBalancer uint16 = 16443
const PortMinio uint16 = 30800
const PortVipRaftController uint16 = 16277
Ports
const PortVipRaftWorker uint16 = 16728
const PortWordpress uint16 = 30100
const ProjectTitle = "Kubernetes - The Easier Way"
Settings
const PrometheusCertificates = "prometheus-certificates"
const PrometheusSize = 2
const PublicNetwork = "192.168.100.0/24"
const ResolvConf = "/etc/resolv.conf"
const RsaSize = 2048
const RuncDownloadUrl = "https://github.com/opencontainers/runc/releases/download/v{{.Versions.Runc}}/runc.amd64"
const ServiceConfig = ServiceName + ".service"
const ServiceName = "k8s-tew"
Service
const SubdirectoryBinary = "bin"
const SubdirectoryCeph = "ceph"
const SubdirectoryCephBootstrapMds = "bootstrap-mds"
const SubdirectoryCephBootstrapOsd = "bootstrap-osd"
const SubdirectoryCephBootstrapRbd = "bootstrap-rbd"
const SubdirectoryCephBootstrapRgw = "bootstrap-rgw"
const SubdirectoryCertificates = "ssl"
const SubdirectoryCni = "cni"
const SubdirectoryConfig = "etc"
const SubdirectoryContainerd = "containerd"
const SubdirectoryCri = "cri"
const SubdirectoryCsiCephfsPlugin = "csi-cephfsplugin"
const SubdirectoryCsiRbdPlugin = "csi-rbdplugin"
const SubdirectoryEtcd = "etcd"
const SubdirectoryHelm = "helm"
const SubdirectoryHost = "host"
const SubdirectoryImages = "images"
const SubdirectoryK8s = "k8s"
const SubdirectoryK8sTew = "k8s-tew"
const SubdirectoryKubeconfig = "kubeconfig"
const SubdirectoryKubelet = "kubelet"
const SubdirectoryLibrary = "lib"
const SubdirectoryLoadBalancer = "lb"
const SubdirectoryLogging = "log"
const SubdirectoryManifests = "manifests"
const SubdirectoryOptional = "opt"
const SubdirectoryPlugins = "plugins"
const SubdirectoryPluginsRegistry = "plugins_registry"
const SubdirectoryPods = "pods"
const SubdirectoryProfileD = "profile.d"
const SubdirectoryRun = "run"
const SubdirectorySecurity = "security"
const SubdirectorySetup = "setup"
const SubdirectorySystem = "system"
const SubdirectorySystemd = "systemd"
const SubdirectoryTemporary = "tmp"
Sub-Directories
const SubdirectoryVariable = "var"
const SubdirectoryVelero = "velero"
const TemplateAlertManagerSetup = "k8s/setup/monitoring/alert-manager.yaml"
const TemplateCalicoSetup = "k8s/setup/networking/calico.yaml"
const TemplateCephClientAdminKeyring = "ceph/client-admin.keyring"
const TemplateCephClientKeyring = "ceph/client.keyring"
const TemplateCephConfig = "ceph/ceph.conf"
const TemplateCephCsi = "k8s/setup/storage/ceph-csi.yaml"
const TemplateCephMonitorKeyring = "ceph/monitor.keyring"
const TemplateCephSecrets = "k8s/setup/storage/ceph-secrets.yaml"
const TemplateCephSetup = "k8s/setup/storage/ceph-setup.yaml"
const TemplateCertManagerSetup = "k8s/setup/networking/cert-manager.yaml"
const TemplateConfigMap = "k8s/config-map.yaml"
const TemplateContainerdToml = "k8s/cri/containerd.toml"
Templates
const TemplateCorednsSetup = "k8s/setup/dns/coredns.yaml"
const TemplateCredentials = "k8s/credentials.yaml"
const TemplateEfkSetup = "k8s/setup/logging/efk.yaml"
const TemplateEncryptionConfig = "k8s/encryption-config.yaml"
const TemplateEnvironment = "system/environment.sh"
const TemplateGobetweenToml = "k8s/lb/gobetween.toml"
const TemplateGrafanaDashboards = "k8s/setup/monitoring/grafana-dashboards.yaml"
const TemplateGrafanaSetup = "k8s/setup/monitoring/grafana.yaml"
const TemplateHelmSetup = "k8s/setup/management/helm.yaml"
const TemplateK8sTewProfile = "system/k8s-tew.sh"
const TemplateK8sTewService = "system/k8s-tew.service"
const TemplateKubeProxyConfiguration = "k8s/kube-proxy-configuration.yaml"
const TemplateKubeSchedulerConfiguration = "k8s/kube-scheduler-configuration.yaml"
const TemplateKubeStateMetricsSetup = "k8s/setup/monitoring/kube-state-metrics.yaml"
const TemplateKubeconfig = "k8s/kubeconfig.yaml"
const TemplateKubeletConfiguration = "k8s/kubelet-configuration.yaml"
const TemplateKubeletSetup = "k8s/setup/kubelet-setup.yaml"
const TemplateKubernetesDashboardSetup = "k8s/setup/management/kubernetes-dashboard.yaml"
const TemplateLetsencryptClusterIssuerSetup = "k8s/setup/ingress/letsencrypt-cluster-issuer.yaml"
const TemplateManifestEtcd = "k8s/manifests/etcd.yaml"
const TemplateManifestGobetween = "k8s/manifests/gobetween.yaml"
const TemplateManifestKubeApiserver = "k8s/manifests/kube-apiserver.yaml"
const TemplateManifestKubeControllerManager = "k8s/manifests/kube-controller-manager.yaml"
const TemplateManifestKubeProxy = "k8s/manifests/kube-proxy.yaml"
const TemplateManifestKubeScheduler = "k8s/manifests/kube-scheduler.yaml"
const TemplateManifestVirtualIP = "k8s/manifests/virtual-ip.yaml"
const TemplateMetalLBSetup = "k8s/setup/networking/metallb.yaml"
const TemplateMetricsServerSetup = "k8s/setup/monitoring/metrics-server.yaml"
const TemplateNginxIngressSetup = "k8s/setup/networking/nginx-ingress.yaml"
const TemplateNodeExporterSetup = "k8s/setup/monitoring/node-exporter.yaml"
const TemplatePrometheusAlerts = "k8s/setup/monitoring/prometheus-alerts.yaml"
const TemplatePrometheusRules = "k8s/setup/monitoring/prometheus-rules.yaml"
const TemplatePrometheusSetup = "k8s/setup/monitoring/prometheus.yaml"
const TemplateServiceAccount = "k8s/service-account.yaml"
const TemplateVeleroSetup = "k8s/setup/backup/velero.yaml"
const TemplateWordpressSetup = "k8s/setup/miscellaneous/wordpress.yaml"
const Username = "k8s-tew"
const VeleroBaseName = "velero-{{.Versions.Velero | image_tag}}-linux-amd64"
const VeleroDownloadUrl = "https://github.com/heptio/velero/releases/download/{{.Versions.Velero | image_tag}}/{{.Filename}}.tar.gz"
const VersionAlertManager = "quay.io/prometheus/alertmanager:v0.21.0"
const VersionBusybox = "docker.io/library/busybox:1.36.1"
const VersionCalicoCni = "quay.io/calico/cni:v3.27.3"
const VersionCalicoKubeControllers = "quay.io/calico/kube-controllers:v3.27.3"
const VersionCalicoNode = "quay.io/calico/node:v3.27.3"
const VersionCalicoTypha = "quay.io/calico/typha:v3.27.3"
const VersionCeph = "quay.io/ceph/ceph:v18.2.2"
const VersionCerebro = "docker.io/lmenezes/cerebro:0.9.3"
const VersionCertManagerAcmeSolver = "quay.io/jetstack/cert-manager-acmesolver:v1.14.5"
const VersionCertManagerCAInjector = "quay.io/jetstack/cert-manager-cainjector:v1.14.5"
const VersionCertManagerController = "quay.io/jetstack/cert-manager-controller:v1.14.5"
const VersionCertManagerCtl = "quay.io/jetstack/cert-manager-ctl:v1.9.1"
const VersionCertManagerStartupAPICheck = "quay.io/jetstack/cert-manager-startupapicheck:v1.14.5"
const VersionCertManagerWebHook = "quay.io/jetstack/cert-manager-webhook:v1.14.5"
const VersionConfig = "2.4.0"
const VersionContainerd = "1.7.16"
const VersionCoreDNS = "docker.io/coredns/coredns:1.11.1"
const VersionCrictl = "1.30.0"
const VersionCsiAttacher = "registry.k8s.io/sig-storage/csi-attacher:v4.5.0"
const VersionCsiCephPlugin = "quay.io/cephcsi/cephcsi:v3.11.0"
const VersionCsiDriverRegistrar = "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0"
const VersionCsiProvisioner = "registry.k8s.io/sig-storage/csi-provisioner:v4.0.0"
const VersionCsiResizer = "registry.k8s.io/sig-storage/csi-resizer:v1.10.0"
const VersionCsiSnapshotController = "registry.k8s.io/sig-storage/snapshot-controller:v7.0.1"
const VersionCsiSnapshotValidationWebhook = "registry.k8s.io/sig-storage/snapshot-validation-webhook:v7.0.1"
const VersionCsiSnapshotter = "registry.k8s.io/sig-storage/csi-snapshotter:v7.0.0"
const VersionElasticsearch = "docker.elastic.co/elasticsearch/elasticsearch:7.11.2"
const VersionEtcd = "quay.io/coreos/etcd:v3.5.13"
const VersionFluentBit = "docker.io/fluent/fluent-bit:1.7.2"
const VersionGobetween = "docker.io/yyyar/gobetween:0.8.0"
const VersionGrafana = "docker.io/grafana/grafana:7.4.3"
const VersionHelm = "3.14.4"
const VersionK8s = "v1.30.0"
const VersionKibana = "docker.elastic.co/kibana/kibana:7.11.2"
const VersionKubeAPIServer = KubernetesRegistry + "/kube-apiserver:" + VersionK8s
const VersionKubeControllerManager = KubernetesRegistry + "/kube-controller-manager:" + VersionK8s
const VersionKubeProxy = KubernetesRegistry + "/kube-proxy:" + VersionK8s
const VersionKubeScheduler = KubernetesRegistry + "/kube-scheduler:" + VersionK8s
const VersionKubeStateMetrics = "registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.12.0"
const VersionKubernetesDashboardApi = "docker.io/kubernetesui/dashboard-api:1.5.0"
const VersionKubernetesDashboardAuth = "docker.io/kubernetesui/dashboard-auth:1.1.3"
const VersionKubernetesDashboardKong = "docker.io/library/kong:3.6"
const VersionKubernetesDashboardMetricsScraper = "docker.io/kubernetesui/dashboard-metrics-scraper:1.1.1"
const VersionKubernetesDashboardWeb = "docker.io/kubernetesui/dashboard-web:1.3.0"
const VersionMetalLBController = "quay.io/metallb/controller:v0.9.5"
const VersionMetalLBSpeaker = "quay.io/metallb/speaker:v0.9.5"
const VersionMetricsScraper = "docker.io/kubernetesui/metrics-scraper:v1.0.8"
const VersionMetricsServer = "registry.k8s.io/metrics-server/metrics-server:v0.7.1"
const VersionMinioClient = "docker.io/minio/mc:RELEASE.2021-03-12T03-36-59Z"
const VersionMinioServer = "docker.io/minio/minio:RELEASE.2021-03-12T00-00-47Z"
const VersionMysql = "docker.io/library/mysql:8.0.23"
const VersionNginxIngressAdmissionWebhook = "registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1"
const VersionNginxIngressController = "registry.k8s.io/ingress-nginx/controller:v1.10.1"
const VersionNodeExporter = "quay.io/prometheus/node-exporter:v1.7.0"
const VersionPause = KubernetesRegistry + "/pause:3.9"
const VersionPrometheus = "quay.io/prometheus/prometheus:v2.22.0"
const VersionRunc = "1.1.12"
const VersionVelero = "docker.io/velero/velero:v1.9.0"
const VersionVeleroPluginAWS = "docker.io/velero/velero-plugin-for-aws:v1.6.1"
const VersionVeleroPluginCSI = "docker.io/velero/velero-plugin-for-csi:v0.4.2"
const VersionVeleroResticRestoreHelper = "docker.io/velero/velero-restic-restore-helper:v1.5.3"
const VersionVirtualIP = "docker.io/darxkies/virtual-ip:1.0.1"
const VersionWordpress = "docker.io/library/wordpress:5.7.0-apache"
const WordpressSetup = "wordpress-setup.yaml"
Variables ¶
This section is empty.
Functions ¶
func ApplyTemplate ¶
func ApplyTemplate(label, content string, data interface{}, alternativeDelimiters bool) (string, error)
ApplyTemplate generates a string using a template
func ApplyTemplateAndSave ¶
func ApplyTemplateAndSave(label, templateName string, data interface{}, filename string, force bool, extendedDelimiters bool, fileMode os.FileMode) error
ApplyTemplateAndSave generates the content of a file based on a template
func CreateDirectoryIfMissing ¶
CreateDirectoryIfMissing creates a directory if it does not exist
func CreateFileIfMissing ¶
CreateFileIfMissing writes a string to a file
func ExtractImageName ¶
ExtractImageName returns the name of a Docker image
func ExtractImageTag ¶
ExtractImageTag returns the tag from a Docker image
func GetBase64OfPEM ¶
GetBase64OfPEM reads the content of a PEM file and converts it to Base64
func GetCSIMounts ¶
func GetOSNameAndRelease ¶
func GetOSNameAndRelease() string
GetOSNameAndRelease returns the name of the operating system and the operating system version
func GetOSRelease ¶
func GetOSRelease() string
GetOSRelease returns the version of the operating system
func GetTemplate ¶
func GetWorkingDirectory ¶
GetWorkingDirectory returns the working directory of the executable
func HideProgress ¶
func HideProgress()
func IncreaseProgressStep ¶
func IncreaseProgressStep()
func ListSubdirectories ¶
func LogDebugFilename ¶
func LogDebugFilename(message, filename string)
func LogFilename ¶
func LogFilename(message, filename string)
func OpenWebBrowser ¶
OpenWebBrowser starts a web browser
func PathExists ¶
func RunCommandWithConsoleOutput ¶
RunCommandWithOutput execute a shell command and return its output
func RunCommandWithOutput ¶
RunCommandWithOutput execute a shell command and return its output
func SetProgressSteps ¶
func SetProgressSteps(steps int)
func SetupLogger ¶
func SetupLogger()
func ShowProgress ¶
func ShowProgress()
func SupressProgress ¶
func SupressProgress(hide bool)
func WaitForSignal ¶
WaitForSignal exists when a signal was fired or a timeout occurred
Types ¶
type Checksums ¶
type Checksums struct {
// contains filtered or unexported fields
}