·2 min read

Announcing Upstash Pulumi Provider

Burak YılmazBurak YılmazSite Reliability Engineer @Upstash

Upon request from our community, we have developed Pulumi Provider for Upstash Redis and Kafka, which is now publicly available.

Pulumi is an automated provisioning tool similar to Terraform but it leverages the functionalities of modern programming languages such as TypeScript, Go and Python. This way, you can create conditional resources, multiple resources via loops and so on, enabling for more dynamic and maintainable IAC.

Creating your infrastructure as code with your favorite languages

Create pulumi template

pulumi new <your_language>
pulumi new <your_language>

TypeScript / JavaScript

const createdDb = new upstash.RedisDatabase("mydb", {
  databaseName: "pulumi-ts-db",
  region: "eu-west-1",
  tls: true,
});
const createdDb = new upstash.RedisDatabase("mydb", {
  databaseName: "pulumi-ts-db",
  region: "eu-west-1",
  tls: true,
});

Go

createdCluster, _ := upstash.NewKafkaCluster(ctx, "exampleCluster", &upstash.KafkaClusterArgs{
    ClusterName: pulumi.String("pulumi-go-cluster"),
    Multizone:   pulumi.Bool(false),
    Region:      pulumi.String("eu-west-1"),
})
createdCluster, _ := upstash.NewKafkaCluster(ctx, "exampleCluster", &upstash.KafkaClusterArgs{
    ClusterName: pulumi.String("pulumi-go-cluster"),
    Multizone:   pulumi.Bool(false),
    Region:      pulumi.String("eu-west-1"),
})

Python

created_team = upstash.Team(
    resource_name="myTeam",
    team_name="pulumi team",
    copy_cc=True,
    team_members={
        "<owner_email>": "owner",
        "<second_email>": "admin"
    }
)
 
created_team = upstash.Team(
    resource_name="myTeam",
    team_name="pulumi team",
    copy_cc=True,
    team_members={
        "<owner_email>": "owner",
        "<second_email>": "admin"
    }
)
 

CRUD your resources: pulumi up

web3-before-connection

Future Work

We want to keep the developer experience easy and intuitive. Hence, we will keep our tools up-to-date with our services. As an example, QStash resources will soon be added to both Terraform and Pulumi providers.

Closing Words

For resource creations with different languages, you can have a look at our repo.

You can share your feedback via Twitter or Discord, which will be greatly appreciated.