Federal Edition FIPS compliance for Aerospike on Kubernetes
Aerospike Federal Edition provides FIPS 140-2 validated cryptographic modules for organizations that require compliance with federal security standards. Aerospike Kubernetes Operator (AKO) supports deploying and managing Federal Edition clusters with PKI-based authentication.
Prerequisites
Before deploying a Federal Edition cluster:
- TLS certificates: Prepare TLS certificates for cluster communication and PKI authentication.
- Admin certificates: Generate admin certificates with the Common Name (CN) matching the admin username for PKI-based authentication.
Key differences from Aerospike Enterprise Edition
Federal Edition clusters have the following requirements:
| Feature | Enterprise Edition | Federal Edition |
|---|---|---|
| Server image | aerospike/aerospike-server-enterprise | aerospike/aerospike-server-federal |
| Authentication | Password or PKI-based | PKI-based only (authMode: PKIOnly) |
| TLS | Optional | Required (mTLS) |
| Operator authentication | Password-based | Certificate-based (operatorClientCert) |
PKI-Only authentication
Federal Edition requires PKI-based authentication.
When configuring users:
- Set
authMode: PKIOnlyfor all users - The
secretNamefield is not required since password authentication is disabled - The certificate’s Common Name (CN) must match the username
aerospikeAccessControl: users: - name: admin authMode: PKIOnly roles: - sys-admin - user-adminClient certificates
For Federal Edition clusters, AKO must authenticate using client certificates instead of passwords.
Configure the operatorClientCert section of the CR:
operatorClientCert: secretCertSource: secretName: aerospike-secret caCertsFilename: cacert.pem clientCertFilename: admin_chain.pem #admin user cert (CN must match admin username) clientKeyFilename: admin_key.pem #admin user private keyThe client certificate’s Common Name (CN) must match the admin username configured in aerospikeAccessControl.
Deploy a Federal Edition cluster
-
Create TLS secrets.
Create a Kubernetes secret containing all the required certificates for mTLS and admin user authentication. The example secrets directory on GitHub includes a collection of example TLS certificates and security credentials. Download these files into a local folder called
secrets.Terminal window kubectl -n aerospike create secret generic aerospike-secret --from-file=config/samples/secrets -
Create the cluster CR.
Create a Federal Edition cluster using the following example CR:
apiVersion: asdb.aerospike.com/v1kind: AerospikeClustermetadata:name: aeroclusternamespace: aerospikespec:size: 2image: aerospike/aerospike-server-federal:8.1.0.0storage:filesystemVolumePolicy:cascadeDelete: trueinitMethod: deleteFilesvolumes:- name: workdiraerospike:path: /opt/aerospikesource:persistentVolume:storageClass: ssdvolumeMode: Filesystemsize: 1Gi- name: nsaerospike:path: /test/dev/xvdfsource:persistentVolume:storageClass: ssdvolumeMode: Blocksize: 3Gi- name: aerospike-config-secretsource:secret:secretName: aerospike-secretaerospike:path: /etc/aerospike/secretpodSpec:multiPodPerHost: true# PKI-based authentication for admin useraerospikeAccessControl:users:- name: adminauthMode: PKIOnlyroles:- sys-admin- user-admin# Operator client certificates for PKI authenticationoperatorClientCert:secretCertSource:secretName: aerospike-secretcaCertsFilename: cacert.pemclientCertFilename: admin_chain.pem #admin user cert (CN must match admin username)clientKeyFilename: admin_key.pem #admin user private keyaerospikeConfig:service:feature-key-file: /etc/aerospike/secret/features.confsecurity: {}network:service:tls-name: aerospike-a-0.test-runnertls-authenticate-client: anytls-port: 4333heartbeat:tls-name: aerospike-a-0.test-runnertls-port: 3012fabric:tls-name: aerospike-a-0.test-runnertls-port: 3011tls:- name: aerospike-a-0.test-runnercert-file: /etc/aerospike/secret/svc_cluster_chain.pemkey-file: /etc/aerospike/secret/svc_key.pemca-file: /etc/aerospike/secret/cacert.pemnamespaces:- name: testreplication-factor: 2storage-engine:type: devicedevices:- /test/dev/xvdf -
Apply the CR.
Terminal window kubectl apply -f aerospike-federal-cluster.yaml
Related documentation
- Access control - Configure users, roles, and authentication modes
- Manage TLS certificates - TLS configuration for Aerospike clusters
- Configuration reference - Complete CR configuration options