Skip to content

Commit

Permalink
Backport of Add telemetry collector deployment to consul-k8s into rel…
Browse files Browse the repository at this point in the history
…ease/1.1.x (#2141)

* backport of commit 5cbf487

* backport of commit 6234911

* backport of commit 2c492ee

* backport of commit f052485

* backport of commit f173262

* backport of commit 81eb6b5

* backport of commit 3a41804

* backport of commit f2f7c14

* backport of commit f0b49fd

* backport of commit 8e8cd50

* backport of commit 4617b86

* backport of commit 87d689a

* backport of commit 2ed835a

* backport of commit ea8b0b0

* backport of commit b91ddc3

* backport of commit 29f3457

* backport of commit 30bb4f0

* backport of commit 3eb4c75

* backport of commit cd27116

* backport of commit 2f0d475

* backport of commit e746310

* backport of commit 53e24f8

* backport of commit aa4fff8

* backport of commit 0d10cb4

* backport of commit 3434020

* backport of commit 07e9213

* backport of commit f62ab8a

* backport of commit a4af066

* backport of commit bba8c0c

* backport of commit 5676c38

* backport of commit af72763

* backport of commit e6a01a2

* backport of commit 53df345

* backport of commit 9d1ccde

* backport of commit 2e686ad

* backport of commit f2e6891

* backport of commit eb80f7f

---------

Co-authored-by: Connor Kelly <connor.kelly@hashicorp.com>
  • Loading branch information
hc-github-team-consul-core and clly authored May 17, 2023
1 parent f1bd549 commit f078a77
Show file tree
Hide file tree
Showing 17 changed files with 1,865 additions and 12 deletions.
3 changes: 3 additions & 0 deletions .changelog/2134.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:feature
Add support for consul-telemetry-collector to forward envoy metrics to an otelhttp compatible receiver or HCP
```
36 changes: 36 additions & 0 deletions charts/consul/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -387,3 +387,39 @@ Usage: {{ template "consul.validateCloudSecretKeys" . }}
{{- end }}
{{- end }}
{{- end -}}


{{/*
Fails if temeletryCollector.clientId or telemetryCollector.clientSecret exist and one of other secrets is nil or empty.
- telemetryCollector.cloud.clientId.secretName
- telemetryCollector.cloud.clientSecret.secretName
- global.cloud.resourceId.secretName
Usage: {{ template "consul.validateTelemetryCollectorCloud" . }}

*/}}
{{- define "consul.validateTelemetryCollectorCloud" -}}
{{- if (and .Values.telemetryCollector.cloud.clientId.secretName (or (not .Values.global.cloud.resourceId.secretName) (not .Values.telemetryCollector.cloud.clientSecret.secretName))) }}
{{fail "When telemetryCollector.cloud.clientId.secretName is set, global.cloud.resourceId.secretName, telemetryCollector.cloud.clientSecret.secretName must also be set."}}
{{- end }}
{{- if (and .Values.telemetryCollector.cloud.clientSecret.secretName (or (not .Values.global.cloud.resourceId.secretName) (not .Values.telemetryCollector.cloud.clientSecret.secretName))) }}
{{fail "When telemetryCollector.cloud.clientSecret.secretName is set, global.cloud.resourceId.secretName,telemetryCollector.cloud.clientId.secretName must also be set."}}
{{- end }}
{{- end }}

{{/**/}}

{{- define "consul.validateTelemetryCollectorCloudSecretKeys" -}}
{{- if or (and .Values.telemetryCollector.cloud.clientId.secretName (not .Values.telemetryCollector.cloud.clientId.secretKey)) (and .Values.telemetryCollector.cloud.clientId.secretKey (not .Values.telemetryCollector.cloud.clientId.secretName)) }}
{{fail "When either telemetryCollector.cloud.clientId.secretName or telemetryCollector.cloud.clientId.secretKey is defined, both must be set."}}
{{- end }}
{{- if or (and .Values.telemetryCollector.cloud.clientSecret.secretName (not .Values.telemetryCollector.cloud.clientSecret.secretKey)) (and .Values.telemetryCollector.cloud.clientSecret.secretKey (not .Values.telemetryCollector.cloud.clientSecret.secretName)) }}
{{fail "When either telemetryCollector.cloud.clientSecret.secretName or telemetryCollector.cloud.clientSecret.secretKey is defined, both must be set."}}
{{- end }}
{{- if or (and .Values.telemetryCollector.cloud.clientSecret.secretName .Values.telemetryCollector.cloud.clientSecret.secretKey .Values.telemetryCollector.cloud.clientId.secretName .Values.telemetryCollector.cloud.clientId.secretKey (not .Values.global.cloud.resourceId.secretName)) }}
{{fail "When telemetryCollector has clientId and clientSecret global.cloud.resourceId.secretName must be set"}}
{{- end }}
{{- if or (and .Values.telemetryCollector.cloud.clientSecret.secretName .Values.telemetryCollector.cloud.clientSecret.secretKey .Values.telemetryCollector.cloud.clientId.secretName .Values.telemetryCollector.cloud.clientId.secretKey (not .Values.global.cloud.resourceId.secretKey)) }}
{{fail "When telemetryCollector has clientId and clientSecret .global.cloud.resourceId.secretKey must be set"}}
{{- end }}
{{- end -}}
18 changes: 18 additions & 0 deletions charts/consul/templates/telemetry-collector-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if (and .Values.telemetryCollector.enabled .Values.telemetryCollector.customExporterConfig) }}
# Immutable ConfigMap which saves the partition name. Attempting to update this configmap
# with a new Admin Partition name will cause the helm upgrade to fail
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "consul.fullname" . }}-telemetry-collector
namespace: {{ .Release.Namespace }}
labels:
app: {{ template "consul.name" . }}
chart: {{ template "consul.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
component: consul-telemetry-collector
data:
config.json: |-
{{ tpl .Values.telemetryCollector.customExporterConfig . | trimAll "\"" | indent 4 }}
{{- end }}
Loading

0 comments on commit f078a77

Please sign in to comment.