Foundry is a centralized hub for SigNoz installation configurations and deployments: integrations for install. Select yours, configure, and run SigNoz.
Just as a metalworking foundry turns raw materials into finished products, Foundry forges your deployment from a single configuration and casts SigNoz to fit your environment.
Foundry abstracts away the complexities of the installation process so you can spend time using SigNoz rather than installing it.
- Multi-platform support: Deploy SigNoz using Docker Compose, Systemd (bare metal), or Render for flexible installation across environments.
- Single configuration file: Configure your entire SigNoz stack with one concise file.
- Automatic dependency management: Handles inter-service dependencies
- Tool validation: Verify prerequisites before deployment
1. Install foundryctl
You can install foundryctl by downloading a release from GitHub Releases.
To quickly get the correct binary for your architecture via the command line, run
Linux:
FOUNDRY_VERSION=v0.0.1-rc.2
curl -L "https://github.com/SigNoz/foundry/releases/download/${FOUNDRY_VERSION}/foundry_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz" -o foundry.tar.gz
tar -xzf foundry.tar.gzmacOS:
FOUNDRY_VERSION=v0.0.1-rc.2
curl -L "https://github.com/SigNoz/foundry/releases/download/${FOUNDRY_VERSION}/foundry_darwin_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/arm64/arm64/g').tar.gz" -o foundry.tar.gz
tar -xzf foundry.tar.gzWindows (PowerShell):
$FOUNDRY_VERSION = "v0.0.1-rc.2"
$ARCH = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "amd64" }
Invoke-WebRequest -Uri "https://github.com/SigNoz/foundry/releases/download/$FOUNDRY_VERSION/foundry_windows_${ARCH}.tar.gz" -OutFile foundry.tar.gz -UseBasicParsing
tar -xzf foundry.tar.gzAfter extracting, use foundryctl from the unpacked directory:
./foundry/bin/foundryctl <COMMAND> <OPTIONS>2. Create a Casting
Create a casting.yaml file (see How to write a casting for the full guide). Minimal example:
apiVersion: v1alpha1
metadata:
name: signoz
spec:
deployment:
mode: docker
flavor: compose3. Deploy
foundryctl cast -f casting.yamlFoundry uses a metalworking metaphor: you define a Casting, which contains Moldings (components), and Foundry forges them into Pours (generated files).
graph LR
A[π casting.yaml<br/>Single Config File] --> B[π§ foundryctl gauge<br/>Validate Tools]
B --> C[βοΈ foundryctl forge<br/>Generate Deployment Files]
C --> D[πΊ pours/<br/>compose.yaml + configs]
D --> E[π₯ foundryctl cast<br/>Deploy]
E --> F[βοΈ Docker Compose /<br/>Systemd /<br/>Cloud Platform]
F --> G[β¨ SigNoz Running<br/>ClickHouse, PostgreSQL,<br/>OTel Collector, SigNoz UI]
style A fill:#FF9900,stroke:#E68A00,stroke-width:3px,color:#000
style D fill:#FDB44B,stroke:#E68A00,stroke-width:3px,color:#000
style G fill:#4E9FFF,stroke:#2A7FD8,stroke-width:3px,color:#fff
style B fill:#1F1F1F,stroke:#FF9900,stroke-width:2px,color:#fff
style C fill:#1F1F1F,stroke:#FF9900,stroke-width:2px,color:#fff
style E fill:#1F1F1F,stroke:#FF9900,stroke-width:2px,color:#fff
style F fill:#2D2D2D,stroke:#4E9FFF,stroke-width:2px,color:#fff
A Casting is a complete SigNoz deployment definition: one YAML file that Foundry merges with built-in defaults. For a step-by-step guide (metadata, deployment target, moldings, config, and examples), see How to write a casting.
| Deployment | Example |
|---|---|
| Docker Compose | examples/docker/compose/ |
| Systemd (binary) | examples/systemd/binary/ |
| Render Blueprint | examples/render/blueprint/ |
Moldings are the individual components that make up a SigNoz deployment:
| Molding | Implementation |
|---|---|
| TelemetryStore | ClickHouse |
| TelemetryKeeper | ClickHouse Keeper |
| MetaStore | PostgreSQL, SQLite |
| Ingester | SigNoz OTel Collector |
| SigNoz | SigNoz |
Pours are the generated deployment and configuration files. When you run forge, Foundry creates the pours/ directory containing everything needed to run SigNoz.
pours/
βββ deployment/
βββ compose.yaml
βββ configs/
βββ ingester/
β βββ ingester.yaml
β βββ opamp.yaml
βββ telemetrykeeper/
β βββ keeper-0.yaml
βββ telemetrystore/
βββ config.yaml
βββ functions.yaml
Usage:
foundryctl [command]
Available Commands:
gauge Gauge whether required tools are available
forge Forge configuration and deployment files
cast Cast to the target environment
gen Generate example files for all supported deployments
help Help about any command
Flags:
-d, --debug Enable debug mode
-f, --file string Path to the Casting configuration file (default "casting.yaml")
-p, --pours string Directory for Pours (default "./pours")
-h, --help Help for foundryctl
Validates that all required tools are installed for your deployment mode:
foundryctl gauge -f casting.yamlGenerates deployment and configuration files based on your Casting:
foundryctl forge -f casting.yaml -p ./poursDeploys SigNoz to your target environment. Runs gauge and forge automatically unless skipped:
foundryctl cast -f casting.yaml
# Skip gauge check
foundryctl cast --no-gauge
# Skip forge (use existing Pours)
foundryctl cast --no-forgeGenerates example Casting configurations for all supported deployment modes:
foundryctl gen- How to write a casting: step-by-step guide to casting files
- Example configurations: Docker, systemd, and Render
- SigNoz documentation: learn more about SigNoz
- SigNoz Slack: community and support
- Issues: GitHub Issues
- Documentation: SigNoz Docs
- Community: SigNoz Slack
Made with β€οΈ for the SigNoz community
