Skip to main content
Version: 1.1.2

SecurityGroup

PropertyValue
KindSecurityGroup
API Group/Versionarubacloud.com/v1alpha1
CRD Namesecuritygroups.arubacloud.com
ScopeNamespaced
Short Namessg, arusg

Description

A SecurityGroup is a named firewall policy within a VPC. It acts as a container for SecurityRules, which define which network traffic is allowed in (ingress) or out (egress) of CloudServers that reference this group. A CloudServer can reference multiple SecurityGroups, and each SecurityGroup can contain multiple SecurityRules.

Spec Fields

FieldTypeRequiredDefaultValidationDescription
tenantstringNoAruba Cloud tenant identifier. Must match the owning VPC's tenant.
regionstringYesITBG-BergamoAruba Cloud region. Must match the parent VPC's region.
tags[]stringNoLabels propagated to the Aruba Cloud resource
vpcReferenceResourceReferenceYesReference to the owning VPC
projectReferenceResourceReferenceYesReference to the owning Project

Status Fields

FieldTypeDescription
phasestringCurrent lifecycle phase
resourceIDstringAruba Cloud SecurityGroup 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
vpcIDstringResolved Aruba Cloud VPC ID

References

Owned by: VPC (and Project)

Parent of:

Referenced by:

  • CloudServer — via spec.securityGroupReferences (one or more SecurityGroups can be attached)

Lifecycle

  • Creation ordering: Both the VPC and Project must be Active before the SecurityGroup can be created.
  • Deletion behaviour: The operator blocks SecurityGroup deletion while any SecurityRule belonging to it still exists. Delete the SecurityRules first, or delete the SecurityGroup and let the operator cascade-delete them.
  • Update behaviour: tags can be updated. region and the parent references are effectively immutable.
  • Tenant and region validation: The operator validates that spec.tenant and spec.region match the parent VPC. Mismatches cause Failed+IntentionValidationFailed.

Example

apiVersion: arubacloud.com/v1alpha1
kind: SecurityGroup
metadata:
name: web-sg
namespace: default
spec:
tenant: ARU-123456
region: ITBG-Bergamo
vpcReference:
name: web-vpc
namespace: default
projectReference:
name: my-project
namespace: default
tags:
- production
- web

kubectl Quick Reference

# List all security groups
kubectl get sg -n default

# Describe a security group and view its rules
kubectl describe arusg web-sg -n default