5.3 KiB
Casting File Reference
Complete reference for the casting.yaml configuration file. For conceptual overview, see Casting.
Top-level structure
apiVersion: v1alpha1
metadata:
name: <string> # required
annotations: <map> # optional
spec:
deployment: <deployment> # required
signoz: <molding>
ingester: <molding>
telemetrystore: <molding>
telemetrykeeper: <molding>
metastore: <metastore>
patches: <list>
Deployment
Defines where and how SigNoz is deployed.
spec:
deployment:
mode: <string>
flavor: <string>
platform: <string>
Supported combinations
Each row is a valid combination. Mixing values across rows is not supported.
| Target | mode |
flavor |
platform |
|---|---|---|---|
| Docker Compose | docker |
compose |
- |
| Docker Swarm | docker |
swarm |
- |
| Systemd (binary) | systemd |
binary |
- |
| Kubernetes (Kustomize) | kubernetes |
kustomize |
- |
| Kubernetes (Helm) | kubernetes |
helm |
- |
| Render | - | blueprint |
render |
| Coolify | - | stack |
coolify |
| Railway | - | template |
railway |
| AWS ECS (EC2) | ec2 |
terraform |
ecs |
Molding spec
Each molding (signoz, ingester, telemetrystore, telemetrykeeper) accepts a spec block:
<molding>:
spec:
enabled: <bool>
image: <string>
version: <string>
cluster:
replicas: <int>
shards: <int>
env: <map>
config:
data: <map>
| Field | Type | Default | Description |
|---|---|---|---|
enabled |
bool | true |
Include this component in the deployment |
image |
string | (built-in) | Container image (Docker and Kubernetes modes) |
version |
string | (built-in) | Version label (systemd mode, tagging) |
cluster.replicas |
int | 1 |
Number of replicas |
cluster.shards |
int | 1 |
Number of shards (TelemetryStore only) |
env |
map | {} |
Environment variables as key-value pairs |
config.data |
map | {} |
Config file overrides: filename to file contents |
MetaStore
The metastore has an additional kind field to select the backend.
spec:
metastore:
kind: <string>
spec: <molding-spec>
| Kind | Backend | Notes |
|---|---|---|
postgres |
PostgreSQL | Default. Recommended for production. |
sqlite |
SQLite | Embedded, single-node only. |
Patches
List of patch operations applied to generated output files.
spec:
patches:
- type: <string>
target: <string>
operations:
- op: <string>
path: <string>
value: <any>
from: <string>
| Field | Required | Description |
|---|---|---|
type |
No | Patch driver. Default: jsonpatch. |
target |
Yes | Output file to patch. Exact path, basename, or glob. |
operations |
Yes | List of JSON Patch (RFC 6902) operations. |
See Patches for operation details and examples.
Annotations
Systemd binary paths
Required when using mode: systemd, flavor: binary.
| Annotation | Description |
|---|---|
foundry.signoz.io/signoz-binary-path |
Path to the SigNoz binary |
foundry.signoz.io/ingester-binary-path |
Path to the OTel Collector binary |
foundry.signoz.io/metastore-postgres-binary-path |
Path to the PostgreSQL binary |
metadata:
name: signoz
annotations:
foundry.signoz.io/signoz-binary-path: /opt/signoz/bin/signoz
foundry.signoz.io/ingester-binary-path: /opt/ingester/bin/signoz-otel-collector
foundry.signoz.io/metastore-postgres-binary-path: /usr/bin/postgres
Kubernetes Helm annotations
Optional. Override the default Helm chart source when using mode: kubernetes, flavor: helm.
| Annotation | Default | Description |
|---|---|---|
foundry.signoz.io/kubernetes-helm-casting-chart |
signoz/signoz |
Helm chart reference |
foundry.signoz.io/kubernetes-helm-casting-repo-url |
https://charts.signoz.io |
Helm chart repository URL |
foundry.signoz.io/kubernetes-helm-casting-repo-name |
signoz |
Helm chart repository name |
foundry.signoz.io/kubernetes-helm-casting-forge-chart |
- | Set to true to download and bundle the chart locally during forge |
ECS annotations
Required when using platform: ecs, mode: ec2, flavor: terraform.
| Annotation | Maps to tfvar | Description |
|---|---|---|
foundry.signoz.io/ecs/region |
region |
AWS region |
foundry.signoz.io/ecs/cluster-id |
ecs_cluster_id |
ECS cluster ARN or ID |
foundry.signoz.io/ecs/subnet-ids |
subnet_ids |
Comma-separated subnet IDs |
foundry.signoz.io/ecs/security-group-ids |
security_group_ids |
Comma-separated security group IDs |
foundry.signoz.io/ecs/vpc-id |
vpc_id |
VPC ID for Cloud Map namespace |
foundry.signoz.io/ecs/config-bucket |
config_bucket |
S3 bucket for component configs |
foundry.signoz.io/ecs/task-role-arn |
task_role_arn |
IAM role ARN for ECS tasks |
foundry.signoz.io/ecs/task-execution-role-arn |
task_execution_role_arn |
IAM role ARN for task execution |
foundry.signoz.io/ecs/capacity-provider |
capacity_provider |
ECS capacity provider name |
Schema
The full JSON Schema for casting.yaml is available at docs/schemas/v1alpha1.yaml.