arubacloud-resource-operator

module
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2026 License: Apache-2.0

README

Arubacloud Resource Operator

GitHub release Tests Release

Overview

The Arubacloud Resource Operator is a Kubernetes operator that enables declarative management of Aruba Cloud resources through Kubernetes Custom Resources. This operator allows you to provision and manage Aruba Cloud infrastructure using familiar Kubernetes tools and workflows.

Installation

Requirements: Kubernetes v1.21+, Helm v3, an Aruba Cloud account with API credentials.

Install the Chart

Add the arubacloud Helm repository (if not already added):

helm repo add arubacloud https://arubacloud.github.io/helm-charts/
helm repo update

The CRDs are installed automatically as a chart dependency (crds.enabled=true, the default). To manage them yourself, install with --set crds.enabled=false and install the arubacloud-resource-operator-crd chart separately.

Single-Tenant Installation (Default)

For single-tenant deployments with direct OAuth credentials:

helm install arubacloud-operator arubacloud/arubacloud-resource-operator \
  --namespace aruba-system \
  --create-namespace \
  --set config.auth.mode=single \
  --set config.auth.single.clientId=<your-client-id> \
  --set config.auth.single.clientSecret=<your-client-secret>
Multi-Tenant Installation (Vault-based)

Multi-tenant deployments read per-tenant credentials from HashiCorp Vault via AppRole. config.auth.multi.setup selects how Vault is provisioned: manual (your own Vault, requires vault.enabled=false) or auto (the chart installs Vault in dev mode — development/demo only, requires vault.enabled=true).

helm install arubacloud-operator arubacloud/arubacloud-resource-operator \
  --namespace aruba-system \
  --create-namespace \
  --set config.auth.mode=multi \
  --set config.auth.multi.setup=manual \
  --set vault.enabled=false \
  --set config.auth.multi.vault.address=<vault-address> \
  --set config.auth.multi.vault.kvMount=<vault-kv-mount> \
  --set config.auth.multi.vault.rolePath=<vault-role-path> \
  --set config.auth.multi.vault.roleId=<vault-role-id> \
  --set config.auth.multi.vault.roleSecret=<vault-role-secret>

For all values, Vault AppRole setup, and troubleshooting, see the installation guide or the Helm chart documentation.

Verify Installation

Check if the operator is running:

kubectl get pods -n aruba-system

Check if CRDs are installed:

kubectl get crd | grep arubacloud.com
Uninstall

To uninstall the operator:

helm uninstall arubacloud-operator -n aruba-system

Usage

Sample resource definitions can be found in the config/samples directory. These examples demonstrate how to create and manage Aruba Cloud resources through Kubernetes manifests.

To apply a sample:

kubectl apply -f config/samples/arubacloud.com_v1alpha1_cloudserver.yaml

Documentation

Project documentation (EN/IT) is published via GitHub Pages and built from docs/website/.

  • Local docs: docs/README.md

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

NOTE: Run make help for more information on all potential make targets.

More information can be found via the Kubebuilder Documentation

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the arubacloud.com v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the arubacloud.com v1alpha1 API group.
internal
test

Jump to

Keyboard shortcuts

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