Documentation ¶
Overview ¶
Package kubernetes ...
Package kubernetes ...
Package kubernetes ...
Package kubernetes ...
Package kubernetes provides functionality for kubernetes.
Package kubernetes ...
Package kubernetes ...
Package kubernetes ...
Package kubernetes ...
Index ¶
- Constants
- Variables
- func IsContainerInState(containerStatuses []corev1.ContainerStatus, state ContainerState) bool
- func IsNodeInCondition(node corev1.Node, conditionType corev1.NodeConditionType) bool
- type ClusterType
- type ContainerState
- type InstallOperatorRequest
- type Kubernetes
- func (k *Kubernetes) ApplyObject(obj runtime.Object) error
- func (k *Kubernetes) ClusterName() string
- func (k *Kubernetes) Config() *rest.Config
- func (k *Kubernetes) CreateBackupStorage(ctx context.Context, storage *everestv1alpha1.BackupStorage) error
- func (k *Kubernetes) CreateClusterRole(name string, rules []rbac.PolicyRule) error
- func (k *Kubernetes) CreateClusterRoleBinding(namespace, name, roleName, serviceAccountName string) error
- func (k *Kubernetes) CreateDatabaseCluster(cluster *everestv1alpha1.DatabaseCluster) error
- func (k *Kubernetes) CreateMonitoringConfig(ctx context.Context, storage *everestv1alpha1.MonitoringConfig) error
- func (k *Kubernetes) CreateNamespace(name string) error
- func (k *Kubernetes) CreateOperatorGroup(ctx context.Context, name, namespace string, targetNamespaces []string) error
- func (k *Kubernetes) CreatePMMSecret(namespace, secretName string, secrets map[string][]byte) error
- func (k *Kubernetes) CreateRestore(restore *everestv1alpha1.DatabaseClusterRestore) error
- func (k *Kubernetes) CreateRole(namespace, name string, rules []rbac.PolicyRule) error
- func (k *Kubernetes) CreateRoleBinding(namespace, name, roleName, serviceAccountName string) error
- func (k *Kubernetes) CreateSecret(ctx context.Context, secret *corev1.Secret) (*corev1.Secret, error)
- func (k *Kubernetes) CreateServiceAccount(name, namespace string) error
- func (k *Kubernetes) CreateServiceAccountToken(serviceAccountName, secretName, namespace string) error
- func (k *Kubernetes) DeleteAllMonitoringResources(ctx context.Context, namespace string) error
- func (k *Kubernetes) DeleteBackupStorage(ctx context.Context, namespace, name string) error
- func (k *Kubernetes) DeleteClusterServiceVersion(ctx context.Context, key types.NamespacedName) error
- func (k *Kubernetes) DeleteDatabaseCluster(ctx context.Context, namespace, name string) error
- func (k *Kubernetes) DeleteEverest(_ context.Context, namespace string) error
- func (k *Kubernetes) DeleteMonitoringConfig(ctx context.Context, namespace, name string) error
- func (k *Kubernetes) DeleteNamespace(ctx context.Context, name string) error
- func (k *Kubernetes) DeleteObject(obj runtime.Object) error
- func (k *Kubernetes) DeleteSecret(ctx context.Context, namespace, name string) error
- func (k *Kubernetes) GenerateKubeConfigWithToken(user string, secret *corev1.Secret) (string, error)
- func (k *Kubernetes) GetAllClusterResources(ctx context.Context, clusterType ClusterType, ...) (uint64, uint64, uint64, error)
- func (k *Kubernetes) GetBackupStorage(ctx context.Context, namespace, name string) (*everestv1alpha1.BackupStorage, error)
- func (k *Kubernetes) GetClusterServiceVersion(ctx context.Context, key types.NamespacedName) (*olmv1alpha1.ClusterServiceVersion, error)
- func (k *Kubernetes) GetClusterType(ctx context.Context) (ClusterType, error)
- func (k *Kubernetes) GetConsumedCPUAndMemory(ctx context.Context, namespace string) (cpuMillis uint64, memoryBytes uint64, err error)
- func (k *Kubernetes) GetConsumedDiskBytes(_ context.Context, clusterType ClusterType, ...) (uint64, error)
- func (k *Kubernetes) GetDBNamespaces(ctx context.Context, namespace string) ([]string, error)
- func (k *Kubernetes) GetDBaaSOperatorVersion(ctx context.Context) (string, error)
- func (k *Kubernetes) GetDatabaseCluster(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseCluster, error)
- func (k *Kubernetes) GetDatabaseClusterBackup(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseClusterBackup, error)
- func (k *Kubernetes) GetDatabaseClusterRestore(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseClusterRestore, error)
- func (k *Kubernetes) GetDatabaseEngine(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseEngine, error)
- func (k *Kubernetes) GetDefaultStorageClassName(ctx context.Context) (string, error)
- func (k *Kubernetes) GetDeployment(ctx context.Context, name, namespace string) (*appsv1.Deployment, error)
- func (k *Kubernetes) GetEvents(ctx context.Context, pod string) ([]string, error)
- func (k *Kubernetes) GetEverestID(ctx context.Context) (string, error)
- func (k *Kubernetes) GetLogs(ctx context.Context, containerStatuses []corev1.ContainerStatus, ...) ([]string, error)
- func (k *Kubernetes) GetMonitoringConfig(ctx context.Context, namespace, name string) (*everestv1alpha1.MonitoringConfig, error)
- func (k *Kubernetes) GetMonitoringConfigsBySecretName(ctx context.Context, namespace, secretName string) ([]*everestv1alpha1.MonitoringConfig, error)
- func (k *Kubernetes) GetNamespace(ctx context.Context, name string) (*corev1.Namespace, error)
- func (k *Kubernetes) GetPSMDBOperatorVersion(ctx context.Context) (string, error)
- func (k *Kubernetes) GetPXCOperatorVersion(ctx context.Context) (string, error)
- func (k *Kubernetes) GetPersistentVolumes(ctx context.Context) (*corev1.PersistentVolumeList, error)
- func (k *Kubernetes) GetPods(ctx context.Context, namespace string, labelSelector *metav1.LabelSelector) (*corev1.PodList, error)
- func (k *Kubernetes) GetSecret(ctx context.Context, namespace, name string) (*corev1.Secret, error)
- func (k *Kubernetes) GetServerVersion() (*version.Info, error)
- func (k *Kubernetes) GetStorageClasses(ctx context.Context) (*storagev1.StorageClassList, error)
- func (k *Kubernetes) GetWorkerNodes(ctx context.Context) ([]corev1.Node, error)
- func (k *Kubernetes) InstallEverest(ctx context.Context, namespace string) error
- func (k *Kubernetes) InstallOLMOperator(ctx context.Context, upgrade bool) error
- func (k *Kubernetes) InstallOperator(ctx context.Context, req InstallOperatorRequest) error
- func (k *Kubernetes) InstallPerconaCatalog(ctx context.Context) error
- func (k *Kubernetes) IsBackupStorageUsed(ctx context.Context, namespace, backupStorageName string) (bool, error)
- func (k *Kubernetes) IsMonitoringConfigUsed(ctx context.Context, namespace, monitoringConfigName string) (bool, error)
- func (k *Kubernetes) ListBackupStorages(ctx context.Context, namespace string) (*everestv1alpha1.BackupStorageList, error)
- func (k *Kubernetes) ListClusterServiceVersion(ctx context.Context, namespace string) (*olmv1alpha1.ClusterServiceVersionList, error)
- func (k *Kubernetes) ListDatabaseClusterBackups(ctx context.Context, namespace string, options metav1.ListOptions) (*everestv1alpha1.DatabaseClusterBackupList, error)
- func (k *Kubernetes) ListDatabaseClusterRestores(ctx context.Context, namespace string, options metav1.ListOptions) (*everestv1alpha1.DatabaseClusterRestoreList, error)
- func (k *Kubernetes) ListDatabaseClusters(ctx context.Context, namespace string) (*everestv1alpha1.DatabaseClusterList, error)
- func (k *Kubernetes) ListDatabaseEngines(ctx context.Context, namespace string) (*everestv1alpha1.DatabaseEngineList, error)
- func (k *Kubernetes) ListEngineDeploymentNames(ctx context.Context, namespace string) ([]string, error)
- func (k *Kubernetes) ListMonitoringConfigs(ctx context.Context, namespace string) (*everestv1alpha1.MonitoringConfigList, error)
- func (k *Kubernetes) ListSecrets(ctx context.Context, namespace string) (*corev1.SecretList, error)
- func (k *Kubernetes) ListSubscriptions(ctx context.Context, namespace string) (*olmv1alpha1.SubscriptionList, error)
- func (k *Kubernetes) Namespace() string
- func (k *Kubernetes) PatchDatabaseCluster(cluster *everestv1alpha1.DatabaseCluster) error
- func (k *Kubernetes) ProvisionMonitoring(namespace string) error
- func (k *Kubernetes) RestartEverest(ctx context.Context, name, namespace string) error
- func (k *Kubernetes) SetSecret(secret *corev1.Secret) error
- func (k *Kubernetes) UpdateBackupStorage(ctx context.Context, storage *everestv1alpha1.BackupStorage) error
- func (k *Kubernetes) UpdateClusterRoleBinding(ctx context.Context, name string, namespaces []string) error
- func (k *Kubernetes) UpdateMonitoringConfig(ctx context.Context, storage *everestv1alpha1.MonitoringConfig) error
- func (k *Kubernetes) UpdateSecret(ctx context.Context, secret *corev1.Secret) (*corev1.Secret, error)
- func (k *Kubernetes) UpgradeOperator(ctx context.Context, namespace, name string) error
- func (k *Kubernetes) WaitForRollout(ctx context.Context, name, namespace string) error
- type NodeFileSystemSummary
- type NodeSummary
- type NodeSummaryNode
- type OperatorServiceManager
Constants ¶
const ( // ClusterTypeUnknown is for unknown type. ClusterTypeUnknown ClusterType = "unknown" // ClusterTypeMinikube is for minikube. ClusterTypeMinikube ClusterType = "minikube" // ClusterTypeEKS is for EKS. ClusterTypeEKS ClusterType = "eks" // ClusterTypeGeneric is a generic type. ClusterTypeGeneric ClusterType = "generic" // PerconaEverestDeploymentName stores the name of everest API Server deployment. PerconaEverestDeploymentName = "percona-everest" // EverestOperatorDeploymentName is the name of the deployment for everest operator. EverestOperatorDeploymentName = "everest-operator-controller-manager" // EverestDBNamespacesEnvVar is the name of the environment variable that // contains the list of monitored namespaces. EverestDBNamespacesEnvVar = "DB_NAMESPACES" // OLMNamespace is the namespace where OLM is installed. OLMNamespace = "everest-olm" // APIVersionCoreosV1 constant for some API requests. APIVersionCoreosV1 = "operators.coreos.com/v1" )
Variables ¶
var ( // ErrEmptyVersionTag Got an empty version tag from GitHub API. ErrEmptyVersionTag = errors.New("got an empty version tag from Github") )
Functions ¶
func IsContainerInState ¶
func IsContainerInState(containerStatuses []corev1.ContainerStatus, state ContainerState) bool
IsContainerInState returns true if container is in give state, otherwise false.
func IsNodeInCondition ¶
func IsNodeInCondition(node corev1.Node, conditionType corev1.NodeConditionType) bool
IsNodeInCondition returns true if node's condition given as an argument has status "True". Otherwise it returns false.
Types ¶
type ContainerState ¶
type ContainerState string
ContainerState describes container's state - waiting, running, terminated.
const ( // ContainerStateWaiting represents a state when container requires some // operations being done in order to complete start up. ContainerStateWaiting ContainerState = "waiting" // ContainerStateTerminated indicates that container began execution and // then either ran to completion or failed for some reason. ContainerStateTerminated ContainerState = "terminated" )
type InstallOperatorRequest ¶
type InstallOperatorRequest struct { Namespace string Name string OperatorGroup string CatalogSource string CatalogSourceNamespace string Channel string InstallPlanApproval olmv1alpha1.Approval StartingCSV string TargetNamespaces []string SubscriptionConfig *olmv1alpha1.SubscriptionConfig }
InstallOperatorRequest holds the fields to make an operator install request.
type Kubernetes ¶
type Kubernetes struct {
// contains filtered or unexported fields
}
Kubernetes is a client for Kubernetes.
func New ¶
func New(kubeconfigPath string, l *zap.SugaredLogger) (*Kubernetes, error)
New returns new Kubernetes object.
func NewEmpty ¶
func NewEmpty(l *zap.SugaredLogger) *Kubernetes
NewEmpty returns new Kubernetes object.
func NewInCluster ¶
func NewInCluster(l *zap.SugaredLogger) (*Kubernetes, error)
NewInCluster creates a new kubernetes client using incluster authentication.
func (*Kubernetes) ApplyObject ¶
func (k *Kubernetes) ApplyObject(obj runtime.Object) error
ApplyObject applies object.
func (*Kubernetes) ClusterName ¶
func (k *Kubernetes) ClusterName() string
ClusterName returns the name of the k8s cluster.
func (*Kubernetes) CreateBackupStorage ¶
func (k *Kubernetes) CreateBackupStorage(ctx context.Context, storage *everestv1alpha1.BackupStorage) error
CreateBackupStorage returns backup storages by provided name.
func (*Kubernetes) CreateClusterRole ¶
func (k *Kubernetes) CreateClusterRole(name string, rules []rbac.PolicyRule) error
CreateClusterRole creates a new cluster role.
func (*Kubernetes) CreateClusterRoleBinding ¶
func (k *Kubernetes) CreateClusterRoleBinding(namespace, name, roleName, serviceAccountName string) error
CreateClusterRoleBinding binds a cluster role to a service account.
func (*Kubernetes) CreateDatabaseCluster ¶
func (k *Kubernetes) CreateDatabaseCluster(cluster *everestv1alpha1.DatabaseCluster) error
CreateDatabaseCluster creates database cluster.
func (*Kubernetes) CreateMonitoringConfig ¶
func (k *Kubernetes) CreateMonitoringConfig(ctx context.Context, storage *everestv1alpha1.MonitoringConfig) error
CreateMonitoringConfig returns monitoring configs by provided name.
func (*Kubernetes) CreateNamespace ¶
func (k *Kubernetes) CreateNamespace(name string) error
CreateNamespace creates a new namespace.
func (*Kubernetes) CreateOperatorGroup ¶
func (k *Kubernetes) CreateOperatorGroup(ctx context.Context, name, namespace string, targetNamespaces []string) error
CreateOperatorGroup creates operator group in the given namespace.
func (*Kubernetes) CreatePMMSecret ¶
func (k *Kubernetes) CreatePMMSecret(namespace, secretName string, secrets map[string][]byte) error
CreatePMMSecret creates pmm secret in kubernetes.
func (*Kubernetes) CreateRestore ¶
func (k *Kubernetes) CreateRestore(restore *everestv1alpha1.DatabaseClusterRestore) error
CreateRestore creates a restore.
func (*Kubernetes) CreateRole ¶
func (k *Kubernetes) CreateRole(namespace, name string, rules []rbac.PolicyRule) error
CreateRole creates a new role.
func (*Kubernetes) CreateRoleBinding ¶
func (k *Kubernetes) CreateRoleBinding(namespace, name, roleName, serviceAccountName string) error
CreateRoleBinding binds a role to a service account.
func (*Kubernetes) CreateSecret ¶
func (k *Kubernetes) CreateSecret(ctx context.Context, secret *corev1.Secret) (*corev1.Secret, error)
CreateSecret creates a secret.
func (*Kubernetes) CreateServiceAccount ¶
func (k *Kubernetes) CreateServiceAccount(name, namespace string) error
CreateServiceAccount creates a new service account.
func (*Kubernetes) CreateServiceAccountToken ¶
func (k *Kubernetes) CreateServiceAccountToken(serviceAccountName, secretName, namespace string) error
CreateServiceAccountToken creates a new secret with service account token.
func (*Kubernetes) DeleteAllMonitoringResources ¶
func (k *Kubernetes) DeleteAllMonitoringResources(ctx context.Context, namespace string) error
DeleteAllMonitoringResources deletes all resources related to monitoring from k8s cluster. If namespace is empty, a default namespace is used.
func (*Kubernetes) DeleteBackupStorage ¶
func (k *Kubernetes) DeleteBackupStorage(ctx context.Context, namespace, name string) error
DeleteBackupStorage returns backup storages by provided name.
func (*Kubernetes) DeleteClusterServiceVersion ¶
func (k *Kubernetes) DeleteClusterServiceVersion( ctx context.Context, key types.NamespacedName, ) error
DeleteClusterServiceVersion deletes a ClusterServiceVersion.
func (*Kubernetes) DeleteDatabaseCluster ¶
func (k *Kubernetes) DeleteDatabaseCluster(ctx context.Context, namespace, name string) error
DeleteDatabaseCluster deletes database cluster.
func (*Kubernetes) DeleteEverest ¶
func (k *Kubernetes) DeleteEverest(_ context.Context, namespace string) error
DeleteEverest downloads the manifest file and deletes it from provisioned k8s cluster.
func (*Kubernetes) DeleteMonitoringConfig ¶
func (k *Kubernetes) DeleteMonitoringConfig(ctx context.Context, namespace, name string) error
DeleteMonitoringConfig returns monitoring configs by provided name.
func (*Kubernetes) DeleteNamespace ¶
func (k *Kubernetes) DeleteNamespace(ctx context.Context, name string) error
DeleteNamespace deletes a namespace.
func (*Kubernetes) DeleteObject ¶
func (k *Kubernetes) DeleteObject(obj runtime.Object) error
DeleteObject deletes an object.
func (*Kubernetes) DeleteSecret ¶
func (k *Kubernetes) DeleteSecret(ctx context.Context, namespace, name string) error
DeleteSecret deletes a secret.
func (*Kubernetes) GenerateKubeConfigWithToken ¶
func (k *Kubernetes) GenerateKubeConfigWithToken(user string, secret *corev1.Secret) (string, error)
GenerateKubeConfigWithToken returns a kubeconfig with the token as provided in the secret.
func (*Kubernetes) GetAllClusterResources ¶
func (k *Kubernetes) GetAllClusterResources( ctx context.Context, clusterType ClusterType, volumes *corev1.PersistentVolumeList, ) (uint64, uint64, uint64, error)
GetAllClusterResources goes through all cluster nodes and sums their allocatable resources.
func (*Kubernetes) GetBackupStorage ¶
func (k *Kubernetes) GetBackupStorage(ctx context.Context, namespace, name string) (*everestv1alpha1.BackupStorage, error)
GetBackupStorage returns backup storages by provided name.
func (*Kubernetes) GetClusterServiceVersion ¶
func (k *Kubernetes) GetClusterServiceVersion( ctx context.Context, key types.NamespacedName, ) (*olmv1alpha1.ClusterServiceVersion, error)
GetClusterServiceVersion retrieves a ClusterServiceVersion by namespaced name.
func (*Kubernetes) GetClusterType ¶
func (k *Kubernetes) GetClusterType(ctx context.Context) (ClusterType, error)
GetClusterType tries to guess the underlying kubernetes cluster based on storage class.
func (*Kubernetes) GetConsumedCPUAndMemory ¶
func (k *Kubernetes) GetConsumedCPUAndMemory(ctx context.Context, namespace string) ( cpuMillis uint64, memoryBytes uint64, err error, )
GetConsumedCPUAndMemory returns consumed CPU and Memory in given namespace. If namespace is empty, it tries to get them from all namespaces.
func (*Kubernetes) GetConsumedDiskBytes ¶
func (k *Kubernetes) GetConsumedDiskBytes( _ context.Context, clusterType ClusterType, volumes *corev1.PersistentVolumeList, ) (uint64, error)
GetConsumedDiskBytes returns consumed bytes. The strategy differs based on k8s cluster type.
func (*Kubernetes) GetDBNamespaces ¶
GetDBNamespaces returns a list of namespaces that are monitored by the Everest operator.
func (*Kubernetes) GetDBaaSOperatorVersion ¶
func (k *Kubernetes) GetDBaaSOperatorVersion(ctx context.Context) (string, error)
GetDBaaSOperatorVersion parses DBaaS operator version from operator deployment.
func (*Kubernetes) GetDatabaseCluster ¶
func (k *Kubernetes) GetDatabaseCluster(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseCluster, error)
GetDatabaseCluster returns database clusters by provided name.
func (*Kubernetes) GetDatabaseClusterBackup ¶
func (k *Kubernetes) GetDatabaseClusterBackup(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseClusterBackup, error)
GetDatabaseClusterBackup returns database cluster backup by name.
func (*Kubernetes) GetDatabaseClusterRestore ¶
func (k *Kubernetes) GetDatabaseClusterRestore(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseClusterRestore, error)
GetDatabaseClusterRestore returns database cluster restore by name.
func (*Kubernetes) GetDatabaseEngine ¶
func (k *Kubernetes) GetDatabaseEngine(ctx context.Context, namespace, name string) (*everestv1alpha1.DatabaseEngine, error)
GetDatabaseEngine returns database clusters by provided name.
func (*Kubernetes) GetDefaultStorageClassName ¶
func (k *Kubernetes) GetDefaultStorageClassName(ctx context.Context) (string, error)
GetDefaultStorageClassName returns first storageClassName from kubernetes cluster.
func (*Kubernetes) GetDeployment ¶
func (k *Kubernetes) GetDeployment(ctx context.Context, name, namespace string) (*appsv1.Deployment, error)
GetDeployment returns k8s deployment by provided name and namespace.
func (*Kubernetes) GetEverestID ¶
func (k *Kubernetes) GetEverestID(ctx context.Context) (string, error)
GetEverestID returns the ID of the namespace where everest is deployed.
func (*Kubernetes) GetLogs ¶
func (k *Kubernetes) GetLogs( ctx context.Context, containerStatuses []corev1.ContainerStatus, pod, container string, ) ([]string, error)
GetLogs returns logs.
func (*Kubernetes) GetMonitoringConfig ¶
func (k *Kubernetes) GetMonitoringConfig(ctx context.Context, namespace, name string) (*everestv1alpha1.MonitoringConfig, error)
GetMonitoringConfig returns monitoring configs by provided name.
func (*Kubernetes) GetMonitoringConfigsBySecretName ¶
func (k *Kubernetes) GetMonitoringConfigsBySecretName( ctx context.Context, namespace, secretName string, ) ([]*everestv1alpha1.MonitoringConfig, error)
GetMonitoringConfigsBySecretName returns a list of monitoring configs which use the provided secret name.
func (*Kubernetes) GetNamespace ¶
GetNamespace returns a namespace.
func (*Kubernetes) GetPSMDBOperatorVersion ¶
func (k *Kubernetes) GetPSMDBOperatorVersion(ctx context.Context) (string, error)
GetPSMDBOperatorVersion parses PSMDB operator version from operator deployment.
func (*Kubernetes) GetPXCOperatorVersion ¶
func (k *Kubernetes) GetPXCOperatorVersion(ctx context.Context) (string, error)
GetPXCOperatorVersion parses PXC operator version from operator deployment.
func (*Kubernetes) GetPersistentVolumes ¶
func (k *Kubernetes) GetPersistentVolumes(ctx context.Context) (*corev1.PersistentVolumeList, error)
GetPersistentVolumes returns list of persistent volumes.
func (*Kubernetes) GetPods ¶
func (k *Kubernetes) GetPods(ctx context.Context, namespace string, labelSelector *metav1.LabelSelector) (*corev1.PodList, error)
GetPods returns list of pods.
func (*Kubernetes) GetServerVersion ¶
func (k *Kubernetes) GetServerVersion() (*version.Info, error)
GetServerVersion returns server version.
func (*Kubernetes) GetStorageClasses ¶
func (k *Kubernetes) GetStorageClasses(ctx context.Context) (*storagev1.StorageClassList, error)
GetStorageClasses returns list of storage classes.
func (*Kubernetes) GetWorkerNodes ¶
GetWorkerNodes returns list of cluster workers nodes.
func (*Kubernetes) InstallEverest ¶
func (k *Kubernetes) InstallEverest(ctx context.Context, namespace string) error
InstallEverest downloads the manifest file and applies it against provisioned k8s cluster.
func (*Kubernetes) InstallOLMOperator ¶
func (k *Kubernetes) InstallOLMOperator(ctx context.Context, upgrade bool) error
InstallOLMOperator installs OLM operator.
func (*Kubernetes) InstallOperator ¶
func (k *Kubernetes) InstallOperator(ctx context.Context, req InstallOperatorRequest) error
InstallOperator installs an operator via OLM.
func (*Kubernetes) InstallPerconaCatalog ¶
func (k *Kubernetes) InstallPerconaCatalog(ctx context.Context) error
InstallPerconaCatalog installs percona catalog and ensures that packages are available.
func (*Kubernetes) IsBackupStorageUsed ¶
func (k *Kubernetes) IsBackupStorageUsed(ctx context.Context, namespace, backupStorageName string) (bool, error)
IsBackupStorageUsed checks that a backup storage by provided name is used across k8s cluster.
func (*Kubernetes) IsMonitoringConfigUsed ¶
func (k *Kubernetes) IsMonitoringConfigUsed(ctx context.Context, namespace, monitoringConfigName string) (bool, error)
IsMonitoringConfigUsed checks that a backup storage by provided name is used across k8s cluster.
func (*Kubernetes) ListBackupStorages ¶
func (k *Kubernetes) ListBackupStorages(ctx context.Context, namespace string) (*everestv1alpha1.BackupStorageList, error)
ListBackupStorages returns list of managed backup storages.
func (*Kubernetes) ListClusterServiceVersion ¶
func (k *Kubernetes) ListClusterServiceVersion( ctx context.Context, namespace string, ) (*olmv1alpha1.ClusterServiceVersionList, error)
ListClusterServiceVersion list all CSVs for the given namespace.
func (*Kubernetes) ListDatabaseClusterBackups ¶
func (k *Kubernetes) ListDatabaseClusterBackups(ctx context.Context, namespace string, options metav1.ListOptions) (*everestv1alpha1.DatabaseClusterBackupList, error)
ListDatabaseClusterBackups returns database cluster backups.
func (*Kubernetes) ListDatabaseClusterRestores ¶
func (k *Kubernetes) ListDatabaseClusterRestores(ctx context.Context, namespace string, options metav1.ListOptions) (*everestv1alpha1.DatabaseClusterRestoreList, error)
ListDatabaseClusterRestores returns database cluster restores.
func (*Kubernetes) ListDatabaseClusters ¶
func (k *Kubernetes) ListDatabaseClusters(ctx context.Context, namespace string) (*everestv1alpha1.DatabaseClusterList, error)
ListDatabaseClusters returns list of managed database clusters.
func (*Kubernetes) ListDatabaseEngines ¶
func (k *Kubernetes) ListDatabaseEngines(ctx context.Context, namespace string) (*everestv1alpha1.DatabaseEngineList, error)
ListDatabaseEngines returns list of managed database clusters.
func (*Kubernetes) ListEngineDeploymentNames ¶
func (k *Kubernetes) ListEngineDeploymentNames(ctx context.Context, namespace string) ([]string, error)
ListEngineDeploymentNames returns a string array containing found engine deployments for the Everest.
func (*Kubernetes) ListMonitoringConfigs ¶
func (k *Kubernetes) ListMonitoringConfigs(ctx context.Context, namespace string) (*everestv1alpha1.MonitoringConfigList, error)
ListMonitoringConfigs returns list of managed monitoring configs.
func (*Kubernetes) ListSecrets ¶
func (k *Kubernetes) ListSecrets(ctx context.Context, namespace string) (*corev1.SecretList, error)
ListSecrets returns secret by name.
func (*Kubernetes) ListSubscriptions ¶
func (k *Kubernetes) ListSubscriptions(ctx context.Context, namespace string) (*olmv1alpha1.SubscriptionList, error)
ListSubscriptions all the subscriptions in the namespace.
func (*Kubernetes) Namespace ¶
func (k *Kubernetes) Namespace() string
Namespace returns the current namespace.
func (*Kubernetes) PatchDatabaseCluster ¶
func (k *Kubernetes) PatchDatabaseCluster(cluster *everestv1alpha1.DatabaseCluster) error
PatchDatabaseCluster patches CR of managed Database cluster.
func (*Kubernetes) ProvisionMonitoring ¶
func (k *Kubernetes) ProvisionMonitoring(namespace string) error
ProvisionMonitoring provisions PMM monitoring.
func (*Kubernetes) RestartEverest ¶
func (k *Kubernetes) RestartEverest(ctx context.Context, name, namespace string) error
RestartEverest restarts everest pod.
func (*Kubernetes) SetSecret ¶
func (k *Kubernetes) SetSecret(secret *corev1.Secret) error
SetSecret creates or updates an existing secret.
func (*Kubernetes) UpdateBackupStorage ¶
func (k *Kubernetes) UpdateBackupStorage(ctx context.Context, storage *everestv1alpha1.BackupStorage) error
UpdateBackupStorage returns backup storages by provided name.
func (*Kubernetes) UpdateClusterRoleBinding ¶
func (k *Kubernetes) UpdateClusterRoleBinding(ctx context.Context, name string, namespaces []string) error
UpdateClusterRoleBinding updates namespaces list for the cluster role by provided name.
func (*Kubernetes) UpdateMonitoringConfig ¶
func (k *Kubernetes) UpdateMonitoringConfig(ctx context.Context, storage *everestv1alpha1.MonitoringConfig) error
UpdateMonitoringConfig returns monitoring configs by provided name.
func (*Kubernetes) UpdateSecret ¶
func (k *Kubernetes) UpdateSecret(ctx context.Context, secret *corev1.Secret) (*corev1.Secret, error)
UpdateSecret updates a secret.
func (*Kubernetes) UpgradeOperator ¶
func (k *Kubernetes) UpgradeOperator(ctx context.Context, namespace, name string) error
UpgradeOperator upgrades an operator to the next available version.
func (*Kubernetes) WaitForRollout ¶
func (k *Kubernetes) WaitForRollout(ctx context.Context, name, namespace string) error
WaitForRollout waits for rollout of a provided deployment in the provided namespace.
type NodeFileSystemSummary ¶
type NodeFileSystemSummary struct {
UsedBytes uint64 `json:"usedBytes,omitempty"`
}
NodeFileSystemSummary holds a summary of Node's filesystem.
type NodeSummary ¶
type NodeSummary struct {
Node NodeSummaryNode `json:"node,omitempty"`
}
NodeSummary holds summary of the Node. One gets this by requesting Kubernetes API endpoint: /v1/nodes/<node-name>/proxy/stats/summary.
type NodeSummaryNode ¶
type NodeSummaryNode struct {
FileSystem NodeFileSystemSummary `json:"fs,omitempty"`
}
NodeSummaryNode holds information about Node inside Node's summary.
type OperatorServiceManager ¶
type OperatorServiceManager interface { // SetKubeConfig receives a new config and establish a new connection to the K8 cluster. SetKubeConfig(kubeConfig string) error // InstallOLMOperator installs the OLM in the Kubernetes cluster. InstallOLMOperator(ctx context.Context) error // InstallOperator installs an operator via OLM. InstallOperator(ctx context.Context, req InstallOperatorRequest) error // ListSubscriptions all the subscriptions in the namespace. ListSubscriptions(ctx context.Context, namespace string) (*v1alpha1.SubscriptionList, error) // UpgradeOperator upgrades an operator to the next available version. UpgradeOperator(ctx context.Context, namespace, name string) error }
OperatorServiceManager ...
Source Files ¶
- backup_storage.go
- container.go
- database_cluster.go
- database_cluster_backup.go
- database_cluster_restore.go
- database_engine.go
- kubeconfig.go
- kubernetes.go
- monitoring.go
- monitoring_config.go
- namespace.go
- node.go
- operator_service_interface.go
- pod.go
- resources.go
- role.go
- secret.go
- service_account.go
- storage.go
Directories ¶
Path | Synopsis |
---|---|
Package client ...
|
Package client ... |
customresources
Package customresources provides methods to work with custom everest k8s resources.
|
Package customresources provides methods to work with custom everest k8s resources. |
database
Package database TODO
|
Package database TODO |