Skip to content
/ foundry Public

Foundry is a centralized hub for SigNoz installation configurations and deployments: integrations for install. Select yours, configure, and run SigNoz.

License

Notifications You must be signed in to change notification settings

SigNoz/foundry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Foundry
Foundry

GitHub Release Go Version

Foundry is a centralized hub for SigNoz installation configurations and deployments: integrations for install. Select yours, configure, and run SigNoz.

Overview

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.

Foundry CLI demo

Features

  • 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

Quick start

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.gz

macOS:

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.gz

Windows (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.gz

After 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: compose

3. Deploy

foundryctl cast -f casting.yaml

The Foundry Model

Foundry 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
Loading

Casting

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.

Examples

Deployment Example
Docker Compose examples/docker/compose/
Systemd (binary) examples/systemd/binary/
Render Blueprint examples/render/blueprint/

Moldings

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

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

CLI reference

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

gauge

Validates that all required tools are installed for your deployment mode:

foundryctl gauge -f casting.yaml

forge

Generates deployment and configuration files based on your Casting:

foundryctl forge -f casting.yaml -p ./pours

cast

Deploys 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-forge

gen

Generates example Casting configurations for all supported deployment modes:

foundryctl gen

What's next

How can I get help?

Made with ❀️ for the SigNoz community

About

Foundry is a centralized hub for SigNoz installation configurations and deployments: integrations for install. Select yours, configure, and run SigNoz.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •