diff --git a/docs/examples/docker/compose/casting.yaml.lock b/docs/examples/docker/compose/casting.yaml.lock index 82f2a10..5b1624a 100644 --- a/docs/examples/docker/compose/casting.yaml.lock +++ b/docs/examples/docker/compose/casting.yaml.lock @@ -143,7 +143,7 @@ spec: status: addresses: otlp: - - tcp://signoz-ingester:9000 + - tcp://signoz-ingester:4317 config: data: ingester.yaml: | @@ -288,7 +288,7 @@ spec: status: addresses: dsn: - - tcp://signoz-metastore-postgres-0:9000 + - tcp://signoz-metastore-postgres-0:5432 config: {} env: POSTGRES_DB: signoz @@ -301,7 +301,7 @@ spec: config: {} enabled: true env: - SIGNOZ_SQLSTORE_POSTGRES_DSN: postgres://signoz:signoz@signoz-metastore-postgres-0:9000/signoz?sslmode=disable + SIGNOZ_SQLSTORE_POSTGRES_DSN: postgres://signoz:signoz@signoz-metastore-postgres-0:5432/signoz?sslmode=disable SIGNOZ_SQLSTORE_PROVIDER: postgres SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN: tcp://signoz-telemetrystore-clickhouse-0-0:9000 SIGNOZ_TELEMETRYSTORE_PROVIDER: clickhouse @@ -315,7 +315,7 @@ spec: - ws://signoz-signoz:4320 config: {} env: - SIGNOZ_SQLSTORE_POSTGRES_DSN: postgres://signoz:signoz@signoz-metastore-postgres-0:9000/signoz?sslmode=disable + SIGNOZ_SQLSTORE_POSTGRES_DSN: postgres://signoz:signoz@signoz-metastore-postgres-0:5432/signoz?sslmode=disable SIGNOZ_SQLSTORE_PROVIDER: postgres SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN: tcp://signoz-telemetrystore-clickhouse-0-0:9000 SIGNOZ_TELEMETRYSTORE_PROVIDER: clickhouse @@ -427,9 +427,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 @@ -513,9 +513,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 diff --git a/docs/examples/docker/compose/pours/deployment/compose.yaml b/docs/examples/docker/compose/pours/deployment/compose.yaml index 6df8088..2de3b01 100644 --- a/docs/examples/docker/compose/pours/deployment/compose.yaml +++ b/docs/examples/docker/compose/pours/deployment/compose.yaml @@ -4,14 +4,18 @@ networks: services: signoz-ingester: command: - - --config=/etc/otel-collector-config.yaml - depends_on: - signoz-telemetrystore-clickhouse-0-0: - condition: service_healthy - signoz-telemetrystore-migrator: - condition: service_completed_successfully + - -c + - | + /signoz-otel-collector migrate sync check && + /signoz-otel-collector --config=/etc/otel-collector-config.yaml --manager-config=/etc/opamp-config.yaml --copy-path=/var/tmp/collector-config.yaml deploy: replicas: 1 + restart_policy: + condition: on-failure + entrypoint: + - /bin/sh + environment: + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN=tcp://signoz-telemetrystore-clickhouse-0-0:9000 healthcheck: interval: 30s retries: 3 @@ -30,13 +34,14 @@ services: - 4317:4317 - 4318:4318 volumes: - - ./configs/ingester/ingester.yaml:/etc/otel-collector-config.yaml:ro + - ./ingester/ingester.yaml:/etc/otel-collector-config.yaml:ro + - ./ingester/opamp.yaml:/etc/opamp-config.yaml:ro signoz-metastore-postgres-0: container_name: signoz-metastore-postgres-0 environment: - - POSTGRES_USER=signoz - - POSTGRES_PASSWORD=signoz - POSTGRES_DB=signoz + - POSTGRES_PASSWORD=signoz + - POSTGRES_USER=signoz healthcheck: interval: 30s retries: 3 @@ -51,23 +56,14 @@ services: volumes: - signoz-metastore-0-data:/var/lib/postgresql/data signoz-signoz: - depends_on: - signoz-metastore-postgres-0: - condition: service_healthy - signoz-telemetrystore-clickhouse-0-0: - condition: service_healthy deploy: - replicas: 1 + restart_policy: + condition: on-failure environment: - - SIGNOZ_ALERTMANAGER_PROVIDER=signoz + - SIGNOZ_SQLSTORE_POSTGRES_DSN=postgres://signoz:signoz@signoz-metastore-postgres-0:5432/signoz?sslmode=disable + - SIGNOZ_SQLSTORE_PROVIDER=postgres - SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://signoz-telemetrystore-clickhouse-0-0:9000 - - SIGNOZ_SQLSTORE_SQLITE_PATH=/var/lib/signoz/signoz.db - - DASHBOARDS_PATH=/root/config/dashboards - - STORAGE=clickhouse - - GODEBUG=netdns=go - - TELEMETRY_ENABLED=true - - DEPLOYMENT_TYPE=docker-standalone-amd - - DOT_METRICS_ENABLED=true + - SIGNOZ_TELEMETRYSTORE_PROVIDER=clickhouse healthcheck: interval: 30s retries: 3 @@ -77,15 +73,13 @@ services: - wget - --spider - -q - - http://localhost:3301/api/v1/health + - http://localhost:8080/api/v1/health timeout: 10s image: signoz/signoz:latest networks: - signoz-network ports: - 8080:8080 - volumes: - - signoz-signoz-0-data:/var/lib/signoz signoz-telemetrykeeper-clickhousekeeper-0: container_name: signoz-telemetrykeeper-clickhousekeeper-0 entrypoint: @@ -110,7 +104,7 @@ services: - signoz-network volumes: - signoz-telemetrykeeper-0-data:/var/lib/clickhouse-keeper - - ./configs/telemetrykeeper/keeper-0.yaml:/etc/clickhouse-keeper/keeper.yaml:ro + - ./telemetrykeeper/clickhousekeeper/keeper-0.yaml:/etc/clickhouse-keeper/keeper.yaml:ro signoz-telemetrystore-clickhouse-0-0: container_name: signoz-telemetrystore-clickhouse-0-0 depends_on: @@ -138,7 +132,8 @@ services: volumes: - signoz-telemetrystore-0-0-data:/var/lib/clickhouse - signoz-telemetrystore-user-scripts:/var/lib/clickhouse/user_scripts:ro - - ./configs/telemetrystore/config.yaml:/etc/clickhouse-server/config.yaml:ro + - ./telemetrystore/clickhouse/config.yaml:/etc/clickhouse-server/config.yaml:ro + - ./telemetrystore/clickhouse/functions.yaml:/etc/clickhouse-server/functions.yaml:ro signoz-telemetrystore-clickhouse-user-scripts: command: - bash @@ -160,22 +155,22 @@ services: - signoz-telemetrystore-user-scripts:/var/lib/clickhouse/user_scripts signoz-telemetrystore-migrator: command: - - /signoz-otel-collector migrate bootstrap --clickhouse-dsn tcp://signoz-telemetrystore-clickhouse-0-0:9000 - - /signoz-otel-collector migrate sync up --clickhouse-dsn tcp://signoz-telemetrystore-clickhouse-0-0:9000 - - /signoz-otel-collector migrate async up --clickhouse-dsn tcp://signoz-telemetrystore-clickhouse-0-0:9000 + - -c + - | + /signoz-otel-collector migrate ready && + /signoz-otel-collector migrate bootstrap && + /signoz-otel-collector migrate sync up && + /signoz-otel-collector migrate async up container_name: signoz-telemetrystore-migrator - depends_on: - signoz-telemetrystore-clickhouse-0-0: - condition: service_healthy entrypoint: - /bin/sh - - -c + environment: + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN=tcp://signoz-telemetrystore-clickhouse-0-0:9000 image: signoz/signoz-otel-collector:latest networks: - signoz-network volumes: signoz-metastore-0-data: null - signoz-signoz-0-data: null signoz-telemetrykeeper-0-data: null signoz-telemetrystore-0-0-data: null signoz-telemetrystore-user-scripts: null diff --git a/docs/examples/docker/compose/pours/deployment/configs/ingester/ingester.yaml b/docs/examples/docker/compose/pours/deployment/ingester/ingester.yaml similarity index 100% rename from docs/examples/docker/compose/pours/deployment/configs/ingester/ingester.yaml rename to docs/examples/docker/compose/pours/deployment/ingester/ingester.yaml diff --git a/docs/examples/docker/compose/pours/deployment/configs/ingester/opamp.yaml b/docs/examples/docker/compose/pours/deployment/ingester/opamp.yaml similarity index 100% rename from docs/examples/docker/compose/pours/deployment/configs/ingester/opamp.yaml rename to docs/examples/docker/compose/pours/deployment/ingester/opamp.yaml diff --git a/docs/examples/docker/compose/pours/deployment/configs/telemetrykeeper/keeper-0.yaml b/docs/examples/docker/compose/pours/deployment/telemetrykeeper/clickhousekeeper/keeper-0.yaml similarity index 100% rename from docs/examples/docker/compose/pours/deployment/configs/telemetrykeeper/keeper-0.yaml rename to docs/examples/docker/compose/pours/deployment/telemetrykeeper/clickhousekeeper/keeper-0.yaml diff --git a/docs/examples/docker/compose/pours/deployment/configs/telemetrystore/config.yaml b/docs/examples/docker/compose/pours/deployment/telemetrystore/clickhouse/config.yaml similarity index 96% rename from docs/examples/docker/compose/pours/deployment/configs/telemetrystore/config.yaml rename to docs/examples/docker/compose/pours/deployment/telemetrystore/clickhouse/config.yaml index b5cf8a9..1cfc204 100644 --- a/docs/examples/docker/compose/pours/deployment/configs/telemetrystore/config.yaml +++ b/docs/examples/docker/compose/pours/deployment/telemetrystore/clickhouse/config.yaml @@ -35,7 +35,7 @@ remote_servers: cluster: shard: - replica: - host: signoz-telemetrystore-clickhouse-0-0 + - host: signoz-telemetrystore-clickhouse-0-0 port: 9000 tcp_port: 9000 tmp_path: /var/lib/clickhouse/tmp/ diff --git a/docs/examples/docker/compose/pours/deployment/configs/telemetrystore/functions.yaml b/docs/examples/docker/compose/pours/deployment/telemetrystore/clickhouse/functions.yaml similarity index 100% rename from docs/examples/docker/compose/pours/deployment/configs/telemetrystore/functions.yaml rename to docs/examples/docker/compose/pours/deployment/telemetrystore/clickhouse/functions.yaml diff --git a/docs/examples/docker/swarm/casting.yaml.lock b/docs/examples/docker/swarm/casting.yaml.lock index 1182144..4fab98e 100644 --- a/docs/examples/docker/swarm/casting.yaml.lock +++ b/docs/examples/docker/swarm/casting.yaml.lock @@ -427,9 +427,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 @@ -513,9 +513,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 diff --git a/docs/examples/docker/swarm/pours/deployment/telemetrystore/clickhouse/config.yaml b/docs/examples/docker/swarm/pours/deployment/telemetrystore/clickhouse/config.yaml index b5cf8a9..1cfc204 100644 --- a/docs/examples/docker/swarm/pours/deployment/telemetrystore/clickhouse/config.yaml +++ b/docs/examples/docker/swarm/pours/deployment/telemetrystore/clickhouse/config.yaml @@ -35,7 +35,7 @@ remote_servers: cluster: shard: - replica: - host: signoz-telemetrystore-clickhouse-0-0 + - host: signoz-telemetrystore-clickhouse-0-0 port: 9000 tcp_port: 9000 tmp_path: /var/lib/clickhouse/tmp/ diff --git a/docs/examples/kubernetes/kustomize/casting.yaml.lock b/docs/examples/kubernetes/kustomize/casting.yaml.lock index 3af740e..191ad7a 100644 --- a/docs/examples/kubernetes/kustomize/casting.yaml.lock +++ b/docs/examples/kubernetes/kustomize/casting.yaml.lock @@ -452,7 +452,7 @@ spec: cluster: shard: - replica: - host: signoz-clickhouse + - host: signoz-clickhouse port: 9000 send_crash_reports: enabled: false @@ -600,7 +600,7 @@ spec: cluster: shard: - replica: - host: signoz-clickhouse + - host: signoz-clickhouse port: 9000 send_crash_reports: enabled: false diff --git a/docs/examples/render/blueprint/casting.yaml.lock b/docs/examples/render/blueprint/casting.yaml.lock index ef115a5..1eea9b4 100644 --- a/docs/examples/render/blueprint/casting.yaml.lock +++ b/docs/examples/render/blueprint/casting.yaml.lock @@ -426,9 +426,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 @@ -512,9 +512,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: signoz-telemetrystore-clickhouse-0-0 - port: 9000 + - replica: + - host: signoz-telemetrystore-clickhouse-0-0 + port: 9000 zookeeper: node: - host: signoz-telemetrykeeper-clickhousekeeper-0 diff --git a/docs/examples/render/blueprint/pours/deployment/configs/telemetrystore/config.d/config.yaml b/docs/examples/render/blueprint/pours/deployment/configs/telemetrystore/config.d/config.yaml index b5cf8a9..1cfc204 100644 --- a/docs/examples/render/blueprint/pours/deployment/configs/telemetrystore/config.d/config.yaml +++ b/docs/examples/render/blueprint/pours/deployment/configs/telemetrystore/config.d/config.yaml @@ -35,7 +35,7 @@ remote_servers: cluster: shard: - replica: - host: signoz-telemetrystore-clickhouse-0-0 + - host: signoz-telemetrystore-clickhouse-0-0 port: 9000 tcp_port: 9000 tmp_path: /var/lib/clickhouse/tmp/ diff --git a/docs/examples/systemd/binary/casting.yaml.lock b/docs/examples/systemd/binary/casting.yaml.lock index e5478a0..eb90ad2 100644 --- a/docs/examples/systemd/binary/casting.yaml.lock +++ b/docs/examples/systemd/binary/casting.yaml.lock @@ -431,9 +431,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: localhost - port: 9000 + - replica: + - host: localhost + port: 9000 zookeeper: node: - host: localhost @@ -517,9 +517,9 @@ spec: remote_servers: cluster: shard: - - replica: - host: localhost - port: 9000 + - replica: + - host: localhost + port: 9000 zookeeper: node: - host: localhost diff --git a/docs/examples/systemd/binary/pours/deployment/configs/telemetrystore/config.yaml b/docs/examples/systemd/binary/pours/deployment/configs/telemetrystore/config.yaml index 5a162b0..ce995e2 100644 --- a/docs/examples/systemd/binary/pours/deployment/configs/telemetrystore/config.yaml +++ b/docs/examples/systemd/binary/pours/deployment/configs/telemetrystore/config.yaml @@ -35,7 +35,7 @@ remote_servers: cluster: shard: - replica: - host: localhost + - host: localhost port: 9000 tcp_port: 9000 tmp_path: /var/lib/clickhouse/tmp/ diff --git a/internal/casting/dockercomposecasting/casting.go b/internal/casting/dockercomposecasting/casting.go index b98ef1e..6e8219c 100644 --- a/internal/casting/dockercomposecasting/casting.go +++ b/internal/casting/dockercomposecasting/casting.go @@ -54,7 +54,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config v1alpha1. // Add telemetrykeeper config files for filename, content := range config.Spec.TelemetryKeeper.Spec.Config.Data { - material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "telemetrykeeper", filename)) + material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "telemetrykeeper", config.Spec.TelemetryKeeper.Kind.String(), filename)) if err != nil { return nil, fmt.Errorf("failed to create telemetrykeeper config material: %w", err) } @@ -63,7 +63,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config v1alpha1. // Add telemetrystore config files for filename, content := range config.Spec.TelemetryStore.Spec.Config.Data { - material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "telemetrystore", filename)) + material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "telemetrystore", config.Spec.TelemetryStore.Kind.String(), filename)) if err != nil { return nil, fmt.Errorf("failed to create telemetrystore config material: %w", err) } @@ -72,7 +72,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config v1alpha1. // Add metastore config files for filename, content := range config.Spec.MetaStore.Spec.Config.Data { - material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "metastore", filename)) + material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "metastore", config.Spec.MetaStore.Kind.String(), filename)) if err != nil { return nil, fmt.Errorf("failed to create metastore config material: %w", err) } @@ -81,7 +81,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config v1alpha1. // Add signoz config files for filename, content := range config.Spec.Signoz.Spec.Config.Data { - material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "signoz", filename)) + material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "signoz", filename)) if err != nil { return nil, fmt.Errorf("failed to create signoz config material: %w", err) } @@ -90,7 +90,7 @@ func (casting *dockerComposeCasting) Forge(ctx context.Context, config v1alpha1. // Add ingester config files for filename, content := range config.Spec.Ingester.Spec.Config.Data { - material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "configs", "ingester", filename)) + material, err := types.NewYAMLMaterial([]byte(content), filepath.Join(rootcasting.DeploymentDir, "ingester", filename)) if err != nil { return nil, fmt.Errorf("failed to create ingester config material: %w", err) } diff --git a/internal/casting/dockercomposecasting/enricher.go b/internal/casting/dockercomposecasting/enricher.go index e692b3c..d949e1c 100644 --- a/internal/casting/dockercomposecasting/enricher.go +++ b/internal/casting/dockercomposecasting/enricher.go @@ -98,7 +98,7 @@ func (enricher *dockerComposeMoldingEnricher) EnrichStatus(ctx context.Context, var metastoreContainerNames []string for _, containerName := range containerNames { if strings.Contains(containerName, "metastore") { - metastoreContainerNames = append(metastoreContainerNames, types.FormatAddress("tcp", containerName, 9000)) + metastoreContainerNames = append(metastoreContainerNames, types.FormatAddress("tcp", containerName, 5432)) } } @@ -114,7 +114,7 @@ func (enricher *dockerComposeMoldingEnricher) EnrichStatus(ctx context.Context, var ingesterContainerNames []string for _, containerName := range containerNames { if strings.Contains(containerName, "ingester") { - ingesterContainerNames = append(ingesterContainerNames, types.FormatAddress("tcp", containerName, 9000)) + ingesterContainerNames = append(ingesterContainerNames, types.FormatAddress("tcp", containerName, 4317)) } } diff --git a/internal/casting/dockercomposecasting/templates/compose.yaml.gotmpl b/internal/casting/dockercomposecasting/templates/compose.yaml.gotmpl index ecbe33c..6972131 100644 --- a/internal/casting/dockercomposecasting/templates/compose.yaml.gotmpl +++ b/internal/casting/dockercomposecasting/templates/compose.yaml.gotmpl @@ -1,13 +1,19 @@ services: {{- range $replicaIdx := until (int $.Spec.TelemetryKeeper.Spec.Cluster.Replicas) }} {{ $.Metadata.Name }}-telemetrykeeper-{{ $.Spec.TelemetryKeeper.Kind }}-{{ $replicaIdx }}: - container_name: {{ $.Metadata.Name }}-telemetrykeeper-{{ $.Spec.TelemetryKeeper.Kind }}-{{ $replicaIdx }} + container_name: {{ $.Metadata.Name }}-telemetrykeeper-{{ $.Spec.TelemetryKeeper.Kind }}-{{ $replicaIdx }} image: {{ $.Spec.TelemetryKeeper.Spec.Image }} networks: - {{ $.Metadata.Name }}-network + {{- if $.Spec.TelemetryKeeper.Spec.Env }} + environment: + {{- range $key, $value := $.Spec.TelemetryKeeper.Spec.Env }} + - {{ $key }}={{ $value }} + {{- end }} + {{- end }} volumes: - {{ $.Metadata.Name }}-telemetrykeeper-{{ $replicaIdx }}-data:/var/lib/clickhouse-keeper - - ./configs/telemetrykeeper/keeper-{{ $replicaIdx }}.yaml:/etc/clickhouse-keeper/keeper.yaml:ro + - ./telemetrykeeper/{{ $.Spec.TelemetryKeeper.Kind }}/keeper-{{ $replicaIdx }}.yaml:/etc/clickhouse-keeper/keeper.yaml:ro entrypoint: - /usr/bin/clickhouse-keeper - --config-file=/etc/clickhouse-keeper/keeper.yaml @@ -26,8 +32,8 @@ services: retries: 3 start_period: 40s {{- end }} - {{- range $shardIdx := .Spec.TelemetryStore.Spec.Cluster.Shards }} - {{- range $replicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }} + {{- range $shardIdx := until (int $.Spec.TelemetryStore.Spec.Cluster.Shards) }} + {{- range $replicaIdx := until (int (add 1 (int $.Spec.TelemetryStore.Spec.Cluster.Replicas))) }} {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }}: container_name: {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }} depends_on: @@ -43,10 +49,16 @@ services: environment: - CLICKHOUSE_SKIP_USER_SETUP=1 - CLICKHOUSE_CONFIG=/etc/clickhouse-server/config.yaml + {{- if $.Spec.TelemetryStore.Spec.Env }} + {{- range $key, $value := $.Spec.TelemetryStore.Spec.Env }} + - {{ $key }}={{ $value }} + {{- end }} + {{- end }} volumes: - {{ $.Metadata.Name }}-telemetrystore-{{ $shardIdx }}-{{ $replicaIdx }}-data:/var/lib/clickhouse - {{ $.Metadata.Name }}-telemetrystore-user-scripts:/var/lib/clickhouse/user_scripts:ro - - ./configs/telemetrystore/config.yaml:/etc/clickhouse-server/config.yaml:ro + - ./telemetrystore/{{ $.Spec.TelemetryStore.Kind }}/config.yaml:/etc/clickhouse-server/config.yaml:ro + - ./telemetrystore/{{ $.Spec.TelemetryStore.Kind }}/functions.yaml:/etc/clickhouse-server/functions.yaml:ro healthcheck: test: - "CMD" @@ -85,10 +97,12 @@ services: image: docker.io/{{ $.Spec.MetaStore.Kind }}:{{ $.Spec.MetaStore.Spec.Version }} networks: - {{ $.Metadata.Name }}-network + {{- if $.Spec.MetaStore.Spec.Env }} environment: - - POSTGRES_USER=signoz - - POSTGRES_PASSWORD=signoz - - POSTGRES_DB=signoz + {{- range $key, $value := $.Spec.MetaStore.Spec.Env }} + - {{ $key }}={{ $value }} + {{- end }} + {{- end }} volumes: - {{ $.Metadata.Name }}-metastore-{{ $replicaIdx }}-data:/var/lib/postgresql/data healthcheck: @@ -104,13 +118,28 @@ services: image: {{ $.Spec.Ingester.Spec.Image }} networks: - {{ $.Metadata.Name }}-network + entrypoint: + - /bin/sh command: - - "--config=/etc/otel-collector-config.yaml" + - -c + - | + /signoz-otel-collector migrate sync check && + /signoz-otel-collector --config=/etc/otel-collector-config.yaml --manager-config=/etc/opamp-config.yaml --copy-path=/var/tmp/collector-config.yaml volumes: - - ./configs/ingester/ingester.yaml:/etc/otel-collector-config.yaml:ro + - ./ingester/ingester.yaml:/etc/otel-collector-config.yaml:ro + - ./ingester/opamp.yaml:/etc/opamp-config.yaml:ro ports: - - "4317:4317" # OTLP gRPC - - "4318:4318" # OTLP HTTP + - "4317:4317" + - "4318:4318" + environment: +{{ if and $.Spec.TelemetryStore.Spec.Enabled $.Spec.TelemetryStore.Status.Addresses.TCP (index $.Spec.TelemetryStore.Status.Addresses.TCP 0) }} + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN={{ index $.Spec.TelemetryStore.Status.Addresses.TCP 0 }} +{{ end }} + {{- if $.Spec.Ingester.Spec.Env }} + {{- range $key, $value := $.Spec.Ingester.Spec.Env }} + - {{ $key }}={{ $value }} + {{- end }} + {{- end }} healthcheck: test: - "CMD" @@ -122,43 +151,20 @@ services: timeout: 10s retries: 3 start_period: 30s - depends_on: - {{- range $shardIdx := $.Spec.TelemetryStore.Spec.Cluster.Shards }} - {{- range $replicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }} - {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }}: - condition: service_healthy - {{- end }} - {{- end }} - {{ $.Metadata.Name }}-telemetrystore-migrator: - condition: service_completed_successfully deploy: replicas: {{ int $.Spec.Ingester.Spec.Cluster.Replicas }} - {{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }} + restart_policy: + condition: on-failure {{ $.Metadata.Name }}-signoz: image: {{ $.Spec.Signoz.Spec.Image }} networks: - {{ $.Metadata.Name }}-network - depends_on: - {{- range $metaIdx := until (int $.Spec.MetaStore.Spec.Cluster.Replicas) }} - {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}-{{ $metaIdx }}: - condition: service_healthy - {{- end }} - {{- range $shardIdx := $.Spec.TelemetryStore.Spec.Cluster.Shards }} - {{- range $storeReplicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }} - {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $storeReplicaIdx }}: - condition: service_healthy - {{- end }} - {{- end }} + {{- if $.Spec.Signoz.Spec.Env }} environment: - - SIGNOZ_ALERTMANAGER_PROVIDER=signoz - - SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://{{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-0-0:9000 - - SIGNOZ_SQLSTORE_SQLITE_PATH=/var/lib/signoz/signoz.db - - DASHBOARDS_PATH=/root/config/dashboards - - STORAGE=clickhouse - - GODEBUG=netdns=go - - TELEMETRY_ENABLED=true - - DEPLOYMENT_TYPE=docker-standalone-amd - - DOT_METRICS_ENABLED=true + {{- range $key, $value := $.Spec.Signoz.Spec.Env }} + - {{ $key }}={{ $value }} + {{- end }} + {{- end }} ports: - "8080:8080" healthcheck: @@ -167,35 +173,32 @@ services: - "wget" - "--spider" - "-q" - - "http://localhost:3301/api/v1/health" + - "http://localhost:8080/api/v1/health" interval: 30s timeout: 10s retries: 3 start_period: 60s deploy: - replicas: {{ int $.Spec.Signoz.Spec.Cluster.Replicas }} - volumes: - - {{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}-data:/var/lib/signoz - {{- end }} + restart_policy: + condition: on-failure {{ $.Metadata.Name }}-telemetrystore-migrator: - image: {{ $.Spec.Ingester.Spec.Image }} container_name: {{ $.Metadata.Name }}-telemetrystore-migrator + image: {{ $.Spec.Ingester.Spec.Image }} networks: - {{ $.Metadata.Name }}-network entrypoint: - - "/bin/sh" - - "-c" + - /bin/sh command: - - /signoz-otel-collector migrate bootstrap --clickhouse-dsn tcp://{{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-0-0:9000 - - /signoz-otel-collector migrate sync up --clickhouse-dsn tcp://{{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-0-0:9000 - - /signoz-otel-collector migrate async up --clickhouse-dsn tcp://{{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-0-0:9000 - depends_on: - {{- range $shardIdx := $.Spec.TelemetryStore.Spec.Cluster.Shards }} - {{- range $replicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }} - {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }}: - condition: service_healthy - {{- end }} - {{- end }} + - -c + - | + /signoz-otel-collector migrate ready && + /signoz-otel-collector migrate bootstrap && + /signoz-otel-collector migrate sync up && + /signoz-otel-collector migrate async up + environment: +{{ if and $.Spec.TelemetryStore.Spec.Enabled $.Spec.TelemetryStore.Status.Addresses.TCP (index $.Spec.TelemetryStore.Status.Addresses.TCP 0) }} + - SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN={{ index $.Spec.TelemetryStore.Status.Addresses.TCP 0 }} +{{ end }} networks: {{ $.Metadata.Name }}-network: name: {{ $.Metadata.Name }}-network @@ -203,8 +206,8 @@ volumes: {{- range $replicaIdx := until (int $.Spec.TelemetryKeeper.Spec.Cluster.Replicas) }} {{ $.Metadata.Name }}-telemetrykeeper-{{ $replicaIdx }}-data: {{- end }} - {{- range $shardIdx := $.Spec.TelemetryStore.Spec.Cluster.Shards }} - {{- range $replicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }} + {{- range $shardIdx := until (int $.Spec.TelemetryStore.Spec.Cluster.Shards) }} + {{- range $replicaIdx := until (int (add 1 (int $.Spec.TelemetryStore.Spec.Cluster.Replicas))) }} {{ $.Metadata.Name }}-telemetrystore-{{ $shardIdx }}-{{ $replicaIdx }}-data: {{- end }} {{- end }} @@ -212,6 +215,3 @@ volumes: {{- range $replicaIdx := until (int $.Spec.MetaStore.Spec.Cluster.Replicas) }} {{ $.Metadata.Name }}-metastore-{{ $replicaIdx }}-data: {{- end }} - {{- range $replicaIdx := until (int $.Spec.Signoz.Spec.Cluster.Replicas) }} - {{ $.Metadata.Name }}-signoz-{{ $replicaIdx }}-data: - {{- end }} diff --git a/internal/molding/telemetrystoremolding/telemetrystore.go b/internal/molding/telemetrystoremolding/telemetrystore.go index cdd0cbe..c3e202f 100644 --- a/internal/molding/telemetrystoremolding/telemetrystore.go +++ b/internal/molding/telemetrystoremolding/telemetrystore.go @@ -74,8 +74,15 @@ func (molding *telemetrystore) getData(config *v1alpha1.Casting) (Data, error) { cluster := config.Spec.TelemetryStore.Spec.Cluster - shardCount := max(*cluster.Shards, 1) - replicaCount := max(*cluster.Replicas, 1) + shardCount := 1 + if cluster.Shards != nil && *cluster.Shards > 0 { + shardCount = *cluster.Shards + } + + replicaCount := 1 + if cluster.Replicas != nil { + replicaCount = *cluster.Replicas + 1 + } expectedNodes := shardCount * replicaCount if len(storeAddresses) < expectedNodes { diff --git a/internal/molding/telemetrystoremolding/templates/config.clickhouse.v2556.yaml.gotmpl b/internal/molding/telemetrystoremolding/templates/config.clickhouse.v2556.yaml.gotmpl index 3fc5959..2a9a053 100644 --- a/internal/molding/telemetrystoremolding/templates/config.clickhouse.v2556.yaml.gotmpl +++ b/internal/molding/telemetrystoremolding/templates/config.clickhouse.v2556.yaml.gotmpl @@ -40,13 +40,13 @@ remote_servers: cluster: shard: {{- range $s := until .ShardCount }} - - replica: - {{- range $r := until $.ReplicaCount }} + - replica: + {{- range $r := until $.ReplicaCount }} {{- $idx := add (mul $s $.ReplicaCount) $r }} {{- $addr := index $.StoreAddresses $idx }} - host: {{ $addr.Host }} - port: {{ $addr.Port }} - {{- end }} + - host: {{ $addr.Host }} + port: {{ $addr.Port }} +{{- end }} {{- end }} zookeeper: node: