azurefile

package
v1.27.3 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultAzureCredentialFileEnv = "AZURE_CREDENTIAL_FILE"
	DefaultCredFilePathLinux      = "/etc/kubernetes/azure.json"
	DefaultCredFilePathWindows    = "C:\\k\\azure.json"
)
View Source
const (
	DefaultDriverName = "file.csi.azure.com"

	VolumeID         = "volumeid"
	SourceResourceID = "source_resource_id"
	SnapshotName     = "snapshot_name"
	SnapshotID       = "snapshot_id"

	FSGroupChangeNone = "None"
)

Variables

This section is empty.

Functions

func CleanupMountPoint added in v0.6.0

func CleanupMountPoint(m *mount.SafeFormatAndMount, target string, extensiveMountCheck bool) error

func ConvertTagsToMap added in v1.2.0

func ConvertTagsToMap(tags string) (map[string]string, error)

func GetFileShareInfo added in v0.8.0

func GetFileShareInfo(id string) (string, string, string, string, string, string, error)

get file share info according to volume id, e.g. input: "rg#f5713de20cde511e8ba4900#fileShareName#diskname.vhd#uuid#namespace#subsID" output: rg, f5713de20cde511e8ba4900, fileShareName, diskname.vhd, namespace, subsID

func GetUserAgent added in v1.6.0

func GetUserAgent(driverName, customUserAgent, userAgentSuffix string) string

GetUserAgent returns user agent of the driver

func GetVersionYAML

func GetVersionYAML(driverName string) (string, error)

GetVersionYAML returns the version information of the driver in YAML format

func IsCorruptedDir added in v0.5.0

func IsCorruptedDir(dir string) bool

func NewFakeMounter added in v1.0.0

func NewFakeMounter() (*mount.SafeFormatAndMount, error)

NewFakeMounter fake mounter

func SMBMount added in v0.6.0

func SMBMount(m *mount.SafeFormatAndMount, source, target, fsType string, options, sensitiveMountOptions []string) error

func SetVolumeOwnership added in v1.7.0

func SetVolumeOwnership(path, gid, policy string) error

SetVolumeOwnership would set gid for path recursively

Types

type Driver

type Driver struct {
	csicommon.CSIDriver
	// contains filtered or unexported fields
}

Driver implements all interfaces of CSI drivers

func NewDriver

func NewDriver(options *DriverOptions) *Driver

NewDriver Creates a NewCSIDriver object. Assumes vendor version is equal to driver version & does not support optional driver plugin info manifest field. Refer to CSI spec for more details.

func (*Driver) ControllerExpandVolume

ControllerExpandVolume controller expand volume

func (*Driver) ControllerGetCapabilities

ControllerGetCapabilities returns the capabilities of the Controller plugin

func (*Driver) ControllerGetVolume added in v0.8.0

ControllerGetVolume get volume

func (*Driver) ControllerPublishVolume

ControllerPublishVolume make a volume available on some required node

func (*Driver) ControllerUnpublishVolume

ControllerUnpublishVolume detach the volume on a specified node

func (*Driver) CreateFileShare added in v0.9.0

func (d *Driver) CreateFileShare(ctx context.Context, accountOptions *azure.AccountOptions, shareOptions *fileclient.ShareOptions, secrets map[string]string) error

CreateFileShare creates a file share

func (*Driver) CreateSnapshot

CreateSnapshot create a snapshot

func (*Driver) CreateVolume

func (d *Driver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)

CreateVolume provisions an azure file

func (*Driver) DeleteFileShare added in v0.9.0

func (d *Driver) DeleteFileShare(ctx context.Context, subsID, resourceGroup, accountName, shareName string, secrets map[string]string) error

DeleteFileShare deletes a file share using storage account name and key

func (*Driver) DeleteSnapshot

DeleteSnapshot delete a snapshot (todo)

func (*Driver) DeleteVolume

func (d *Driver) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)

DeleteVolume delete an azure file

func (*Driver) GetAccountInfo added in v0.7.0

func (d *Driver) GetAccountInfo(ctx context.Context, volumeID string, secrets, reqContext map[string]string) (string, string, string, string, string, string, error)

GetAccountInfo get account info return <rgName, accountName, accountKey, fileShareName, diskName, subsID, err>

func (*Driver) GetCapacity

func (d *Driver) GetCapacity(ctx context.Context, req *csi.GetCapacityRequest) (*csi.GetCapacityResponse, error)

GetCapacity returns the capacity of the total available storage pool

func (*Driver) GetPluginCapabilities

GetPluginCapabilities returns the capabilities of the plugin

func (*Driver) GetPluginInfo

func (f *Driver) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)

GetPluginInfo return the version and name of the plugin

func (*Driver) GetStorageAccesskey added in v0.10.0

func (d *Driver) GetStorageAccesskey(ctx context.Context, accountOptions *azure.AccountOptions, secrets map[string]string, secretName, secretNamespace string) (string, error)

GetStorageAccesskey get Azure storage account key from

  1. secrets (if not empty)
  2. use k8s client identity to read from k8s secret
  3. use cluster identity to get from storage account directly

func (*Driver) GetStorageAccountFromSecret added in v1.3.0

func (d *Driver) GetStorageAccountFromSecret(ctx context.Context, secretName, secretNamespace string) (string, string, error)

GetStorageAccountFromSecret get storage account key from k8s secret return <accountName, accountKey, error>

func (*Driver) GetTotalAccountQuota added in v1.24.6

func (d *Driver) GetTotalAccountQuota(ctx context.Context, subsID, resourceGroup, accountName string) (int32, int32, error)

GetTotalAccountQuota returns the total quota in GB of all file shares in the storage account and the number of file shares

func (*Driver) ListSnapshots

func (d *Driver) ListSnapshots(ctx context.Context, req *csi.ListSnapshotsRequest) (*csi.ListSnapshotsResponse, error)

ListSnapshots list all snapshots (todo)

func (*Driver) ListVolumes

func (d *Driver) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)

ListVolumes return all available volumes

func (*Driver) NodeExpandVolume

NodeExpandVolume node expand volume N/A for azure file

func (*Driver) NodeGetCapabilities

NodeGetCapabilities return the capabilities of the Node plugin

func (*Driver) NodeGetInfo

func (d *Driver) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)

NodeGetInfo return info of the node on which this plugin is running

func (*Driver) NodeGetVolumeStats

NodeGetVolumeStats get volume stats

func (*Driver) NodePublishVolume

NodePublishVolume mount the volume from staging to target path

func (*Driver) NodeStageVolume

NodeStageVolume mount the volume to a staging path

func (*Driver) NodeUnpublishVolume

NodeUnpublishVolume unmount the volume from the target path

func (*Driver) NodeUnstageVolume

NodeUnstageVolume unmount the volume from the staging path

func (*Driver) Probe

func (f *Driver) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)

Probe check whether the plugin is running or not. This method does not need to return anything. Currently the spec does not dictate what you should return either. Hence, return an empty response

func (*Driver) RemoveStorageAccountTag added in v1.1.0

func (d *Driver) RemoveStorageAccountTag(ctx context.Context, subsID, resourceGroup, account, key string) error

RemoveStorageAccountTag remove tag from storage account

func (*Driver) ResizeFileShare added in v0.9.0

func (d *Driver) ResizeFileShare(ctx context.Context, subsID, resourceGroup, accountName, shareName string, sizeGiB int, secrets map[string]string) error

ResizeFileShare resizes a file share

func (*Driver) Run

func (d *Driver) Run(endpoint, kubeconfig string, testBool bool)

Run driver initialization

func (*Driver) SetAzureCredentials added in v1.2.0

func (d *Driver) SetAzureCredentials(ctx context.Context, accountName, accountKey, secretName, secretNamespace string) (string, error)

func (*Driver) ValidateVolumeCapabilities

ValidateVolumeCapabilities return the capabilities of the volume

type DriverOptions added in v1.5.0

type DriverOptions struct {
	NodeID                                 string
	DriverName                             string
	CloudConfigSecretName                  string
	CloudConfigSecretNamespace             string
	CustomUserAgent                        string
	UserAgentSuffix                        string
	AllowEmptyCloudConfig                  bool
	AllowInlineVolumeKeyAccessWithIdentity bool
	EnableVHDDiskFeature                   bool
	EnableGetVolumeStats                   bool
	AppendMountErrorHelpLink               bool
	MountPermissions                       uint64
	FSGroupChangePolicy                    string
	KubeAPIQPS                             float64
	KubeAPIBurst                           int
	EnableWindowsHostProcess               bool
	AppendClosetimeoOption                 bool
	AppendNoShareSockOption                bool
}

DriverOptions defines driver parameters specified in driver deployment

type VersionInfo

type VersionInfo struct {
	DriverName    string `json:"Driver Name"`
	DriverVersion string `json:"Driver Version"`
	GitCommit     string `json:"Git Commit"`
	BuildDate     string `json:"Build Date"`
	GoVersion     string `json:"Go Version"`
	Compiler      string `json:"Compiler"`
	Platform      string `json:"Platform"`
}

VersionInfo holds the version information of the driver

func GetVersion

func GetVersion(driverName string) VersionInfo

GetVersion returns the version information of the driver

type VolumeMounter added in v1.7.0

type VolumeMounter struct {
	// contains filtered or unexported fields
}

func (*VolumeMounter) CanMount added in v1.7.0

func (l *VolumeMounter) CanMount() error

func (*VolumeMounter) GetAttributes added in v1.7.0

func (l *VolumeMounter) GetAttributes() volume.Attributes

func (*VolumeMounter) GetMetrics added in v1.7.0

func (l *VolumeMounter) GetMetrics() (*volume.Metrics, error)

func (*VolumeMounter) GetPath added in v1.7.0

func (l *VolumeMounter) GetPath() string

func (*VolumeMounter) SetUp added in v1.7.0

func (l *VolumeMounter) SetUp(mounterArgs volume.MounterArgs) error

func (*VolumeMounter) SetUpAt added in v1.7.0

func (l *VolumeMounter) SetUpAt(dir string, mounterArgs volume.MounterArgs) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL