diff --git a/.github/helm-values-template.yaml b/.github/helm-values-template.yaml index 9ebcf75..054043c 100644 --- a/.github/helm-values-template.yaml +++ b/.github/helm-values-template.yaml @@ -7,6 +7,10 @@ vector: auth: strategy: "bearer" token: "$SOURCE_TOKEN" + +vector-aggregator: + customConfig: + sinks: better_stack_http_metrics_sink: uri: "https://$INGESTING_HOST/metrics" auth: diff --git a/Chart.lock b/Chart.lock index 0e58c69..1c6c0e7 100644 --- a/Chart.lock +++ b/Chart.lock @@ -5,5 +5,8 @@ dependencies: - name: vector repository: https://helm.vector.dev version: 0.39.0 -digest: sha256:9421823620351d6b48b3a4f185b134592a58b12c1d9412c784c0f6ea52724b02 -generated: "2025-01-13T17:51:50.02772+01:00" +- name: vector + repository: https://helm.vector.dev + version: 0.39.0 +digest: sha256:546a3a4be8299962cb2a1158948de93086aa52ae0a930f72e215676f9af6786b +generated: "2026-05-20T10:25:36.309978+02:00" diff --git a/Chart.yaml b/Chart.yaml index 44bf3ec..5d7b02d 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,11 +1,15 @@ apiVersion: v2 name: betterstack-logs -version: 1.1.6 +version: 2.0.0 dependencies: - name: metrics-server - version: '>=0' + version: 3.12.2 repository: https://kubernetes-sigs.github.io/metrics-server/ condition: metrics-server.enabled - name: vector - version: '>=0' + version: 0.39.0 + repository: https://helm.vector.dev + - name: vector + alias: vector-aggregator + version: 0.39.0 repository: https://helm.vector.dev diff --git a/templates/rbac.yaml b/templates/rbac.yaml index 548ef01..eadb811 100644 --- a/templates/rbac.yaml +++ b/templates/rbac.yaml @@ -4,8 +4,8 @@ metadata: name: vector-metrics labels: app.kubernetes.io/name: vector - app.kubernetes.io/instance: vector - app.kubernetes.io/component: Agent + app.kubernetes.io/instance: vector-aggregator + app.kubernetes.io/component: Stateless-Aggregator rules: - apiGroups: - "metrics.k8s.io" @@ -21,15 +21,15 @@ metadata: name: vector-metrics labels: app.kubernetes.io/name: vector - app.kubernetes.io/instance: vector - app.kubernetes.io/component: Agent + app.kubernetes.io/instance: vector-aggregator + app.kubernetes.io/component: Stateless-Aggregator roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: vector-metrics subjects: - kind: ServiceAccount - name: '{{ .Release.Name }}-vector' + name: '{{ .Release.Name }}-vector-aggregator' namespace: '{{ .Release.Namespace }}' --- apiVersion: v1 @@ -37,5 +37,5 @@ kind: Secret metadata: name: vector-service-account annotations: - kubernetes.io/service-account.name: '{{ .Release.Name }}-vector' + kubernetes.io/service-account.name: '{{ .Release.Name }}-vector-aggregator' type: kubernetes.io/service-account-token diff --git a/values.yaml b/values.yaml index 8b6bf9f..4a90bb9 100644 --- a/values.yaml +++ b/values.yaml @@ -5,40 +5,12 @@ vector: role: Agent service: enabled: false - env: - - name: SERVICE_ACCOUNT_TOKEN - valueFrom: - secretKeyRef: - name: vector-service-account - key: token customConfig: # Prevent data dir read-only volume mount issue: https://github.com/vectordotdev/helm-charts/issues/226 data_dir: /vector-data-dir sources: better_stack_kubernetes_logs: type: kubernetes_logs - better_stack_kubernetes_metrics_nodes: - type: http_client - endpoint: 'https://{{ .Release.Name }}-metrics-server/apis/metrics.k8s.io/v1beta1/nodes' - auth: - strategy: bearer - token: $SERVICE_ACCOUNT_TOKEN - decoding: - codec: json - headers: - accept: - - application/json - better_stack_kubernetes_metrics_pods: - type: http_client - endpoint: 'https://{{ .Release.Name }}-metrics-server/apis/metrics.k8s.io/v1beta1/pods' - auth: - strategy: bearer - token: $SERVICE_ACCOUNT_TOKEN - decoding: - codec: json - headers: - accept: - - application/json sinks: better_stack_http_sink: type: http @@ -52,19 +24,6 @@ vector: token: ~ inputs: - better_stack_kubernetes_parser - better_stack_http_metrics_sink: - type: http - method: post - uri: https://in.logs.betterstack.com/metrics - encoding: - codec: json - compression: gzip - auth: - strategy: bearer - token: ~ - inputs: - - better_stack_kubernetes_metrics_nodes_parser - - better_stack_kubernetes_metrics_pods_parser transforms: better_stack_kubernetes_parser: type: remap @@ -377,6 +336,59 @@ vector: } else { del(.redis) } + +vector-aggregator: + role: Stateless-Aggregator + replicas: 1 + service: + enabled: false + env: + - name: SERVICE_ACCOUNT_TOKEN + valueFrom: + secretKeyRef: + name: vector-service-account + key: token + customConfig: + # Prevent data dir read-only volume mount issue: https://github.com/vectordotdev/helm-charts/issues/226 + data_dir: /vector-data-dir + sources: + better_stack_kubernetes_metrics_nodes: + type: http_client + endpoint: 'https://{{ .Release.Name }}-metrics-server/apis/metrics.k8s.io/v1beta1/nodes' + auth: + strategy: bearer + token: $SERVICE_ACCOUNT_TOKEN + decoding: + codec: json + headers: + accept: + - application/json + better_stack_kubernetes_metrics_pods: + type: http_client + endpoint: 'https://{{ .Release.Name }}-metrics-server/apis/metrics.k8s.io/v1beta1/pods' + auth: + strategy: bearer + token: $SERVICE_ACCOUNT_TOKEN + decoding: + codec: json + headers: + accept: + - application/json + sinks: + better_stack_http_metrics_sink: + type: http + method: post + uri: https://in.logs.betterstack.com/metrics + encoding: + codec: json + compression: gzip + auth: + strategy: bearer + token: ~ + inputs: + - better_stack_kubernetes_metrics_nodes_parser + - better_stack_kubernetes_metrics_pods_parser + transforms: better_stack_kubernetes_metrics_nodes_parser: type: remap inputs: