Files
o11y-foundry/docs/getting-started.md
NageshbansalandGitHub 73ad12dd3c feat(scripts): add install.sh for foundryctl (#112)
## Summary

- Adds `scripts/install.sh` : a curl-pipe-bash installer for foundryctl,
served from `signoz.io/signoz.sh` (Vercel rewrite to this repo's
`main`).
- Detects OS/arch (darwin, linux, windows shells; amd64, arm64),
resolves the latest version via the GitHub `/releases/latest` redirect
(no API rate-limit), downloads the tarball + verifies SHA-256 against
the published checksums file, installs into `$FOUNDRY_INSTALL_DIR` →
`$XDG_BIN_HOME` → `~/.local/bin`, and runs the binary as a post-install
smoke test.
- Idempotent: same-version re-runs short-circuit early;
different-version runs prompt interactively, auto-proceed when piped
(curl-pipe-bash, CI). `-y` / `FOUNDRY_ASSUME_YES` bypasses the prompt
explicitly.
- Wires `sh-fmt` and `sh-lint` jobs into `ci.yaml` (via
`signoz/primus.workflows`) so the script is enforced against shellcheck
and shfmt on every PR.

Related: SigNoz/platform-pod#2065,
https://github.com/SigNoz/foundry/issues/96,
https://github.com/SigNoz/foundry/issues/97
2026-05-04 16:48:14 +05:30

3.2 KiB

Getting Started

Install foundryctl and deploy SigNoz in three steps.

1. Install foundryctl

The fastest path is the install script, which detects your OS/arch, verifies the download checksum, installs the binary into $XDG_BIN_HOME or ~/.local/bin, and prints a PATH hint if needed:

curl -fsSL https://signoz.io/foundry.sh | bash

Pin a specific version:

curl -fsSL https://signoz.io/foundry.sh | FOUNDRY_VERSION=v0.1.4 bash

Manual install

If you prefer to download the release archive yourself:

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 (PowerShell):

$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

The archive extracts to a directory named foundry_<os>_<arch> (for example, foundry_darwin_arm64) containing bin/foundryctl.

Add to PATH

To run foundryctl from anywhere, move the binary onto your PATH:

mkdir -p "$HOME/.local/bin"
mv foundry_*/bin/foundryctl "$HOME/.local/bin/"

If ~/.local/bin isn't already on your PATH (common on macOS), add it to your shell config:

# zsh (~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# bash (~/.bashrc on Linux, ~/.bash_profile on macOS)
export PATH="$HOME/.local/bin:$PATH"

# fish (~/.config/fish/config.fish)
fish_add_path $HOME/.local/bin

Reload your shell or source the file you edited.

Verify

foundryctl --help

2. Create a casting

A casting is a YAML file that describes your SigNoz deployment. Create a file called casting.yaml:

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

This minimal casting deploys SigNoz using Docker Compose with all default settings.

Tip

Run foundryctl gen examples to generate working casting files for every supported deployment mode (Docker, Kubernetes, systemd, Render, and more).

3. Deploy

./bin/foundryctl cast -f casting.yaml

Foundry validates your tools (gauge), generates deployment files (forge), and deploys SigNoz (cast) in one step.

Validate

Check that SigNoz is running:

docker ps

All containers should show Up status. Open http://localhost:8080 to access the SigNoz UI.

What's next