Skip to main content
Version: 1.1.2

BlockStorage

PropertyValue
KindBlockStorage
API Group/Versionarubacloud.com/v1alpha1
CRD Nameblockstorages.arubacloud.com
ScopeNamespaced
Short Namesbs, arubs

Description

A BlockStorage represents a block storage volume in Aruba Cloud. Volumes are attached to CloudServers either as the boot disk (which contains the operating system image) or as additional data disks. A CloudServer must have exactly one bootable BlockStorage referenced via spec.bootVolumeReference, and may optionally have additional data volumes via spec.dataVolumeReferences.

Spec Fields

FieldTypeRequiredDefaultValidationDescription
tenantstringNoAruba Cloud tenant identifier. Must match the owning Project's tenant.
regionstringYesITBG-BergamoAruba Cloud region
zonestringYesITBG-1Availability zone within the region. Must match the CloudServer's zone.
sizeGBint32Yes20Min: 1, Max: 16384Volume size in gigabytes
billingPeriodstringYesHourEnum: Hour, MonthBilling cycle for the volume
typestringNoEnum: Standard, PerformanceStorage tier. Performance uses SSDs; Standard uses HDDs.
bootableboolNoSet to true if this volume will be used as a CloudServer boot disk
imagestringNoOperating system image ID (e.g., LU20-001). Required when bootable: true.
tags[]stringNoLabels propagated to the Aruba Cloud resource
projectReferenceResourceReferenceYesReference to the owning Project
note

When creating a bootable volume, you must set bootable: true and provide a valid image ID. The image ID identifies the OS template to install (e.g., Ubuntu, Debian). Contact Aruba Cloud support or refer to your account's available images for valid image IDs.

Status Fields

FieldTypeDescription
phasestringCurrent lifecycle phase
resourceIDstringAruba Cloud BlockStorage ID, set after creation
messagestringHuman-readable status message
observedGenerationint64Last .metadata.generation processed
phaseStartTimetimestampWhen the current phase began
conditions[]ConditionStandard Kubernetes conditions
projectIDstringResolved Aruba Cloud project ID

References

Owned by: Project

Referenced by:

  • CloudServer — via spec.bootVolumeReference (boot disk) or spec.dataVolumeReferences (data disk)

Lifecycle

  • Creation ordering: The Project must be Active.
  • Zone consistency: The BlockStorage's zone must match the CloudServer's zone. The operator validates this before provisioning the CloudServer.
  • Deletion behaviour: BlockStorages have no children. Delete the CloudServer that uses this volume before deleting it.
  • Update behaviour: sizeGB can typically be increased (resizing down is not supported). type, image, and bootable are effectively immutable after creation.

Examples

Bootable volume (OS disk)

apiVersion: arubacloud.com/v1alpha1
kind: BlockStorage
metadata:
name: web-server-boot
namespace: default
spec:
tenant: ARU-123456
region: ITBG-Bergamo
zone: ITBG-1
sizeGB: 40
billingPeriod: Hour
type: Performance
bootable: true
image: "LU20-001"
projectReference:
name: my-project
namespace: default
tags:
- boot-disk

Data volume (additional disk)

apiVersion: arubacloud.com/v1alpha1
kind: BlockStorage
metadata:
name: web-server-data
namespace: default
spec:
tenant: ARU-123456
region: ITBG-Bergamo
zone: ITBG-1
sizeGB: 200
billingPeriod: Month
type: Standard
bootable: false
projectReference:
name: my-project
namespace: default
tags:
- data-disk

kubectl Quick Reference

# List all block storage volumes
kubectl get bs -n default

# Describe a volume
kubectl describe arubs web-server-boot -n default