#### Fixes
- Templated the signoz and ingester services with a replicaIdx suffix
- Fixed volume names to respect signoz replicaIdx for the sqlite
metastore
- Fixed port collisions for replicas of signoz and ingester
#### Fixes
- Render templated per-node macros (`shard`, `replica`) in ClickHouse
`config.yaml` so multi-shard/multi-replica clusters get unique Keeper
paths instead of collisions
- Use the first TelemetryStore TCP address (not comma-joined) for
`SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN` and ingester ClickHouse DSNs
#### Refactors
- `telemetrystore` molding now emits `config-{shard}-{replica}.yaml` per
node (mirrors `telemetrykeeper` per-replica pattern)
Related: https://github.com/SigNoz/platform-pod/issues/1332
### Summary
- Introduce a `kind` discriminator for Casting. Existing Casting without
a kind field keep working, empty kind defaults to `Installation`
- New `api/v1alpha1/installation/` subpackage with the Installation
Casting, Spec types and holds its own JSON schema from its Go type:
`installation/casting.schema.json`
- New Machinery interface in `api/v1alpha1/machinery.go` exposes
`Kind()` and `TrackableProperties()` so Dispatcher(Getv1alpha1 and
Forge/Cast/Gauge) work across any kind without knowing its concrete
type.
- A root casting.schema.json lists every per-Kind schema to supports
IDEs completion from one schema URL
- cmd/foundryctl gen schemas reads a list of types from schemaTargets.
Adding a kind means adding one entry.
Related: https://github.com/SigNoz/platform-pod/issues/1970
#### Features
- Disable simdjson engine to avoid issues with CPUs that do not support
AVX2
- Remove max memory server limits
- Reduce retention for system logs/tables
- Increase flush interval to help with data flushes
#### Fixes
- Fix enricher MetaStore port from 9000 to 5432 (PostgreSQL) and
ingester port from 9000 to 4317 (OTLP
gRPC)
- Add env var support for all services from Spec.Env (populated by
moldings) instead of hardcoding
- Use enricher-provided SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN env for
ingester and migrator instead of
hardcoded DSN in command args
- Add opamp.yaml and functions.yaml config mounts (generated by moldings
but previously not mounted)
- Update ingester command to use migrate sync check + opamp config
pattern
- Update migrator command to use ready && bootstrap && sync up && async
up pattern
- Add restart policies for ingester and signoz services
- Fix telemetrystore config template to use YAML list for replicas
(avoids duplicate key error with
replicas > 1) (mapping was broken during this
https://github.com/SigNoz/foundry/pull/27 )
- Fix telemetrystore molding getData replica count: use Replicas + 1 to
match compose template semantics
- Align config output paths to include component Kind (e.g.
telemetrykeeper/clickhousekeeper/)