Documentation ¶
Index ¶
Constants ¶
View Source
const ( OptionFSType = "kubernetes.io/fsType" OptionReadWrite = "kubernetes.io/readwrite" OptionKeySecret = "kubernetes.io/secret" OptionFSGroup = "kubernetes.io/fsGroup" OptionMountsDir = "kubernetes.io/mountsDir" OptionKeyPodName = "kubernetes.io/pod.name" OptionKeyPodNamespace = "kubernetes.io/pod.namespace" OptionKeyPodUID = "kubernetes.io/pod.uid" OptionKeyServiceAccountName = "kubernetes.io/serviceAccount.name" )
Option keys
Variables ¶
This section is empty.
Functions ¶
func ExecDriver ¶
func ExecDriver(logger *zap.SugaredLogger, driver Driver, args []string)
ExecDriver executes the appropriate FlexvolumeDriver command based on recieved call-out.
func ExitWithResult ¶
func ExitWithResult(logger *zap.SugaredLogger, result DriverStatus)
ExitWithResult outputs the given Result and exits with the appropriate exit code.
Types ¶
type Driver ¶
type Driver interface { Init(logger *zap.SugaredLogger) DriverStatus Attach(logger *zap.SugaredLogger, opts Options, nodeName string) DriverStatus Detach(logger *zap.SugaredLogger, mountDevice, nodeName string) DriverStatus WaitForAttach(mountDevice string, opts Options) DriverStatus IsAttached(logger *zap.SugaredLogger, opts Options, nodeName string) DriverStatus MountDevice(logger *zap.SugaredLogger, mountDir, mountDevice string, opts Options) DriverStatus UnmountDevice(logger *zap.SugaredLogger, mountDevice string) DriverStatus Mount(logger *zap.SugaredLogger, mountDir string, opts Options) DriverStatus Unmount(logger *zap.SugaredLogger, mountDir string) DriverStatus }
Driver is the main Flexvolume interface.
type DriverStatus ¶
type DriverStatus struct { // Status of the callout. One of "Success", "Failure" or "Not supported". Status Status `json:"status"` // Reason for success/failure. Message string `json:"message,omitempty"` // Path to the device attached. This field is valid only for attach calls. // e.g: /dev/sdx Device string `json:"device,omitempty"` // Represents volume is attached on the node. Attached bool `json:"attached,omitempty"` }
DriverStatus of a Flexvolume driver call.
func Fail ¶
func Fail(logger *zap.SugaredLogger, a ...interface{}) DriverStatus
Fail creates a StatusFailure Result with a given message.
func NotSupported ¶
func NotSupported(logger *zap.SugaredLogger, a ...interface{}) DriverStatus
NotSupported creates a StatusNotSupported Result with a given message.
func Succeed ¶
func Succeed(logger *zap.SugaredLogger, a ...interface{}) DriverStatus
Succeed creates a StatusSuccess Result with a given message.
type Options ¶
Options is the map (passed as JSON) to some Flexvolume calls.
func DecodeKubeSecrets ¶
DecodeKubeSecrets takes the options passed to the driver and decodes any secrets.
type Status ¶
type Status string
Status denotes the state of a Flexvolume call.
const ( // StatusSuccess indicates that the driver call has succeeded. StatusSuccess Status = "Success" // StatusFailure indicates that the driver call has failed. StatusFailure Status = "Failure" // StatusNotSupported indicates that the driver call is not supported. StatusNotSupported Status = "Not supported" )
Click to show internal directories.
Click to hide internal directories.