UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
Commit b7c8ecea authored by Ryan Garcia's avatar Ryan Garcia :dizzy:
Browse files

Merge branch 'tempo-authservice-integration' into 'master'

Authservice/Tempo integration

Closes #1236

See merge request platform-one/big-bang/bigbang!1883
parents 7ad1a04e c665e01c
No related branches found
No related tags found
1 merge request!1883Authservice/Tempo integration
Pipeline #892679 passed with warnings
{{- $fluxSettingsAuthservice := merge .Values.addons.authservice.flux .Values.flux -}}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled)) }}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled) (and .Values.tempo.enabled .Values.tempo.sso.enabled)) }}
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
......
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled)) }}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled) (and .Values.tempo.enabled .Values.tempo.sso.enabled)) }}
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
......
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled)) }}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled) (and .Values.tempo.enabled .Values.tempo.sso.enabled)) }}
{{- if ( include "imagePullSecret" . ) }}
apiVersion: v1
kind: Secret
......
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled)) }}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled) (and .Values.tempo.enabled .Values.tempo.sso.enabled)) }}
apiVersion: v1
kind: Namespace
metadata:
......
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled)) }}
{{- if and .Values.istio.enabled (or .Values.addons.authservice.enabled (and .Values.monitoring.enabled .Values.monitoring.sso.enabled) (and .Values.jaeger.enabled .Values.jaeger.sso.enabled) (and .Values.tempo.enabled .Values.tempo.sso.enabled)) }}
{{- include "values-secret" (dict "root" $ "package" .Values.addons.authservice "name" "authservice" "defaults" (include "bigbang.defaults.authservice" .)) }}
{{- end }}
......@@ -83,12 +83,10 @@ chains:
jaeger:
match:
header: ":authority"
{{- $jaegerValues := .Values.jaeger.values | default dict }}
{{- $jaegerIstioValues := $jaegerValues.istio | default dict }}
{{- $jaegerHostValues := $jaegerIstioValues.jaeger | default dict}}
{{- if hasKey $jaegerHostValues "hosts" }}
prefix: {{ range .Values.jaeger.values.istio.jaeger.hosts }}{{ tpl . $}}{{ end }}
callback_uri: https://{{ range .Values.jaeger.values.istio.jaeger.hosts }}{{ tpl . $}}{{ end }}/login
{{- $jaegerHosts := (dig "istio" "jaeger" "hosts" dict .Values.jaeger.values) }}
{{- if $jaegerHosts }}
prefix: {{ trimSuffix (printf ".%s" $domainName) (tpl ($jaegerHosts | first) $) }}
callback_uri: https://{{ tpl ($jaegerHosts | first) $ }}/login
{{- else }}
prefix: "tracing"
callback_uri: https://tracing.{{ $domainName }}/login
......@@ -97,16 +95,33 @@ chains:
client_secret: "{{ .Values.jaeger.sso.client_secret }}"
{{- end }}
{{- if and .Values.tempo.enabled .Values.tempo.sso.enabled }}
tempo:
match:
header: ":authority"
{{- $tempoHosts := (dig "istio" "tempoQuery" "hosts" dict .Values.tempo.values) }}
{{- if $tempoHosts }}
prefix: {{ trimSuffix (printf ".%s" $domainName) (tpl ($tempoHosts | first) $) }}
callback_uri: https://{{ tpl ($tempoHosts | first) $ }}/login
{{- else if .Values.jaeger.enabled }}
prefix: "tempo"
callback_uri: https://tempo.{{ $domainName }}/login
{{- else }}
prefix: "tracing"
callback_uri: https://tracing.{{ $domainName }}/login
{{- end }}
client_id: "{{ .Values.tempo.sso.client_id }}"
client_secret: "{{ .Values.tempo.sso.client_secret }}"
{{- end }}
{{- if and .Values.monitoring.enabled .Values.monitoring.sso.enabled }}
prometheus:
match:
header: ":authority"
{{- $monitoringValues := .Values.monitoring.values | default dict }}
{{- $monitoringIstioValues := $monitoringValues.istio | default dict }}
{{- $prometheusHostValues := $monitoringIstioValues.prometheus | default dict}}
{{- if hasKey $prometheusHostValues "hosts" }}
prefix: {{ range .Values.monitoring.values.istio.prometheus.hosts }}{{ tpl . $}}{{ end }}
callback_uri: https://{{ range .Values.monitoring.values.istio.prometheus.hosts }}{{ tpl . $}}{{ end }}/login/generic_oauth
{{- $prometheusHosts := (dig "istio" "prometheus" "hosts" dict .Values.monitoring.values) }}
{{- if $prometheusHosts }}
prefix: {{ trimSuffix (printf ".%s" $domainName) (tpl ($prometheusHosts | first) $) }}
callback_uri: https://{{ tpl ($prometheusHosts | first) $ }}/login/generic_oauth
{{- else }}
prefix: "prometheus"
callback_uri: https://prometheus.{{ $domainName }}/login/generic_oauth
......@@ -117,10 +132,11 @@ chains:
alertmanager:
match:
header: ":authority"
{{- $alertmanagerHostValues := $monitoringIstioValues.alertmanager | default dict}}
{{- if hasKey $alertmanagerHostValues "hosts" }}
prefix: {{ range .Values.monitoring.values.istio.alertmanager.hosts }}{{ tpl . $}}{{ end }}
callback_uri: https://{{ range .Values.monitoring.values.istio.alertmanager.hosts }}{{ tpl . $}}{{ end }}/login/generic_oauth
{{- $alertmanagerHosts := (dig "istio" "alertmanager" "hosts" dict .Values.monitoring.values) }}
{{- if $alertmanagerHosts }}
prefix: {{ trimSuffix (printf ".%s" $domainName) (tpl ($alertmanagerHosts | first) $) }}
callback_uri: https://{{ tpl ($alertmanagerHosts | first) $ }}/login/generic_oauth
{{- else }}
prefix: "alertmanager"
callback_uri: https://alertmanager.{{ $domainName }}/login/generic_oauth
......
......@@ -36,13 +36,16 @@ spec:
- name: {{ .Release.Name }}-tempo-values
kind: Secret
valuesKey: "overlays"
{{- if or .Values.monitoring.enabled .Values.istio.enabled }}
{{- if or .Values.monitoring.enabled .Values.istio.enabled .Values.tempo.sso.enabled }}
dependsOn:
{{- if .Values.monitoring.enabled }}
- name: monitoring
namespace: {{ .Release.Namespace }}
{{- end }}
{{- if .Values.tempo.sso.enabled }}
- name: authservice
namespace: {{ .Release.Namespace }}
{{- end }}
{{- if .Values.istio.enabled }}
- name: istio
namespace: {{ .Release.Namespace }}
......
......@@ -31,7 +31,7 @@ tempo:
{{- end }}
{{- end }}
# hostname is deprecated and replaced with domain. But if hostname exists then use it.
# hostname is deprecated and replaced with domain. But if hostname exists then use it.
{{- $domainName := default .Values.domain .Values.hostname }}
hostname: {{ $domainName }}
domain: {{ $domainName }}
......@@ -69,4 +69,14 @@ monitoring:
serviceMonitor:
enabled: {{ .Values.monitoring.enabled }}
sso:
enabled: {{ .Values.tempo.sso.enabled }}
{{- if .Values.tempo.sso.enabled }}
{{- $tempoAuthserviceKey := (dig "selector" "key" "protect" .Values.addons.authservice.values) }}
{{- $tempoAuthserviceValue := (dig "selector" "value" "keycloak" .Values.addons.authservice.values) }}
podLabels:
{{ $tempoAuthserviceKey }}: {{ $tempoAuthserviceValue }}
{{- end }}
{{- end -}}
......@@ -552,7 +552,7 @@ tempo:
git:
repo: https://repo1.dso.mil/platform-one/big-bang/apps/sandbox/tempo.git
path: "./chart"
tag: "0.15.1-bb.6"
tag: "0.15.1-bb.7"
# -- Redirect the package ingress to a specific Istio Gateway (listed in `istio.gateways`). The default is "public".
ingress:
......@@ -561,6 +561,16 @@ tempo:
# -- Flux reconciliation overrides specifically for the Tempo Package
flux: {}
sso:
# -- Toggle SSO for Tempo on and off
enabled: false
# -- OIDC Client ID to use for Tempo
client_id: ""
# -- OIDC Client Secret to use for Tempo
client_secret: ""
objectStorage:
# -- S3 compatible endpoint to use for connection information.
# examples: "s3.amazonaws.com" "s3.us-gov-west-1.amazonaws.com" "minio.minio.svc.cluster.local:9000"
......
......@@ -166,6 +166,14 @@ logging:
client_id: platform1_a8604cc9-f5e9-4656-802d-d05624370245_bb8-kibana
license:
trial: true
tempo:
sso:
enabled: true
client_id: platform1_a8604cc9-f5e9-4656-802d-d05624370245_bb8-jaeger
# If deploying both Jaeger and Tempo you will need the tempo specific client below (matches the `tempo.bigbang.dev` VS)
# client_id: platform1_a8604cc9-f5e9-4656-802d-d05624370245_bb8-tempo
monitoring:
sso:
enabled: true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment