Documentation ¶
Index ¶
- Constants
- Variables
- func AddBuiltInNoProxy(noProxy string) string
- func AddFinalizer(obj metav1.Object, finalizer string)
- func CalculateCronOffset(svmbackup1, svmbackup2 *harvesterv1.ScheduleVMBackup) (time.Duration, error)
- func ConstructEndpoint(target *settings.BackupTarget) string
- func ContainsFinalizer(obj metav1.Object, finalizer string) bool
- func EncodePrivateKeyToPEM(privateKey *rsa.PrivateKey) []byte
- func EncodeVars(vars map[string]string) map[string]string
- func GeneratePrivateKey(bitSize int) (*rsa.PrivateKey, error)
- func GeneratePublicKey(publicKey *rsa.PublicKey) ([]byte, error)
- func GetBackingImage(backingImageCache ctllhv1.BackingImageCache, ...) (*v1beta2.BackingImage, error)
- func GetBackingImageDataSourceName(backingImageCache ctllhv1.BackingImageCache, ...) (string, error)
- func GetBackingImageName(backingImageCache ctllhv1.BackingImageCache, ...) (string, error)
- func GetBackupStoreDriver(secretCache ctlcorev1.SecretCache, target *settings.BackupTarget) (backupstore.BackupStoreDriver, error)
- func GetCronGranularity(svmbackup *harvesterv1.ScheduleVMBackup) (time.Duration, error)
- func GetImageDefaultStorageClassParameters() map[string]string
- func GetImageStorageClassName(imageName string) string
- func GetImageStorageClassParameters(backingImageCache ctllhv1.BackingImageCache, ...) (map[string]string, error)
- func GetProvisionedPVCProvisioner(pvc *corev1.PersistentVolumeClaim) string
- func GetVMImageMetadataFilePath(vmImageNamespace, vmImageName string) string
- func GetValue(data map[string]interface{}, keys ...string) (interface{}, bool)
- func GetWranglerFinalizerName(controllerName string) string
- func IsBackupTargetSame(statusBackupTarget *harvesterv1.BackupTarget, target *settings.BackupTarget) bool
- func IsRetriableNetworkError(err error) bool
- func IsStillExists(err error) bool
- func LoadCSIDriverConfig(settingCache ctlharvesterv1.SettingCache) (map[string]settings.CSIDriverInfo, error)
- func NewStillExists(qualifiedResource schema.GroupResource, name string) *apierrors.StatusError
- func ReGenerateNTPServers(ntpSettings *NTPSettings) string
- func RemoveFinalizer(obj metav1.Object, finalizer string)
- func ResolveSVMBackupRef(svmbackupCache ctlharvesterv1.ScheduleVMBackupCache, obj metav1.Object) *harvesterv1.ScheduleVMBackup
- func ResponseBody(obj interface{}) []byte
- func ResponseError(rw http.ResponseWriter, statusCode int, err error)
- func ResponseErrorMsg(rw http.ResponseWriter, statusCode int, errMsg string)
- func ResponseOK(rw http.ResponseWriter)
- func ResponseOKWithBody(rw http.ResponseWriter, obj interface{})
- func SkipCronGranularityCheck(svmbackup *harvesterv1.ScheduleVMBackup) bool
- func VirtClientUpdateVmi(ctx context.Context, client rest.Interface, ...) error
- type HTTPProxyConfig
- type NTPSettings
Constants ¶
View Source
const ( RemovedPVCsAnnotationKey = prefix + "/removedPersistentVolumeClaims" AdditionalCASecretName = "harvester-additional-ca" AdditionalCAFileName = "additional-ca.pem" AnnotationMigrationTarget = prefix + "/migrationTargetNodeName" AnnotationMigrationUID = prefix + "/migrationUID" AnnotationMigrationState = prefix + "/migrationState" AnnotationTimestamp = prefix + "/timestamp" AnnotationVolumeClaimTemplates = prefix + "/volumeClaimTemplates" AnnotationUpgradePatched = prefix + "/upgrade-patched" AnnotationImageID = prefix + "/imageId" AnnotationReservedMemory = prefix + "/reservedMemory" AnnotationHash = prefix + "/hash" AnnotationRunStrategy = prefix + "/vmRunStrategy" AnnotationSnapshotFreezeFS = prefix + "/snapshotFreezeFS" AnnotationSVMBackupID = prefix + "/svmbackupId" AnnotationSVMBackupSkipCronCheck = prefix + "/svmbackupSkipCronCheck" LabelImageDisplayName = prefix + "/imageDisplayName" LabelSetting = prefix + "/setting" LabelVMName = prefix + "/vmName" LabelSVMBackupUID = prefix + "/svmbackupUID" LabelSVMBackupTimestamp = prefix + "/svmbackupTimestamp" LabelVMCreator = prefix + "/creator" LabelNodeNameKey = "kubevirt.io/nodeName" AnnotationStorageClassName = prefix + "/storageClassName" AnnotationStorageProvisioner = prefix + "/storageProvisioner" AnnotationIsDefaultStorageClassName = "storageclass.kubernetes.io/is-default-class" // AnnotationMigratingPrefix is used to store the migrating vm in the annotation of ResourceQuota // eg: harvesterhci.io/migrating-vm1: jsonOfResourceList, harvesterhci.io/migrating-vm2: jsonOfResourceList AnnotationMigratingPrefix = prefix + "/migrating-" // AnnotationInsufficientResourceQuota is indicated the resource is insufficient of Namespace AnnotationInsufficientResourceQuota = prefix + "/insufficient-resource-quota" AnnotationDefaultUserdataSecret = prefix + "/default-userdata-secret" // Add to rancher-monitoring addon to record grafana pv name AnnotationGrafanaPVName = prefix + "/grafana-pv-name" // Add to harvester-longhorn storageclass to protect it // For any storageclass created & protected by controller, the controller can utilize this annotation AnnotationIsReservedStorageClass = prefix + "/is-reserved-storageclass" ContainerdRegistrySecretName = "harvester-containerd-registry" ContainerdRegistryFileName = "registries.yaml" BackupTargetSecretName = "harvester-backup-target-secret" InternalTLSSecretName = "tls-rancher-internal" Rke2IngressNginxAppName = "rke2-ingress-nginx" CattleSystemNamespaceName = "cattle-system" CattleMonitoringSystemNamespace = "cattle-monitoring-system" LonghornSystemNamespaceName = "longhorn-system" LonghornDefaultManagerURL = "http://longhorn-backend.longhorn-system:9500/v1" KubeSystemNamespace = "kube-system" FleetLocalNamespaceName = "fleet-local" LocalClusterName = "local" HarvesterSystemNamespaceName = "harvester-system" RancherLoggingName = "rancher-logging" RancherMonitoringPrometheus = "rancher-monitoring-prometheus" RancherMonitoringAlertmanager = "rancher-monitoring-alertmanager" RancherMonitoring = "rancher-monitoring" RancherMonitoringGrafana = "rancher-monitoring-grafana" CattleLoggingSystemNamespaceName = "cattle-logging-system" HarvesterUpgradeImageRepository = "rancher/harvester-upgrade" GrafanaPVCName = "rancher-monitoring-grafana" RancherMonitoringName = "rancher-monitoring" CattleMonitoringSystemNamespaceName = "cattle-monitoring-system" HarvesterVMImportController = "vm-import-controller-harvester-vm-import-controller" // kubevirt create a CRD object automatically: type kubevirt, name kubevirt, namespace: harvester-system // this object stores all kubevirt related configuration KubeVirtObjectName = "kubevirt" HTTPProxyEnv = "HTTP_PROXY" HTTPSProxyEnv = "HTTPS_PROXY" NoProxyEnv = "NO_PROXY" LonghornOptionBackingImageName = "backingImage" LonghornOptionBackingImageDataSourceName = "backingImageDataSourceType" LonghornOptionMigratable = "migratable" LonghornOptionEncrypted = "encrypted" AddonValuesAnnotation = "harvesterhci.io/addon-defaults" // CSI constants CSIProvisionerSecretNameKey = "csi.storage.k8s.io/provisioner-secret-name" CSIProvisionerSecretNamespaceKey = "csi.storage.k8s.io/provisioner-secret-namespace" CSINodePublishSecretNameKey = "csi.storage.k8s.io/node-publish-secret-name" CSINodePublishSecretNamespaceKey = "csi.storage.k8s.io/node-publish-secret-namespace" CSINodeStageSecretNameKey = "csi.storage.k8s.io/node-stage-secret-name" CSINodeStageSecretNamespaceKey = "csi.storage.k8s.io/node-stage-secret-namespace" LabelUpgradeReadMessage = prefix + "/read-message" LabelUpgradeState = prefix + "/upgradeState" UpgradeStateLoggingInfraPrepared = "LoggingInfraPrepared" AnnotationArchiveName = prefix + "/archiveName" LabelUpgradeLog = prefix + "/upgradeLog" LabelUpgradeLogComponent = prefix + "/upgradeLogComponent" UpgradeLogInfraComponent = "infra" UpgradeLogShipperComponent = "shipper" UpgradeLogAggregatorComponent = "aggregator" UpgradeLogDownloaderComponent = "downloader" UpgradeLogFlowComponent = "clusterflow" UpgradeLogArchiveComponent = "log-archive" UpgradeLogOperatorComponent = "operator" UpgradeLogOutputComponent = "clusteroutput" UpgradeLogPackagerComponent = "packager" AnnotationUpgradeLogLogArchiveAltName = prefix + "/logArchiveAltName" UpgradeNodeDrainTaintKey = "kubevirt.io/drain" UpgradeNodeDrainTaintValue = "draining" FieldCattlePrefix = "field.cattle.io" CattleAnnotationResourceQuota = FieldCattlePrefix + "/resourceQuota" ManagementCattlePrefix = "management.cattle.io" LabelManagementDefaultResourceQuota = "resourcequota." + ManagementCattlePrefix + "/default-resource-quota" DefaultFleetControllerConfigMapName = "fleet-controller" DefaultFleetControllerConfigMapNamespace = "cattle-fleet-system" RancherInternalCASetting = "internal-cacerts" RancherInternalServerURLSetting = "internal-server-url" APIServerURLKey = "apiServerURL" APIServerCAKey = "apiServerCA" RKEControlPlaneRoleLabel = "rke.cattle.io/control-plane-role" LabelMaintainModeStrategy = prefix + "/maintain-mode-strategy" AnnotationMaintainModeStrategyNodeName = prefix + "/maintain-mode-strategy-node-name" MaintainModeStrategyMigrate = "Migrate" MaintainModeStrategyShutdownAndRestartAfterEnable = "ShutdownAndRestartAfterEnable" MaintainModeStrategyShutdownAndRestartAfterDisable = "ShutdownAndRestartAfterDisable" MaintainModeStrategyShutdown = "Shutdown" // s3 backup target constants AWSAccessKey = "AWS_ACCESS_KEY_ID" AWSSecretKey = "AWS_SECRET_ACCESS_KEY" AWSEndpoints = "AWS_ENDPOINTS" AWSCERT = "AWS_CERT" VirtualHostedStyle = "VIRTUAL_HOSTED_STYLE" DefaultResourceQuotaName = "default-resource-quota" AnnotationCPUManagerUpdateStatus = prefix + "/cpu-manager-update-status" LabelCPUManagerUpdateNode = prefix + "/cpu-manager-update-node" LabelCPUManagerUpdatePolicy = prefix + "/cpu-manager-update-policy" LabelCPUManagerExitCode = prefix + "/cpu-manager-exit-code" VClusterNamespace = "rancher-vcluster" LablelVClusterAppNameKey = "app" LablelVClusterAppNameValue = "vcluster" StorageClassHarvesterLonghorn = "harvester-longhorn" // the initial & default storageclass HarvesterChartReleaseName = "harvester" // the release name // copied from helm pkg/action/validate.go HelmReleaseNameAnnotation = "meta.helm.sh/release-name" HelmReleaseNamespaceAnnotation = "meta.helm.sh/release-namespace" )
View Source
const ( AnnStorageProvisioner = "volume.kubernetes.io/storage-provisioner" AnnBetaStorageProvisioner = "volume.beta.kubernetes.io/storage-provisioner" LonghornDataLocality = "dataLocality" )
View Source
const (
StatusReasonStillExists metav1.StatusReason = "StillExists"
)
View Source
const (
VMImageMetadataFolderPath = "harvester/vmimages/"
)
Variables ¶
View Source
var (
PersistentVolumeClaimsKind = schema.GroupVersionKind{Group: "", Version: "v1", Kind: "PersistentVolumeClaim"}
)
Functions ¶
func AddBuiltInNoProxy ¶ added in v1.0.0
func AddFinalizer ¶ added in v1.1.2
func CalculateCronOffset ¶ added in v1.4.0
func CalculateCronOffset(svmbackup1, svmbackup2 *harvesterv1.ScheduleVMBackup) (time.Duration, error)
func ConstructEndpoint ¶ added in v1.4.0
func ConstructEndpoint(target *settings.BackupTarget) string
func ContainsFinalizer ¶ added in v1.1.2
func EncodePrivateKeyToPEM ¶
func EncodePrivateKeyToPEM(privateKey *rsa.PrivateKey) []byte
EncodePrivateKeyToPEM encodes Private Key from RSA to PEM format
func GeneratePrivateKey ¶
func GeneratePrivateKey(bitSize int) (*rsa.PrivateKey, error)
GeneratePrivateKey creates a RSA Private Key of specified byte size
func GeneratePublicKey ¶
GeneratePublicKey take a rsa.PublicKey and return bytes suitable for writing to .pub file returns in the format "ssh-rsa ..."
func GetBackingImage ¶ added in v1.2.2
func GetBackingImage(backingImageCache ctllhv1.BackingImageCache, image *harvesterv1.VirtualMachineImage) (*v1beta2.BackingImage, error)
func GetBackingImageDataSourceName ¶ added in v1.2.2
func GetBackingImageDataSourceName(backingImageCache ctllhv1.BackingImageCache, image *harvesterv1.VirtualMachineImage) (string, error)
func GetBackingImageName ¶ added in v1.1.0
func GetBackingImageName(backingImageCache ctllhv1.BackingImageCache, image *harvesterv1.VirtualMachineImage) (string, error)
func GetBackupStoreDriver ¶ added in v1.4.0
func GetBackupStoreDriver(secretCache ctlcorev1.SecretCache, target *settings.BackupTarget) (backupstore.BackupStoreDriver, error)
func GetCronGranularity ¶ added in v1.4.0
func GetCronGranularity(svmbackup *harvesterv1.ScheduleVMBackup) (time.Duration, error)
func GetImageDefaultStorageClassParameters ¶ added in v1.1.0
func GetImageStorageClassName ¶ added in v1.1.0
func GetImageStorageClassParameters ¶ added in v1.1.0
func GetImageStorageClassParameters(backingImageCache ctllhv1.BackingImageCache, image *harvesterv1.VirtualMachineImage) (map[string]string, error)
func GetProvisionedPVCProvisioner ¶ added in v1.1.0
func GetProvisionedPVCProvisioner(pvc *corev1.PersistentVolumeClaim) string
GetProvisionedPVCProvisioner do not use this function when the PVC is just created
func GetVMImageMetadataFilePath ¶ added in v1.4.0
func GetValue ¶ added in v1.2.2
GetValue retrieve value from map[string]interface{} by keys example: GetValue(map[string]interface{}{"a": map[string]interface{}{"b": "c"}}, "a", "b") -> "c"
func GetWranglerFinalizerName ¶ added in v1.4.0
func IsBackupTargetSame ¶ added in v1.4.0
func IsBackupTargetSame(statusBackupTarget *harvesterv1.BackupTarget, target *settings.BackupTarget) bool
func IsRetriableNetworkError ¶ added in v1.1.2
func IsStillExists ¶ added in v1.0.1
func LoadCSIDriverConfig ¶ added in v1.2.0
func LoadCSIDriverConfig(settingCache ctlharvesterv1.SettingCache) (map[string]settings.CSIDriverInfo, error)
LoadCSIDriverConfig loads the CSI driver configuration from settings.
func NewStillExists ¶ added in v1.0.1
func NewStillExists(qualifiedResource schema.GroupResource, name string) *apierrors.StatusError
func ReGenerateNTPServers ¶ added in v1.2.0
func ReGenerateNTPServers(ntpSettings *NTPSettings) string
func RemoveFinalizer ¶ added in v1.1.2
func ResolveSVMBackupRef ¶ added in v1.4.0
func ResolveSVMBackupRef(svmbackupCache ctlharvesterv1.ScheduleVMBackupCache, obj metav1.Object) *harvesterv1.ScheduleVMBackup
func ResponseBody ¶
func ResponseBody(obj interface{}) []byte
func ResponseError ¶
func ResponseError(rw http.ResponseWriter, statusCode int, err error)
func ResponseErrorMsg ¶
func ResponseErrorMsg(rw http.ResponseWriter, statusCode int, errMsg string)
func ResponseOK ¶
func ResponseOK(rw http.ResponseWriter)
func ResponseOKWithBody ¶
func ResponseOKWithBody(rw http.ResponseWriter, obj interface{})
func SkipCronGranularityCheck ¶ added in v1.4.0
func SkipCronGranularityCheck(svmbackup *harvesterv1.ScheduleVMBackup) bool
Types ¶
type HTTPProxyConfig ¶ added in v1.0.0
type NTPSettings ¶ added in v1.2.0
type NTPSettings struct {
NTPServers []string `json:"ntpServers,omitempty"`
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.