# Functions

GetNodeName gets the Node name from BlockDevice.
NewCleaner creates a new cleaner which can be used for cleaning BD, and checking status of the job.
NewCleanupJob creates a new cleanup job in the namespace.
NewJobController returns a job controller struct which can be used to get the status of the running job.

# Constants

BDLabel is the label set on the job for identification of the BD.
BlockCleanerCommand is the command used to clean raw block.
CleanupStateNotFound defines the state when a job does not exist.
CleanupStateRunning represents a running cleanup job.
CleanupStateSucceeded represents that the cleanup job has been completed successfully.
CleanupStateUnknown represents an unknown state of the cleanup job.
EnvCleanUpJobImage is the environment variable for getting the job container image.
JobContainerName is the name of the cleanup job container.
JobNamePrefix is the prefix for the cleanup job name.
ServiceAccountName is the service account in which the operator pod is running.
VolumeModeBlock defines a raw block volume mode which means the block device should be treated as raw block device.
VolumeModeFileSystem defines that the blockdevice should be treated as a block formatted with filesystem and is mounted.

# Structs

Cleaner handles BD cleanup For filesystem/mount based block devices, it deletes the contents of the directory For raw block devices, a `wipefs` command will be issued.
CleanupStatusTracker is used to track the cleanup state using info provided by JobController.

# Interfaces

JobController defines the interface for the job controller.

# Type aliases

CleanupState represents the current state of the cleanup job.
VolumeMode defines the volume mode of the BlockDevice.