121 lines
4.5 KiB
Smarty
121 lines
4.5 KiB
Smarty
{{- define "destinations.pyroscope.alloy" }}
|
|
{{- $defaultValues := "destinations/pyroscope-values.yaml" | .Files.Get | fromYaml }}
|
|
{{- with merge .destination $defaultValues }}
|
|
pyroscope.write {{ include "helper.alloy_name" .name | quote }} {
|
|
endpoint {
|
|
{{- if .urlFrom }}
|
|
url = {{ .urlFrom }}
|
|
{{- else }}
|
|
url = {{ .url | quote }}
|
|
{{- end }}
|
|
headers = {
|
|
{{- if eq (include "secrets.usesSecret" (dict "object" . "key" "tenantId")) "true" }}
|
|
"X-Scope-OrgID" = {{ include "secrets.read" (dict "object" . "key" "tenantId" "nonsensitive" true) }},
|
|
{{- end }}
|
|
{{- range $key, $value := .extraHeaders }}
|
|
{{ $key | quote }} = {{ $value | quote }},
|
|
{{- end }}
|
|
{{- range $key, $value := .extraHeadersFrom }}
|
|
{{ $key | quote }} = {{ $value }},
|
|
{{- end }}
|
|
}
|
|
|
|
{{- if eq (include "secrets.authType" .) "basic" }}
|
|
basic_auth {
|
|
username = {{ include "secrets.read" (dict "object" . "key" "auth.username" "nonsensitive" true) }}
|
|
password = {{ include "secrets.read" (dict "object" . "key" "auth.password") }}
|
|
}
|
|
{{- else if eq (include "secrets.authType" .) "bearerToken" }}
|
|
bearer_token = {{ include "secrets.read" (dict "object" . "key" "auth.bearerToken") }}
|
|
{{- else if eq (include "secrets.authType" .) "oauth2" }}
|
|
oauth2 {
|
|
client_id = {{ include "secrets.read" (dict "object" . "key" "auth.oauth2.clientId" "nonsensitive" true) }}
|
|
{{- if eq .auth.oauth2.clientSecretFile "" }}
|
|
client_secret = {{ include "secrets.read" (dict "object" . "key" "auth.oauth2.clientSecret") }}
|
|
{{- else }}
|
|
client_secret_file = {{ .auth.oauth2.clientSecretFile | quote }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.endpointParams }}
|
|
endpoint_params = {
|
|
{{- range $k, $v := .auth.oauth2.endpointParams }}
|
|
{{ $k }} = {{ $v | toJson }},
|
|
{{- end }}
|
|
}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.proxyURL }}
|
|
proxy_url = {{ .auth.oauth2.proxyURL | quote }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.noProxy }}
|
|
no_proxy = {{ .auth.oauth2.noProxy | quote }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.proxyFromEnvironment }}
|
|
proxyFromEnvironment = {{ .auth.oauth2.proxyFromEnvironment }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.proxyConnectHeader }}
|
|
proxy_connect_header = {{ .auth.oauth2.proxyConnectHeader | toJson }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.scopes }}
|
|
scopes = {{ .auth.oauth2.scopes | toJson }}
|
|
{{- end }}
|
|
{{- if .auth.oauth2.tokenURL }}
|
|
token_url = {{ .auth.oauth2.tokenURL | quote }}
|
|
{{- end }}
|
|
}
|
|
{{- end }}
|
|
|
|
{{- if .tls }}
|
|
tls_config {
|
|
insecure_skip_verify = {{ .tls.insecureSkipVerify | default false }}
|
|
{{- if .tls.caFile }}
|
|
ca_file = {{ .tls.caFile | quote }}
|
|
{{- else if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.ca")) "true" }}
|
|
ca_pem = {{ include "secrets.read" (dict "object" . "key" "tls.ca" "nonsensitive" true) }}
|
|
{{- end }}
|
|
{{- if .tls.certFile }}
|
|
cert_file = {{ .tls.certFile | quote }}
|
|
{{- else if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.cert")) "true" }}
|
|
cert_pem = {{ include "secrets.read" (dict "object" . "key" "tls.cert" "nonsensitive" true) }}
|
|
{{- end }}
|
|
{{- if .tls.keyFile }}
|
|
key_file = {{ .tls.keyFile | quote }}
|
|
{{- else if eq (include "secrets.usesSecret" (dict "object" . "key" "tls.key")) "true" }}
|
|
key_pem = {{ include "secrets.read" (dict "object" . "key" "tls.key") }}
|
|
{{- end }}
|
|
}
|
|
{{- end }}
|
|
}
|
|
|
|
external_labels = {
|
|
cluster = {{ $.Values.cluster.name | quote }},
|
|
k8s_cluster_name = {{ $.Values.cluster.name | quote }},
|
|
{{- range $key, $value := .extraLabels }}
|
|
{{ $key }} = {{ $value | quote }},
|
|
{{- end }}
|
|
{{- range $key, $value := .extraLabelsFrom }}
|
|
{{ $key }} = {{ $value }},
|
|
{{- end }}
|
|
}
|
|
}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- define "secrets.list.pyroscope" -}}
|
|
- tenantId
|
|
- auth.username
|
|
- auth.password
|
|
- auth.bearerToken
|
|
- auth.oauth2.clientId
|
|
- auth.oauth2.clientSecret
|
|
- tls.ca
|
|
- tls.cert
|
|
- tls.key
|
|
{{- end -}}
|
|
|
|
{{- define "destinations.pyroscope.alloy.pyroscope.profiles.target" }}pyroscope.write.{{ include "helper.alloy_name" .name }}.receiver{{ end -}}
|
|
|
|
{{- define "destinations.pyroscope.supports_metrics" }}false{{ end -}}
|
|
{{- define "destinations.pyroscope.supports_logs" }}false{{ end -}}
|
|
{{- define "destinations.pyroscope.supports_traces" }}false{{ end -}}
|
|
{{- define "destinations.pyroscope.supports_profiles" }}true{{ end -}}
|
|
{{- define "destinations.pyroscope.ecosystem" }}pyroscope{{ end -}}
|