Files

150 lines
5.4 KiB
Go Template

services:
{{ if $.Spec.TelemetryKeeper.Spec.Enabled }}
{{ range $replicaIdx := until (int $.Spec.TelemetryKeeper.Spec.Cluster.Replicas) }}
- name: {{ $.Metadata.Name }}-telemetrykeeper-{{ $.Spec.TelemetryKeeper.Kind }}-{{ $replicaIdx }}
type: pserv
plan: standard
runtime: docker
dockerfilePath: configs/telemetrykeeper/Dockerfile
dockerContext: configs/telemetrykeeper
disk:
name: {{ $.Metadata.Name }}-telemetrykeeper-{{ $.Spec.TelemetryKeeper.Kind }}-{{ $replicaIdx }}-data
mountPath: /var/lib/clickhouse-keeper
sizeGB: 5
{{ end }}
{{ end }}
{{ if $.Spec.TelemetryStore.Spec.Enabled }}
{{ range $shardIdx := $.Spec.TelemetryStore.Spec.Cluster.Shards }}
{{ range $replicaIdx := add $.Spec.TelemetryStore.Spec.Cluster.Replicas 1 }}
- name: {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }}
type: pserv
plan: standard
runtime: docker
dockerfilePath: configs/telemetrystore/Dockerfile
dockerContext: configs/telemetrystore
disk:
name: {{ $.Metadata.Name }}-telemetrystore-{{ $.Spec.TelemetryStore.Kind }}-{{ $shardIdx }}-{{ $replicaIdx }}-data
mountPath: /var/lib/clickhouse
sizeGB: 20
envVars:
- key: CLICKHOUSE_SKIP_USER_SETUP
value: "1"
- key: CLICKHOUSE_CONFIG
value: /etc/clickhouse-server/config.yaml
{{ if index $.Spec.TelemetryKeeper.Status.Extras "service_names" }}
{{ range $index, $serviceName := splitList "," (index $.Spec.TelemetryKeeper.Status.Extras "service_names") }}
- key: DEPENDENCY_LINK_{{ $index }}
fromService:
name: {{ $serviceName }}
type: pserv
property: host
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if $.Spec.Ingester.Spec.Enabled }}
{{ range $replicaIdx := until (int $.Spec.Ingester.Spec.Cluster.Replicas) }}
- name: {{ $.Metadata.Name }}-ingester-{{ $replicaIdx }}
type: pserv
plan: standard
runtime: docker
dockerfilePath: configs/ingester/Dockerfile
dockerContext: configs/ingester
envVars:
{{ if $.Spec.Ingester.Spec.Env }}
{{ range $key, $value := $.Spec.Ingester.Spec.Env }}
- key: {{ $key }}
value: {{ $value }}
{{ end }}
{{ end }}
{{ if index $.Spec.TelemetryStore.Status.Extras "service_names" }}
{{ range $index, $serviceName := splitList "," (index $.Spec.TelemetryStore.Status.Extras "service_names") }}
- key: DEPENDENCY_LINK_{{ $index }}
fromService:
name: {{ $serviceName }}
type: pserv
property: host
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ if $.Spec.O11y.Spec.Enabled }}
- name: {{ $.Metadata.Name }}-o11y
type: web
plan: standard
runtime: image
image:
url: {{ $.Spec.O11y.Spec.Image }}
healthCheckPath: /api/v1/health
envVars:
{{ if $.Spec.O11y.Spec.Env }}
{{ range $key, $value := $.Spec.O11y.Spec.Env }}
- key: {{ $key }}
value: {{ $value }}
{{ end }}
{{ end }}
{{ if and $.Spec.MetaStore.Spec.Enabled (eq ($.Spec.MetaStore.Kind.String) "postgres") }}
- key: HANZO_SQLSTORE_POSTGRES_DSN
fromDatabase:
name: {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}
property: connectionString
{{ end }}
{{ if index $.Spec.TelemetryStore.Status.Extras "service_names" }}
{{ range $index, $serviceName := splitList "," (index $.Spec.TelemetryStore.Status.Extras "service_names") }}
- key: DEPENDENCY_LINK_{{ $index }}
fromService:
name: {{ $serviceName }}
type: pserv
property: host
{{ end }}
{{ end }}
{{ end }}
{{ if $.Spec.TelemetryStore.Spec.Enabled }}
- name: {{ $.Metadata.Name}}-schema-migrator
type: worker
plan: standard
runtime: image
image:
url: {{ $.Spec.Ingester.Spec.Image }}
envVars:
{{ if index $.Spec.O11y.Spec.Env "HANZO_TELEMETRYSTORE_CLICKHOUSE_DSN" }}
- key: CLICKHOUSE_DSN
value: {{ index $.Spec.O11y.Spec.Env "HANZO_TELEMETRYSTORE_CLICKHOUSE_DSN" }}
{{ end }}
{{ range $key, $value := $.Spec.Ingester.Spec.Env }}
- key: {{ $key }}
value: {{ $value }}
{{ end }}
{{ if index $.Spec.TelemetryStore.Status.Extras "service_names" }}
{{ range $index, $serviceName := splitList "," (index $.Spec.TelemetryStore.Status.Extras "service_names") }}
- key: DEPENDENCY_LINK_{{ $index }}
fromService:
name: {{ $serviceName }}
type: pserv
property: host
{{ end }}
{{ end }}
preDeployCommand: /o11y-otel-collector migrate ready --clickhouse-dsn=${CLICKHOUSE_DSN} --timeout 60s
dockerCommand: |
/bin/sh -c /o11y-otel-collector migrate bootstrap --clickhouse-dsn=$CLICKHOUSE_DSN
&& /o11y-otel-collector migrate sync up --clickhouse-dsn=$CLICKHOUSE_DSN
&& /o11y-otel-collector migrate async up --clickhouse-dsn=$CLICKHOUSE_DSN
{{ end }}
{{ if and $.Spec.MetaStore.Spec.Enabled (eq ($.Spec.MetaStore.Kind.String) "postgres") }}
databases:
- name: {{ $.Metadata.Name }}-metastore-{{ $.Spec.MetaStore.Kind }}
plan: free
postgresMajorVersion: "{{ $.Spec.MetaStore.Spec.Version }}"
{{ if $.Spec.MetaStore.Spec.Env }}
databaseName: {{ index $.Spec.MetaStore.Spec.Env "POSTGRES_DB" }}
user: {{ index $.Spec.MetaStore.Spec.Env "POSTGRES_USER" }}
{{ end }}
ipAllowList: []
{{ end }}