cdkx Experimental¶
cdkx is a multi-provider CDK-like framework for TypeScript. Write your infrastructure as construct trees — cdkx synthesizes provider-specific manifests and deploys them through provider APIs.
import { App, Stack } from '@cdk-x/core';
import { HtzNetwork } from '@cdk-x/hetzner';
const app = new App();
const stack = new Stack(app, 'MyStack');
new HtzNetwork(stack, 'Network', {
name: 'my-network',
ip_range: '10.0.0.0/16',
});
app.synth();
Active development
cdkx is in active development. APIs may change between releases. Pin your dependencies and check the changelog before upgrading.
How it works¶
Two phases:
- Synth — your TypeScript app runs and produces a cloud assembly: a
manifest.jsonand one JSON file per stack describing every resource. - Deploy — cdkx reads the assembly, resolves cross-resource references, builds a dependency graph, and calls the provider API in topological order.
Providers¶
-
Hetzner Cloud
Networks, servers, load balancers, volumes, and more. Deploys via the Hetzner Cloud API.
-
Multipass
Local Ubuntu VMs using Canonical Multipass. No cloud account required.