Aruba Components
Reference for every Aruba Cloud offer in the Fractal Cloud catalogue. Parameters and their required flags are sourced from the agent param contract (FRA-2955); each offer includes a fully-parameterized JSON example.
BigData
BigData.PaaS.SparkPlatform
A Fractal-managed Spark platform that satisfies the abstract distributed-data-processing blueprint by installing the kubeflow spark-operator Helm release onto the first Aruba KaaS cluster discovered in the LiveSystem. Aruba has no native managed Spark, so this offer runs the operator on Kubernetes.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace where the Spark Operator is installed | spark-operator | No |
| webhookEnabled | Enable the Spark Operator's mutating/validating webhook | true | No |
Example (fully parameterized):
{
"type": "BigData.PaaS.SparkPlatform",
"parameters": {
"namespace": "spark-operator",
"webhookEnabled": true
}
}
BigData.PaaS.SparkPlatformCluster
Registers a Spark cluster spec (driver/executor sizing and base image) that downstream Spark jobs consume when they materialize a SparkApplication CR. The cluster itself does not create a long-running Kubernetes resource — the spec is purely metadata for jobs.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| driverCores | CPU cores for the Spark driver pod | 1 | No |
| driverMemory | Memory for the Spark driver pod | 1g | No |
| executorCores | CPU cores per executor pod | 1 | No |
| executorMemory | Memory per executor pod | 1g | No |
| executorInstances | Number of executor pods | 2 | No |
| image | Container image URI for Spark pods | apache/spark:3.5.0 | No |
| namespace | Kubernetes namespace where Spark jobs run | spark | No |
Example (fully parameterized):
{
"type": "BigData.PaaS.SparkPlatformCluster",
"parameters": {
"driverCores": "1",
"driverMemory": "1g",
"executorCores": "1",
"executorMemory": "1g",
"executorInstances": 2,
"image": "apache/spark:3.5.0",
"namespace": "spark"
}
}
BigData.PaaS.SparkPlatformJob
Applies a ScheduledSparkApplication (when a cron schedule is set) or a one-shot SparkApplication CR to the Spark platform. Inherits driver/executor sizing from the linked Spark cluster spec; supports a JAR/Scala path and a Python wheel path (the agent wraps the wheel into an OCI image via kaniko when artifactUri is supplied).
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace for the Spark application | spark | No |
| schedule | Cron expression for periodic execution; blank runs the job once | 0 0 * * * | No |
| jarUri | URI to the application JAR (Scala/Java path) | local:///opt/spark/examples/jars/app.jar | No |
| mainClass | Fully qualified main class for the JAR path | org.apache.spark.examples.SparkPi | No |
| image | Container image URI for the Spark application | apache/spark:3.5.0 | No |
Example (fully parameterized):
{
"type": "BigData.PaaS.SparkPlatformJob",
"parameters": {
"namespace": "spark",
"schedule": "",
"jarUri": "",
"mainClass": "",
"image": "apache/spark:3.5.0"
}
}
BigData.PaaS.SparkPlatformMlExperiment
A Fractal-managed MLflow tracking service that satisfies the abstract ML-experiment blueprint by installing the mlflow Helm release onto the KaaS cluster. When a MinIO datalake is in the dependency chain, the agent automatically wires its S3 endpoint and admin credentials into MLflow for artifact storage.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace where MLflow is installed | mlflow | No |
| trackingUri | MLflow tracking URI; defaults to the in-cluster service URL | http://mlflow.mlflow.svc.cluster.local:5000 | No |
| artifactRoot | Default artifact root for the MLflow server | s3://datalake/mlflow | No |
Example (fully parameterized):
{
"type": "BigData.PaaS.SparkPlatformMlExperiment",
"parameters": {
"namespace": "mlflow",
"trackingUri": "",
"artifactRoot": ""
}
}
Messaging
Messaging.PaaS.ManagedKafka
A Fractal-managed Kafka broker that satisfies the abstract messaging-broker blueprint. Aruba has no native managed Kafka, so the agent installs the strimzi-kafka-operator (one per cluster) and applies a Kafka + KafkaNodePool CR pair in KRaft mode (single broker) onto the KaaS cluster.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace for the Kafka cluster | kafka | No |
| clusterName | Name of the Strimzi Kafka cluster; defaults to a sanitized component ID | events-broker | No |
Example (fully parameterized):
{
"type": "Messaging.PaaS.ManagedKafka",
"parameters": {
"namespace": "kafka",
"clusterName": ""
}
}
Messaging.PaaS.ManagedKafkaTopic
A Strimzi KafkaTopic CR scoped to the linked managed Kafka cluster. The topic name is derived from the component ID; retention defaults to 7 days.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace; defaults to the linked cluster's namespace | kafka | No |
| partitions | Number of topic partitions | 1 | No |
| replicas | Topic replication factor | 1 | No |
Example (fully parameterized):
{
"type": "Messaging.PaaS.ManagedKafkaTopic",
"parameters": {
"namespace": "kafka",
"partitions": 1,
"replicas": 1
}
}
NetworkAndCompute
NetworkAndCompute.IaaS.ArubaCloudServer
An Aruba Cloud Server (virtual machine) provisioned into a subnet of a managed VPC. Boots from the configured boot volume and flavor, optionally injects user data, and attaches a linked SSH key pair when present.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| flavorName | Aruba Cloud Server flavor (size) | CSO2A4 | No |
| bootVolume | URI of the boot volume image for the server | /.../images/ubuntu-22.04 | No |
| userData | Cloud-init user data script | #!/bin/bash\necho hello | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaCloudServer",
"parameters": {
"flavorName": "CSO2A4",
"bootVolume": "",
"userData": ""
}
}
NetworkAndCompute.IaaS.ArubaElasticIp
An Aruba Elastic IP — a static public IP address that can be associated with a Cloud Server. Provisioned in the configured region.
No configurable parameters.
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaElasticIp",
"parameters": {}
}
NetworkAndCompute.IaaS.ArubaSecurityGroup
An Aruba security group within a managed VPC. Framework-managed (tagged fractal-managed=true); traffic rules are derived from component links rather than configured directly.
No configurable parameters.
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaSecurityGroup",
"parameters": {}
}
NetworkAndCompute.IaaS.ArubaSshKeyPair
An Aruba SSH key pair used for Cloud Server access. Idempotent and reusable across servers. If a public key is supplied it is registered as-is; otherwise Aruba generates the key material.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| keyName | Name of the SSH key pair | prod-keypair | No |
| publicKey | OpenSSH-format public key to register | ssh-ed25519 AAAA... | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaSshKeyPair",
"parameters": {
"keyName": "",
"publicKey": ""
}
}
NetworkAndCompute.IaaS.ArubaSubnet
An Aruba subnet within a managed VPC for network segmentation. Provisioned one per availability zone. The CIDR block is typically allocated by the Fractal IPAM allocator.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| cidrBlock | CIDR block for the subnet | 10.0.1.0/24 | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaSubnet",
"parameters": {
"cidrBlock": "10.0.1.0/24"
}
}
NetworkAndCompute.IaaS.ArubaVpc
An Aruba Virtual Private Cloud providing network isolation. The foundation for subnets, security groups, Cloud Servers, and peerings. The CIDR block is typically allocated by the Fractal IPAM allocator.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| name | VPC name | prod-vpc | No |
| location | Aruba region the VPC is created in | ITBG-Bergamo | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaVpc",
"parameters": {
"name": "prod-vpc",
"location": "ITBG-Bergamo"
}
}
NetworkAndCompute.IaaS.ArubaVpcPeering
A non-transitive VPC peering connection from a managed VPC to a remote VPC. Used to build the hub-and-spoke topology (spokes peer directly to the hub).
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| peerVpcId | ID of the remote VPC to peer with | vpc-0a1b2c3d | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaVpcPeering",
"parameters": {
"peerVpcId": "vpc-0a1b2c3d"
}
}
NetworkAndCompute.IaaS.ArubaVpnTunnel
A site-to-site IPsec VPN tunnel anchored on a managed VPC, used to connect the Aruba network to an external peer endpoint.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| peerPublicIp | Public IP address of the remote VPN peer | 203.0.113.10 | No |
| presharedKey | Pre-shared key for the IPsec tunnel | super-secret-psk | No |
| subnetCidr | Remote subnet CIDR reachable through the tunnel | 192.168.0.0/16 | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.IaaS.ArubaVpnTunnel",
"parameters": {
"peerPublicIp": "203.0.113.10",
"presharedKey": "super-secret-psk",
"subnetCidr": "192.168.0.0/16"
}
}
NetworkAndCompute.PaaS.ArubaContainerRegistry
An Aruba managed container registry. Deferred to v2 — the SDK model currently exposes no endpoint/hostname field, so this offer is not yet wired into the image-prefixing flow.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| size | Registry plan size | Small | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.PaaS.ArubaContainerRegistry",
"parameters": {
"size": "Small"
}
}
NetworkAndCompute.PaaS.Kubernetes
Aruba Managed Kubernetes (KaaS) — an HA control plane spread across three Bergamo availability zones. This is the substrate the Fractal-managed PaaS-on-KaaS offers (Spark, Kafka, MinIO datalake, MLflow) deploy onto. When a VPC/subnet is in the dependency chain the cluster is placed inside them; otherwise a preset cluster is created. The agent downloads the kubeconfig and stores it in Vault.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| kubernetesVersion | Kubernetes version for the cluster | 1.29 | No |
| ha | Provision a highly-available control plane | true | No |
| nodePoolFlavor | Aruba flavor for the default node pool; defaults to K2A4 | K2A4 | No |
| nodePoolCount | Number of nodes in the default node pool | 3 | No |
Example (fully parameterized):
{
"type": "NetworkAndCompute.PaaS.Kubernetes",
"parameters": {
"kubernetesVersion": "1.29",
"ha": true,
"nodePoolFlavor": "K2A4",
"nodePoolCount": 3
}
}
Storage
Storage.IaaS.ArubaBlockStorage
An Aruba block storage volume that can be attached to a Cloud Server. Deferred to v2. Sized in gigabytes with a selectable performance tier.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| sizeGb | Volume size in gigabytes | 100 | No |
| type | Block storage performance tier | Standard | No |
Example (fully parameterized):
{
"type": "Storage.IaaS.ArubaBlockStorage",
"parameters": {
"sizeGb": 100,
"type": "Standard"
}
}
Storage.PaaS.ArubaMsSqlDbms
An Aruba managed Microsoft SQL Server DBaaS instance (engine mssql-2022-web). Provisioned with 20 GB storage on the configured flavor; attaches to a VPC/subnet/security group when those peers are present.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| flavorName | Aruba DBaaS flavor (size); defaults to DBO1A2 | DBO1A2 | No |
Example (fully parameterized):
{
"type": "Storage.PaaS.ArubaMsSqlDbms",
"parameters": {
"flavorName": "DBO1A2"
}
}
Storage.PaaS.ArubaMySqlDbms
An Aruba managed MySQL DBaaS instance (engine mysql-8.0). Provisioned with 20 GB storage on the configured flavor; attaches to a VPC/subnet/security group when those peers are present.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| flavorName | Aruba DBaaS flavor (size); defaults to DBO1A2 | DBO1A2 | No |
Example (fully parameterized):
{
"type": "Storage.PaaS.ArubaMySqlDbms",
"parameters": {
"flavorName": "DBO1A2"
}
}
Storage.PaaS.ManagedDatalake
A Fractal-managed MinIO datalake that satisfies the abstract Datalake / FilesAndBlobs blueprints. The agent installs the minio-operator (one per cluster) plus a per-component MinIO Tenant exposing an S3-compatible endpoint on the KaaS cluster. The admin secret is auto-generated and persisted across reconcile cycles.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| namespace | Kubernetes namespace for the MinIO tenant | minio | No |
| tenantName | Name of the MinIO tenant; defaults to a sanitized component ID | datalake-tenant | No |
| bucketName | Initial bucket to create; defaults to datalake | datalake | No |
| servers | Number of MinIO servers in the tenant | 4 | No |
| volumesPerServer | Number of storage volumes per server | 4 | No |
| volumeSize | Storage volume size per server (Kubernetes resource quantity) | 10Gi | No |
| storageClass | Kubernetes storage class for persistent volumes | empty string (cluster default) | No |
| requestAutoCert | Auto-generate self-signed TLS certificates for the tenant | false | No |
Example (fully parameterized):
{
"type": "Storage.PaaS.ManagedDatalake",
"parameters": {
"namespace": "minio",
"tenantName": "",
"bucketName": "datalake",
"servers": 4,
"volumesPerServer": 4,
"volumeSize": "10Gi",
"storageClass": "",
"requestAutoCert": false
}
}
Storage.PaaS.ArubaObjectStorageAccount
An Aruba S3-compatible Object Storage account. Stubbed (NotImplemented) — the offer is registered in the catalogue but disabled pending confirmation of the Aruba legacy provisioning endpoint. The canonical data-lake offer for Aruba is Storage.PaaS.ManagedDatalake (MinIO on KaaS). The legacy Object Storage API has no resource-tag support, so Fractal ownership semantics cannot be enforced on it.
| Parameter | Description | Example / possible values | Required |
|---|---|---|---|
| accountName | Object Storage account name; defaults to a sanitized component ID | fct-datastore | No |
| password | Account password (min 9 chars, upper + lower + digit) | Sup3rSecret! | Yes |
| regionCode | Object Storage region code | it | No |
Example (fully parameterized):
{
"type": "Storage.PaaS.ArubaObjectStorageAccount",
"parameters": {
"accountName": "",
"password": "Sup3rSecret1",
"regionCode": "it"
}
}