Abstract Types
Kyku uses abstract types so your config works across providers without modification. Each provider maps abstract values to their cloud-native equivalents.
Instance Types
Section titled “Instance Types”These are the portable sizes. micro–xlarge stay on the original burst/shared families. 2xlarge and up step onto larger general-purpose machines.
| Abstract | ~vCPU / RAM | AWS | GCP | Hetzner | DO |
|---|---|---|---|---|---|
micro |
1 / 1 GB | t3.micro |
e2-micro |
cax11 |
s-1vcpu-1gb |
small |
2 / 2 GB | t3.small |
e2-small |
cax21 |
s-1vcpu-2gb |
medium |
2 / 4 GB | t3.medium |
e2-medium |
cax31 |
s-2vcpu-4gb |
large |
2 / 8 GB | t3.large |
e2-standard-4 |
cax41 |
s-4vcpu-8gb |
xlarge |
4 / 16 GB | t3.xlarge |
e2-standard-8 |
ccx13 |
s-8vcpu-16gb |
2xlarge |
8 / 32 GB | t3.2xlarge |
e2-standard-16 |
ccx33 |
g-8vcpu-32gb |
4xlarge |
16 / 64 GB | m6i.4xlarge |
e2-standard-32 |
ccx43 |
g-16vcpu-64gb |
8xlarge |
32 / 128 GB | m6i.8xlarge |
n2-standard-48 |
ccx53 |
g-32vcpu-128gb |
Exact vCPU and memory still follow the provider SKU. The ~ column is only a portable hint.
Provider-Specific Overrides
Section titled “Provider-Specific Overrides”To pin a specific provider-native type, use a provider map:
instanceType: { aws: 'm5.large', gcp: 'n2-standard-2', hetzner: 'ccx13',}Unlisted providers fall back to the abstract mapping.
Images
Section titled “Images”| Abstract | AWS | GCP | Hetzner | DO |
|---|---|---|---|---|
ubuntu-22.04 |
ami-0c55b… (varies by region) |
ubuntu-os-cloud/ubuntu-2204-lts |
ubuntu-22.04 |
ubuntu-22-04-x64 |
ubuntu-24.04 |
ami-0e86e2… (varies by region) |
ubuntu-os-cloud/ubuntu-2404-lts |
ubuntu-24.04 |
ubuntu-24-04-x64 |
debian-12 |
ami-0c… (varies by region) |
debian-cloud/debian-12 |
debian-12 |
debian-12-x64 |
Custom images use the provider-native identifier directly:
image: 'ami-0c55b159cbfafe1f0' // Passes through unmapped on AWSRegions
Section titled “Regions”| Abstract | AWS | GCP | Hetzner | DO |
|---|---|---|---|---|
us-east |
us-east-1 |
us-east1 |
us-east |
nyc1 |
us-west |
us-west-2 |
us-west2 |
us-west |
sfo3 |
eu-central |
eu-central-1 |
europe-west1 |
eu-central |
fra1 |
eu-west |
eu-west-1 |
europe-west2 |
eu-west |
lon1 |
ap-southeast |
ap-southeast-1 |
asia-southeast1 |
— | sgp1 |
Region Overrides
Section titled “Region Overrides”region: { aws: 'eu-west-2', gcp: 'europe-west2-a',}Database Instance Types
Section titled “Database Instance Types”Databases use a separate instance type map:
| Abstract | AWS RDS | GCP Cloud SQL |
|---|---|---|
micro |
db.t3.micro |
db-f1-micro |
small |
db.t3.small |
db-g1-small |
medium |
db.t3.medium |
db-custom-2-8192 |
large |
db.t3.large |
db-custom-4-16384 |
xlarge |
db.t3.xlarge |
db-custom-8-32768 |
2xlarge |
db.t3.2xlarge |
db-custom-16-65536 |
4xlarge |
db.m6i.4xlarge |
db-custom-32-131072 |
8xlarge |
db.m6i.8xlarge |
db-custom-48-196608 |