The kurrentcloud provider lets you manage Kurrent Cloud
resources with Pulumi in TypeScript/JavaScript, Python, Go, and .NET. It is generated from the
Kurrent Cloud Terraform provider
via the Pulumi Terraform Bridge, so its resources track the Terraform provider.
Renamed from
eventstorecloud. Existing stacks keep working: every resource declares a Pulumi alias to its historicaleventstorecloud:index/<resource>:<Type>type, so runningpulumi upafter upgrading refreshes onto the newkurrentcloud:index/<resource>:<Type>tokens without replacing any cloud resources. See MIGRATION.md.
For projects that use the .NET and Go Pulumi SDKs you must install the provider plugin before updating the stack:
pulumi plugin install resource kurrentcloud --server github://api.github.com/kurrent-ionpm install @kurrent-io/pulumi-kurrentcloud
# or
yarn add @kurrent-io/pulumi-kurrentcloudpip install pulumi_kurrentcloudgo get github.com/EventStore/pulumi-eventstorecloud/sdk/go/kurrentclouddotnet add package Pulumi.KurrentCloudThe following configuration options are required for the kurrentcloud provider:
kurrentcloud:organizationId- the organization ID for an existing organization in Kurrent Cloudkurrentcloud:token- a valid refresh token for a Kurrent Cloud account with admin access to the organization
Alternatively, these values can be set via the ESC_ORG_ID and ESC_TOKEN environment variables.
This provider mirrors the Kurrent Cloud Terraform provider:
Project,Network,Peering,AclManagedClusterandManagedClusterReplicaset(read-only replica sets attached to a managed cluster)ScheduledBackupIntegration,AWSCloudWatchLogsIntegration,AWSCloudWatchMetricsIntegration- data sources:
getProject,getNetwork
import * as pulumi from "@pulumi/pulumi";
import * as kurrent from "@kurrent-io/pulumi-kurrentcloud";
const project = new kurrent.Project("project", { name: "my-project" });
const network = new kurrent.Network("network", {
name: "my-network",
projectId: project.id,
resourceProvider: "aws",
region: "us-west-2",
cidrBlock: "172.21.0.0/16",
});
const cluster = new kurrent.ManagedCluster("cluster", {
name: "my-cluster",
projectId: project.id,
networkId: network.id,
topology: "single-node",
instanceType: "F1",
diskSize: 24,
diskType: "gp3",
diskIops: 3000,
diskThroughput: 125,
serverVersion: "24.10",
projectionLevel: "off",
});
// New in this provider: a read-only replica set attached to the managed cluster.
const replica = new kurrent.ManagedClusterReplicaset("replica", {
projectId: project.id,
clusterId: cluster.id,
replicaCount: 1,
});
export const clusterDnsName = cluster.dnsName;End-to-end tests exercise every resource and data source against a real Kurrent Cloud
organization (via the Pulumi Automation API), alongside an offline guard that verifies the
eventstorecloud→kurrentcloud migration aliases. See TESTING.md for the
harness, the required environment variables (and where their values come from), and how to run
it locally and in CI.
For detailed reference documentation, please visit the Pulumi registry.