DuoKey on a public cloud
The reference architecture runs on OpenShift and virtual machines. Every part of it has a managed equivalent on the major clouds, so the same DuoKey images and Helm charts run on managed Kubernetes, next to a managed PostgreSQL database and the cloud's secret store. Key custody stays out of the cloud provider's hands: the Software Vault is built in, and the DuoKey MPC KMS or a Securosys HSM can hold customer keys in separate trust domains.
- Azure: AKS, Application Gateway WAF, PostgreSQL Flexible Server, Key Vault.
- AWS: EKS, ALB with AWS WAF, RDS for PostgreSQL, Secrets Manager.
- Google Cloud: GKE, Cloud Load Balancing, Cloud SQL for PostgreSQL, Secret Manager.
Component mapping
| Component | On-premise reference | Azure | AWS | Google Cloud |
|---|---|---|---|---|
| Cockpit frontend and API | OpenShift pods | AKS private cluster, 3 zones | EKS private cluster, 3 AZ | GKE private cluster |
| HTTPS ingress | OpenShift Ingress Router | Application Gateway WAF v2 | ALB with AWS WAF | Cloud Load Balancing to Traefik |
| KMIP, TCP 5696 | TCP route | Load Balancer | Network Load Balancer | TCP load balancer service |
| Database (required) | PostgreSQL cluster | PostgreSQL Flexible Server, zone-redundant HA | RDS for PostgreSQL, Multi-AZ | Cloud SQL for PostgreSQL, private IP |
| Shared cache (optional) | Redis | Azure Managed Redis | ElastiCache (Redis) | Memorystore (Redis) |
| Platform secrets | OpenBao, read by External Secrets | Key Vault Premium, or OpenBao on AKS | Secrets Manager, or OpenBao on EKS | Secret Manager, or OpenBao on GKE |
| Container images | Harbor | Container Registry Premium | Amazon ECR | Harbor or Artifact Registry |
| GitOps | OpenShift GitOps (Argo CD) | Argo CD | Argo CD | Argo CD |
| Observability | VictoriaMetrics, VictoriaLogs | Azure Monitor, Log Analytics, Microsoft Sentinel | CloudWatch | Cloud Monitoring, or VictoriaMetrics |
| Backup | Velero, object storage | Azure Backup, PostgreSQL point-in-time restore, immutable Blob | AWS Backup, RDS point-in-time restore, S3 | Velero to Cloud Storage, Cloud SQL point-in-time restore |
| Customer key custody | Software Vault, DuoKey MPC KMS, Securosys HSM | Same options, never the cloud KMS | Same options, never the cloud KMS | Same options, never the cloud KMS |
PostgreSQL is the only dependency the Cockpit cannot run without. Without Redis, each replica keeps its own cache and rate-limit counters; add the managed Redis when you run several replicas. The cloud KMS encrypts the platform's disks, database and backups at rest; it does not hold customer root keys.
Deploy and configure as code
DuoKey provides Terraform scripts and Helm charts for the infrastructure and the Cockpit, and a Terraform provider, duokey/duokey, for what lives inside the Cockpit: editions, tenants and their administrators, tenant settings, vaults, keys, certificate authorities, issuers, identity providers, access policies, webhooks and SIEM destinations.
Pipeline
Deploy and configure DuoKey as code
The pipeline holds no secret of its own: it reads the automation account's password and TOTP secret at run time from two separate stores, so compromising one store does not give the account. New tenant administrators choose their own password and enrol their own authenticator.
The provider signs in with a dedicated automation account protected by two-factor authentication. Tenant-level resources can also use a tenant's machine API key. Ask DuoKey for the provider build and the scripts for your cloud.