@jooon/pulumi-signoz
v0.2.0
Published
A Pulumi provider for SigNoz. Manage SigNoz dashboards, alerts, notification channels, saved views, and log pipelines as code.
Downloads
51
Maintainers
Readme
Pulumi SigNoz Provider
A Pulumi provider for SigNoz, bridged from jgautheron/terraform-provider-signoz via pulumi-terraform-bridge.
Manage SigNoz dashboards, alerts, notification channels, saved views, and log pipelines as code — versioned in Git, reviewed in PRs, deployed alongside your services.
Status: early (v0.x). Targets SigNoz Community >= 0.125. Complex nested bodies (alert conditions, dashboard definitions) are modeled as JSON strings.
Resources
| Pulumi token | Terraform resource | Purpose |
| ---------------------------------- | ------------------------------ | ---------------------------------------- |
| signoz:index:Dashboard | signoz_dashboard | Dashboards (full definition as JSON) |
| signoz:index:Alert | signoz_alert | Alert rules (v5/v2alpha1) |
| signoz:index:NotificationChannel | signoz_notification_channel | Notification channels (admin token) |
| signoz:index:SavedView | signoz_saved_view | Logs/traces explorer saved views |
| signoz:index:LogPipeline | signoz_log_pipeline | Log-processing pipeline set (singleton) |
Installing
Node.js (TypeScript / JavaScript)
npm install @jooon/pulumi-signoz
# or
yarn add @jooon/pulumi-signozPython
pip install pulumi-signoz-jooonGo
go get github.com/jgautheron/pulumi-signoz/sdk/go/signoz.NET
dotnet add package Jooon.Pulumi.SignozConfiguration
The provider reads the same env vars as the upstream Terraform provider:
| Env var | Pulumi config key | Purpose |
| ------------------------ | --------------------- | ------------------------------------------------ |
| SIGNOZ_ACCESS_TOKEN | signoz:accessToken | API key (sensitive, required) |
| SIGNOZ_ENDPOINT | signoz:endpoint | SigNoz URL (default http://localhost:3301) |
| SIGNOZ_HTTP_MAX_RETRY | signoz:httpMaxRetry | Default 10 |
| SIGNOZ_HTTP_TIMEOUT | signoz:httpTimeout | Default 35 seconds |
Generate an access token in the SigNoz UI: Settings → Service Accounts → Add → Keys → Add Key.
Quick start (TypeScript)
import * as signoz from "@jooon/pulumi-signoz";
const provider = new signoz.Provider("signoz", {
endpoint: "https://signoz.example.com",
accessToken: process.env.SIGNOZ_ACCESS_TOKEN!,
});
new signoz.Dashboard("app-overview", {
data: JSON.stringify({
title: "App Overview",
// ...full dashboard JSON; export from the SigNoz UI to bootstrap
}),
}, { provider });
new signoz.Alert("app-error-rate", {
alertType: "METRIC_BASED_ALERT",
// ...rule definition
}, { provider });See the examples/ directory for runnable samples.
Versioning
This provider mirrors upstream SigNoz/terraform-provider-signoz version
numbers (e.g. when upstream releases v0.0.12, this provider tags v0.0.12).
Patch-suffix +N is reserved for bridge-only fixes between upstream releases.
Both upstream and this wrapper are pre-1.0 — pin exact versions in consumers.
Contributing / building from source
git clone https://github.com/jgautheron/pulumi-signoz
cd pulumi-signoz
make tfgen # generate schema.json from upstream provider
make provider # build pulumi-resource-signoz binary
make build_sdks # generate SDKs for all supported languagesLicense
Apache-2.0. The upstream SigNoz Terraform provider is MPL-2.0.
