Skip to content

SigNoz/foundry

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

Download a release from GitHub Releases, or use the command line:

# Linux
curl -L "https://github.com/SigNoz/foundry/releases/latest/download/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
curl -L "https://github.com/SigNoz/foundry/releases/latest/download/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

$ARCH = if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { "arm64" } else { "amd64" }
Invoke-WebRequest -Uri "https://github.com/SigNoz/foundry/releases/latest/download/foundry_windows_${ARCH}.tar.gz" -OutFile foundry.tar.gz -UseBasicParsing
tar -xzf foundry.tar.gz

See Getting Started for full install instructions (including Windows) and a step-by-step walkthrough.

2. Create a casting

apiVersion: v1alpha1
metadata:
  name: signoz
spec:
  deployment:
    mode: docker
    flavor: compose

3. Deploy

foundryctl cast -f casting.yaml

How it works

  +-------------------------------------------------------------+
  |                       casting.yaml                          |
  |              your single deployment config                  |
  +-----------------------------+-------------------------------+
                                |
                +---------------+---------------+
                |               |               |
                v               v               v
         +-----------+  +-----------+  +----------------+
         |   gauge   |  |   forge   |  |     cast       |
         |-----------|  |-----------|  |----------------|
         | validate  |  | generate  |  | gauge + forge  |
         | prereqs   |  | files     |  | + deploy       |
         +-----------+  +-----+-----+  +-------+--------+
                              |                 |
                              v                 |
         +----------------------------------+   |
         |             pours/               |   |
         |----------------------------------|   |
         |  compose.yaml    manifests/      |   |
         |  values.yaml     configs/        |   |
         |  render.yaml     *.tf.json       |   |
         +-----------------+----------------+   |
                           |                    |
                           +----------+---------+
                                      v
  +-------------------------------------------------------------+
  |                      SigNoz Running                         |
  |-------------------------------------------------------------|
  |  Docker Compose - Swarm - Systemd - Kubernetes - ECS        |
  |  Render - Railway - Coolify                                 |
  +-------------------------------------------------------------+

foundryctl cast runs the full pipeline (gauge + forge + deploy) in one step.

Term What it means
Casting Your deployment config. One YAML file describing what you want. Learn more
Moldings The SigNoz components (ClickHouse, PostgreSQL, OTel Collector, etc.) that Foundry configures for you. Learn more
Pours The generated output files in pours/. Structure varies by deployment mode. See examples

Examples

Platform Mode Flavor Example
- docker compose docker/compose
- docker swarm docker/swarm
- kubernetes helm kubernetes/helm
- kubernetes kustomize kubernetes/kustomize
- systemd binary systemd/binary
ecs ec2 terraform ecs/ec2/terraform
coolify - stack coolify/stack
railway - template railway/template
render - blueprint render/blueprint

CLI reference

foundryctl [command]

Commands:
  gauge       Validate required tools for your deployment mode
  forge       Generate deployment and configuration files
  cast        Full pipeline: gauge + forge + deploy
  gen         Generate example casting files for all modes

Flags:
  -d, --debug          Enable debug logging
  -f, --file string    Casting file path (default "casting.yaml")
  -p, --pours string   Output directory (default "./pours")
# Validate tools
foundryctl gauge -f casting.yaml

# Generate files only
foundryctl forge -f casting.yaml

# Full deploy
foundryctl cast -f casting.yaml

# Generate examples for all deployment modes
foundryctl gen

See CLI Reference for the full command reference with all flags and examples.

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

 
 
 

Contributors