Skip to main content

Pulumi

The Statsig Pulumi Provider allows you to configure your gates and experiments using Pulumi Infrastructure as Code. The provider synchronizes with Statsig via the Console API. If there is something you need to perform that isn't supported by the Pulumi Provider, checkout the Console API.

Installation

The Statsig provider is available as a package in the following Pulumi languages:

Configuration

The provider needs to be configured with the proper credentials before it can be used. Configure your Pulumi.yaml file with your Console API key:

# Pulumi.yaml provider configuration file
name: configuration-example
runtime: nodejs # or python, go, dotnet
config:
statsig:consoleApiKey:
value: 'YOUR_CONSOLE_API_KEY'

Configuration Reference

  • consoleApiKey (String) - The Statsig Console API key retrieved from Statsig console.

Example Usage

TypeScript

import * as pulumi from "@pulumi/pulumi";
import * as statsig from "@statsig/pulumi-statsig";

// Create a Feature Gate
const gate = new statsig.Gate("my-gate", {});

Python

import pulumi
import pulumi_statsig as statsig

# Create a Feature Gate
gate = statsig.Gate("my-gate")

Go

package main

import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/statsig-io/pulumi-statsig/sdk/go/statsig"
)

func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a Feature Gate
_, err := statsig.NewGate(ctx, "my-gate", nil)
if err != nil {
return err
}
return nil
})
}

C#

using Pulumi;
using Statsig = Statsig.Pulumi;

return await Deployment.RunAsync(() =>
{
// Create a Feature Gate
var gate = new Statsig.Gate("my-gate");
});

Supported Features

We currently support the following Statsig configurations:

  • Gates
  • Experiments

Coming Soon:

  • Dynamic Configs
  • Segments

If you need more from our Pulumi Provider, please feel free to ask in Slack support. This will help us prioritize what to work on.