> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chronosphere.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Chronosphere Pulumi provider

export const CSharpIcon = props => <svg style={{
  display: "inline-block",
  width: "1.5rem",
  height: "1.5rem"
}} viewBox="0 0 24 24" {...props}>
    <path d="m11.5 15.97.41 2.44c-.26.14-.68.27-1.24.39-.57.13-1.24.2-2.01.2-2.21-.04-3.87-.7-4.98-1.96C2.56 15.77 2 14.16 2 12.21c.05-2.31.72-4.08 2-5.32C5.32 5.64 6.96 5 8.94 5c.75 0 1.4.07 1.94.19s.94.25 1.2.4l-.58 2.49-1.06-.34c-.4-.1-.86-.15-1.39-.15-1.16-.01-2.12.36-2.87 1.1-.76.73-1.15 1.85-1.18 3.34 0 1.36.37 2.42 1.08 3.2.71.77 1.71 1.17 2.99 1.18l1.33-.12c.43-.08.79-.19 1.1-.32M13.89 19l.61-4H13l.34-2h1.5l.32-2h-1.5L14 9h1.5l.61-4h2l-.61 4h1l.61-4h2l-.61 4H22l-.34 2h-1.5l-.32 2h1.5L21 15h-1.5l-.61 4h-2l.61-4h-1l-.61 4h-2m2.95-6h1l.32-2h-1l-.32 2Z" style={{
  fill: "#28a561"
}} />
  </svg>;

export const ApiToken = () => <>
    Replace <em><code>API_TOKEN</code></em> with the API token generated from your <a href="/administer/accounts-teams/service-accounts">service account</a>. Chronosphere recommends storing your API token in a separate file or Kubernetes Secret and calling it using an environment variable, such as <code>$API_TOKEN</code>.
  </>;

[Pulumi](https://www.pulumi.com/) is an open source infrastructure-as-code software
tool you can use to create, deploy, and manage infrastructure on any cloud in the
language of your choosing.

Chronosphere provides a
[Pulumi package](https://www.pulumi.com/registry/packages/chronosphere/installation-configuration/)
for managing Chronosphere Observability Platform resources. See
[Supported resources](/tooling/infrastructure#supported-resources) for a list
of supported resources.

Use Observability Platform and Pulumi together to provide a seamless process to
manage and monitor Kubernetes workloads. When you deploy Kubernetes resources using
Pulumi, you can use Observability Platform to monitor those resources in real time.

Codify your infrastructure using Pulumi, and gain observability using Observability
Platform.

## Getting started

Complete the following steps to get started with the Chronosphere Pulumi provider.

1. [Install the provider](#install).
2. [Configure environment variables](#configure).

### Install

To use the Chronosphere Pulumi provider, install the Pulumi provider for your
preferred language.

{/* markdownlint-disable MD013 */}

<Columns cols={2} rowGroup="2">
  <Card horizontal icon="golang" title="Go" href="https://pkg.go.dev/github.com/chronosphereio/pulumi-chronosphere/sdk" />

  <Card horizontal icon="js" title="JavaScript" href="https://www.npmjs.com/package/@pulumi-chronosphere/pulumi-chronosphere" />

  <Card horizontal icon={<CSharpIcon/>} title=".NET" href="https://www.nuget.org/packages/Chronosphere.Pulumi.Chronosphere" />

  <Card horizontal icon="python" title="Python" href="https://pypi.org/project/pulumi-chronosphere/" />
</Columns>

{/* vale on */}

### Configure

After installing the Chronosphere Pulumi provider, configure environment variables to
authenticate with Observability Platform and manage resources in your tenant.

#### API token

Pulumi performs tasks that require administrative privileges, and requires an API
token with administrative privileges to authenticate. Use either an unrestricted
service account, or a user or service account that belongs to a team with the
SysAdmin role.

To authenticate as a service account, use the API token generated and provided upon
account creation. For details, see [service accounts](/administer/accounts-teams/service-accounts).
To authenticate as an administrative user account, use a
[personal access token](/administer/accounts-teams/personal-access-tokens).

If you don't provide a token as an argument, Pulumi then looks for it in the
environment variable `CHRONOSPHERE_API_TOKEN`, which you can set by running the
following command or adding it to your shell profile:

```shell /API_TOKEN/ theme={null}
export CHRONOSPHERE_API_TOKEN=API_TOKEN
```

<ApiToken />

#### Organization name

Pulumi needs the name of your team's organization as the `--org-name` argument. If
you don't provide your organization's name as an argument, Pulumi looks for it in the
environment variable `CHRONOSPHERE_ORG_NAME`.

To set this variable, run the following command or add it to your shell profile:

```shell /SUBDOMAIN_NAME/ theme={null}
export CHRONOSPHERE_ORG_NAME=SUBDOMAIN_NAME
```

Replace *`SUBDOMAIN_NAME`* with the subdomain name you use to access Chronosphere. For example,
if your team uses `example.chronosphere.io`, your team's organization name is
`example`.

### Resources

Refer to the Chronosphere Pulumi provider
[API docs](https://www.pulumi.com/registry/packages/chronosphere/api-docs/) for a
list of resources you can create and manage with the provider.
