role: Aggregator
replicas: {{ .Replicas }}
image:
  repository: "{{ .ImageRepo }}"
  tag: "{{ .ImageTag }}"
resources: {{ .Resources }}
env:
- name: VECTOR_STS_REPLICA_COUNT
  value: "{{ .Replicas }}"
- name: VECTOR_STS_ID
  valueFrom:
    fieldRef:
      fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
podPriorityClassName: "{{ .PriorityClassName }}"
podLabels:
  vector.dev/exclude: "false"
  controller/component: "vector"
  controller/agent: "sharedpool"
  controller/ref-namespace: "{{ .RefNamespace }}"
  controller/ref-name: "{{ .RefName }}"
podSecurityContext:
  runAsNonRoot: true
  runAsUser: 1000
  runAsGroup: 2000
  fsGroup: 2000
securityContext:
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false
  privileged: false
  capabilities:
    drop:
    - NET_RAW
persistence:
  enabled: true
  size: 10Gi
  storageClassName: o11y-metric-agent
  hostPath:
    enabled: false
service:
  enabled: false
extraVolumes:
- name: tidb-tls
  secret:
    secretName: "{{ .TLSSecretName }}"
    items:
    - key: ca.crt
      path: ca.crt
    - key: tls.crt
      path: tls.crt
    - key: tls.key
      path: tls.key
extraVolumeMounts:
- name: tidb-tls
  mountPath: /etc/vector/tidb-tls
dataDir: /vector-data-dir
customConfig:
  data_dir: /vector-data-dir
  api:
    enabled: true
    address: 127.0.0.1:8686
    playground: false
  sources:
    internal_metrics:
      type: internal_metrics
    topsql_v2:
      type: topsql_v2
      downsampling_interval: 60
      top_n: 100
      pd_address: "{{ .PDAddress }}"
      manager_server_address: "{{ .ManagerServerURL }}"
      tidb_namespace: "{{ .TiDBNamespace }}"
      enable_tikv_topsql: {{ .EnableTiKVTopSQL }}
      topology_fetch_interval_seconds: 10
      init_retry_delay_seconds: 5
      tls:
        ca_file: "/etc/vector/tidb-tls/ca.crt"
        crt_file: "/etc/vector/tidb-tls/tls.crt"
        key_file: "/etc/vector/tidb-tls/tls.key"
        verify_hostname: false
        verify_certificate: false
      topru:
        enable: true
        report_interval_seconds: 60
        item_interval_seconds: 60
  transforms:
    route_by_type:
      type: route
      inputs:
      - topsql_v2
      route:
        non_meta_logs: .source_table == "tidb_topsql" || .source_table == "tikv_topsql" || .source_table == "tikv_topregion" || .source_table == "topsql_topru"
        meta_logs: .source_table == "topsql_sql_meta" || .source_table == "topsql_plan_meta"
  sinks:
    prom_exporter:
      type: prometheus_exporter
      inputs:
      - internal_metrics
      address: 0.0.0.0:9090
    topsql_s3_data:
      type: topsql_data_deltalake
      inputs:
      - route_by_type.non_meta_logs
      base_path: "s3://{{ .Bucket }}/deltalake/org=xxx/cluster=xxx/type=topsql"
      bucket: "{{ .Bucket }}"
      region: "{{ .Region }}"
      batch_size: 1000
      timeout_secs: 30
      max_delay_secs: 10
      enable_keyspace_cluster_mapping: true
      pd_address: "{{ .PDAddress }}"
      pd_tls:
        ca_file: "/etc/vector/tidb-tls/ca.crt"
        crt_file: "/etc/vector/tidb-tls/tls.crt"
        key_file: "/etc/vector/tidb-tls/tls.key"
        verify_hostname: false
        verify_certificate: false
      auth:
        assume_role: "{{ .RoleARN }}"
    topsql_s3_meta:
      type: topsql_meta_deltalake
      inputs:
      - route_by_type.meta_logs
      base_path: "s3://{{ .Bucket }}/deltalake/org=xxx/cluster=xxx/type=topsql"
      bucket: "{{ .Bucket }}"
      region: "{{ .Region }}"
      batch_size: 1000
      timeout_secs: 30
      max_delay_secs: 10
      meta_cache_capacity: 100000
      auth:
        assume_role: "{{ .RoleARN }}"
