Help us shape the future of Go! Take the 2026 Go Developer Survey

blockstorage

package
v1.34.14 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DriverName is the default CSI driver name and can be overridden at build time
	// using `go build -ldflags "-X github.com/stackitcloud/cloud-provider-stackit/pkg/csi/blockstorage.DriverName=..."`.
	DriverName = "block-storage.csi.stackit.cloud"

	Version = "1.0.0"
)
View Source
var (
	ValidFSTypes = map[string]struct{}{
		util.FSTypeExt3:  {},
		util.FSTypeExt4:  {},
		util.FSTypeXfs:   {},
		util.FSTypeBtrfs: {},
	}
)

Functions

func NewControllerServer

func NewControllerServer(d *Driver, instance stackitclient.IaaSClient) *controllerServer

func NewIdentityServer

func NewIdentityServer(d *Driver) *identityServer

func NewNodeServer

func NewNodeServer(d *Driver, mountProvider mount.IMount, metadataProvider metadata.IMetadata, opts stackitconfig.BlockStorageOpts) *nodeServer

func ParseEndpoint

func ParseEndpoint(ep string) (proto, addr string, err error)

func RunServicesInitialized

func RunServicesInitialized(endpoint string, ids csi.IdentityServer, cs csi.ControllerServer, ns csi.NodeServer)

Types

type Driver

type Driver struct {
	csi.UnimplementedNodeServer
	// contains filtered or unexported fields
}

func NewDriver

func NewDriver(o *DriverOpts) *Driver

func (*Driver) AddControllerServiceCapabilities

func (d *Driver) AddControllerServiceCapabilities(cl []csi.ControllerServiceCapability_RPC_Type)

func (*Driver) AddNodeServiceCapabilities

func (d *Driver) AddNodeServiceCapabilities(nl []csi.NodeServiceCapability_RPC_Type) error

func (*Driver) AddVolumeCapabilityAccessModes

func (d *Driver) AddVolumeCapabilityAccessModes(vc []csi.VolumeCapability_AccessMode_Mode) []*csi.VolumeCapability_AccessMode

func (*Driver) Run

func (d *Driver) Run()

func (*Driver) SetupControllerService

func (d *Driver) SetupControllerService(instance stackitclient.IaaSClient)

func (*Driver) SetupNodeService

func (d *Driver) SetupNodeService(mountProvider mount.IMount, metadataProvider metadata.IMetadata, opts stackitconfig.BlockStorageOpts)

type DriverOpts

type DriverOpts struct {
	ClusterID                 string
	Endpoint                  string
	LegacyDriverName          bool
	BlockVolumeCreation       bool
	DeleteVolumesInErrorState bool

	PVCLister corev1.PersistentVolumeClaimLister
}

type NonBlockingGRPCServer

type NonBlockingGRPCServer interface {
	// Start services at the endpoint
	Start(endpoint string, ids csi.IdentityServer, cs csi.ControllerServer, ns csi.NodeServer)
	// Waits for the service to stop
	Wait()
	// Stops the service gracefully
	Stop()
	// Stops the service forcefully
	ForceStop()
}

NonBlockingGRPCServer defines Non blocking GRPC server interfaces

func NewNonBlockingGRPCServer

func NewNonBlockingGRPCServer() NonBlockingGRPCServer

Jump to

Keyboard shortcuts

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