Prerequisites

List of Prerequisites for Anonymization.

Ensure that all PPC prerequisites for AWS and PPC prerequisites for Azure are met.

Required Tools

ToolVersionNotes
OpenTofu>= 1.10.0Used to provision cloud resources
Helm>= 3.12Used to deploy the chart
kubectlanyRequired for validation; must be configured for the target cluster

AWS additionally requires:

ToolNotes
AWS CLIMust be configured with credentials that have EKS, IAM, and S3 permissions, and a default region set.

If there are any Permission denied errors when executing cloud CLI commands, refer to Appendix for required permissions per cloud.

Azure additionally requires:

ToolNotes
Azure CLIMust be logged in (az login) with permissions to create Managed Identities and Storage Accounts.

If there are any Permission denied errors when executing cloud CLI commands, refer to Appendix for required permissions per cloud.

Required cluster prerequisites

PrerequisiteDetails
Kubernetes >= 1.27EKS
StorageClassebs-sc (AWS) - verify: kubectl get storageclass
AWS — eks-pod-identity-agent addonDaemonSet running on each node
AWS — Karpenter >= 1.0Installed in karpenter namespace (if using node isolation)

StorageClass note: If your cluster uses different StorageClass names, override using --set database.persistence.storageClass=<name> during Helm install.

PrerequisiteDetails
Kubernetes >= 1.27AKS
StorageClassmanaged-csi-premium (Azure) - verify: kubectl get storageclass

StorageClass note: If your cluster uses different StorageClass names, override using --set database.persistence.storageClass=<name> during Helm install.

Configuration reference

Key values.yaml parameters

KeyDefaultDescription
cloudProvider""aws
database.auth.mlopsPassword""Required on first install
database.auth.jobstatePassword""Required on first install
database.auth.hostAuthMethodtrustPOSTGRES_HOST_AUTH_METHOD for PostgreSQL init
database.persistence.storageClass""Set per cloud: ebs-sc
database.persistence.size20GiPVC size
database.persistence.retentionPolicy.whenDeletedRetainKeep PVC on uninstall
karpenter.enabledtrueInject node affinity/tolerations for Karpenter nodes
anonapp.affinity{}Injected by OpenTofu when karpenter.enabled=true
anonapp.tolerations[]Injected by OpenTofu when karpenter.enabled=true
database.affinity{}Injected by OpenTofu when karpenter.enabled=true
database.tolerations[]Injected by OpenTofu when karpenter.enabled=true
dask.affinity{}Injected by OpenTofu when karpenter.enabled=true
dask.tolerations[]Injected by OpenTofu when karpenter.enabled=true
serviceaccount.nameanon-service-accountMust match Pod Identity association
KeyDefaultDescription
cloudProvider""azure
database.auth.mlopsPassword""Required on first install
database.auth.jobstatePassword""Required on first install
database.auth.hostAuthMethodtrustPOSTGRES_HOST_AUTH_METHOD for PostgreSQL init
database.persistence.storageClass""Set per cloud: managed-csi-premium
database.persistence.size20GiPVC size
database.persistence.retentionPolicy.whenDeletedRetainKeep PVC on uninstall
karpenter.enabledtrueInject node affinity/tolerations for Karpenter nodes
anonapp.affinity{}Injected by OpenTofu when karpenter.enabled=true
anonapp.tolerations[]Injected by OpenTofu when karpenter.enabled=true
database.affinity{}Injected by OpenTofu when karpenter.enabled=true
database.tolerations[]Injected by OpenTofu when karpenter.enabled=true
dask.affinity{}Injected by OpenTofu when karpenter.enabled=true
dask.tolerations[]Injected by OpenTofu when karpenter.enabled=true
serviceaccount.nameanon-service-accountMust match Pod Identity association

Appendix: Required cloud permissions

Required AWS permissions

If you encounter an AccessDenied error during installation, request the following permissions for your IAM user or role.

IAM
PermissionPurpose
iam:CreatePolicy / iam:DeletePolicy / iam:GetPolicyCreate and manage the S3 access policy
iam:CreateRole / iam:DeleteRole / iam:GetRoleCreate and manage the Pod Identity IAM role
iam:AttachRolePolicy / iam:DetachRolePolicyAttach the S3 policy to the role
EKS
PermissionPurpose
eks:DescribeClusterRead cluster details
eks:DescribeAddonVerify eks-pod-identity-agent is installed
eks:CreatePodIdentityAssociation / eks:DeletePodIdentityAssociation / eks:DescribePodIdentityAssociationAssociate the IAM role with the ServiceAccount
S3
PermissionPurpose
s3:CreateBucket / s3:DeleteBucketCreate and manage the models bucket
s3:PutBucketPolicy / s3:GetBucketPolicyApply bucket policy
s3:PutObject / s3:GetObject / s3:DeleteObjectRead/write model files

Required Azure permissions

If you encounter an AuthorizationFailed error during installation, request the following permissions.

PermissionPurpose
Microsoft.ManagedIdentity/userAssignedIdentities/writeCreate the Managed Identity
Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/writeCreate the Federated Identity Credential for Workload Identity
Microsoft.Storage/storageAccounts/writeCreate the Storage Account
Microsoft.Storage/storageAccounts/blobServices/containers/writeCreate the blob container for models
Microsoft.Authorization/roleAssignments/writeAssign Storage Blob Data Contributor role
Last modified : October 29, 2026