Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions config/custom-environment-variables.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,8 @@
"__name": "OPENTELEMETRY_LOGGING_ENABLED",
"__format": "boolean"
},
"url": "OPENTELEMETRY_LOGGING_URL",
"resourceAttributes": {
"__name": "OPENTELEMETRY_RESOURCE_ATTRIBUTES",
"__format": "json"
}
"url": "OTLP_LOGGER_ENDPOINT_URL",
"resourceAttributes": "OTEL_RESOURCE_ATTRIBUTES"
}
},
"shared": {},
Expand Down
34 changes: 34 additions & 0 deletions helm/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,37 @@ Returns the cloud provider image pull secret name from global if exists or from
{{- .Values.cloudProvider.imagePullSecretName -}}
{{- end -}}
{{- end -}}

{{/*
Returns the tracing url from global if set, otherwise from the chart's values
*/}}
{{- define "geoserver-api.tracingUrl" -}}
{{- if .Values.global.telemetry.tracing.url }}
{{- .Values.global.telemetry.tracing.url -}}
{{- else if .Values.telemetry.tracing.url -}}
{{- .Values.telemetry.tracing.url -}}
{{- end -}}
{{- end -}}

{{/*
Returns the opentelemetry logging url from global if set, otherwise from the chart's values
*/}}
{{- define "geoserver-api.opentelemetryLoggingUrl" -}}
{{- if .Values.global.telemetry.logger.opentelemetryOptions.url }}
{{- .Values.global.telemetry.logger.opentelemetryOptions.url -}}
{{- else if .Values.telemetry.logger.opentelemetryOptions.url -}}
{{- .Values.telemetry.logger.opentelemetryOptions.url -}}
{{- end -}}
{{- end -}}

{{/*
Renders a map of resource attributes as key=value,key=value for OTEL_RESOURCE_ATTRIBUTES.
Usage: {{ include "geoserver-api.otelResourceAttributes" .resourceAttributes }}
*/}}
{{- define "geoserver-api.otelResourceAttributes" -}}
{{- $attributes := list }}
{{- range $key, $value := . }}
{{- $attributes = append $attributes (printf "%s=%s" $key (toString $value)) }}
{{- end }}
{{- join "," $attributes }}
{{- end -}}
8 changes: 0 additions & 8 deletions helm/templates/_tplValues.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,6 @@ Custom definitions
{{- include "common.tplvalues.merge" ( dict "values" ( list .Values.db .Values.global.db ) "context" . ) }}
{{- end -}}

{{- define "common.tracing.merged" -}}
{{- include "common.tplvalues.merge" ( dict "values" ( list .Values.tracing .Values.global.tracing ) "context" . ) }}
{{- end -}}

{{- define "common.openTelemetryOptions.merged" -}}
{{- include "common.tplvalues.merge" ( dict "values" ( list .Values.env.openTelemetryOptions .Values.global.openTelemetryOptions ) "context" . ) }}
{{- end -}}

{{- define "common.geoserver.merged" -}}
{{- include "common.tplvalues.merge" ( dict "values" ( list .Values.geoserver .Values.global.geoserver ) "context" . ) }}
{{- end -}}
42 changes: 25 additions & 17 deletions helm/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,42 @@
{{- $chartName := include "geoserver-api.name" . -}}
{{- $tracing := (include "common.tracing.merged" .) | fromYaml }}
{{- $configmapName := include "configmap.fullname" . }}
{{- $server := .Values.server -}}
{{- $telemetry := .Values.telemetry -}}
{{- $tracingUrl := include "geoserver-api.tracingUrl" . -}}
{{- $opentelemetryLoggingUrl := include "geoserver-api.opentelemetryLoggingUrl" . -}}
{{- $serviceUrls := (include "common.serviceUrls.merged" .) | fromYaml }}
{{- $db := (include "common.db.merged" .) | fromYaml }}
{{- $openTelemetryOptions := (include "common.openTelemetryOptions.merged" .) | fromYaml }}
{{- if .Values.enabled -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $configmapName }}
data:
REQUEST_PAYLOAD_LIMIT: {{ .Values.env.requestPayloadLimit | quote }}
RESPONSE_COMPRESSION_ENABLED: {{ .Values.env.responseCompressionEnabled | quote }}
LOG_LEVEL: {{ .Values.env.logLevel | quote }}
LOG_PRETTY_PRINT_ENABLED: {{ .Values.env.logPrettyPrintEnabled | quote }}
{{- with $server }}
REQUEST_PAYLOAD_LIMIT: {{ .requestPayloadLimit | quote }}
RESPONSE_COMPRESSION_ENABLED: {{ .responseCompressionEnabled | quote }}
{{- end }}
{{- with $telemetry }}
LOG_LEVEL: {{ .logger.level | quote }}
LOG_PRETTY_PRINT_ENABLED: {{ .logger.prettyPrint | quote }}
{{- with .logger.opentelemetryOptions }}
OPENTELEMETRY_LOGGING_ENABLED: {{ .enabled | quote }}
{{- if .enabled }}
OTLP_LOGGER_ENDPOINT_URL: {{ $opentelemetryLoggingUrl | quote }}
{{- if .resourceAttributes }}
OTEL_RESOURCE_ATTRIBUTES: {{ include "geoserver-api.otelResourceAttributes" .resourceAttributes | quote }}
{{- end }}
{{- end }}
{{- end }}
TELEMETRY_TRACING_ENABLED: {{ .tracing.enabled | quote }}
{{- if .tracing.enabled }}
TELEMETRY_TRACING_URL: {{ $tracingUrl | quote }}
{{- end }}
{{- end }}
HTTP_RETRY_ATTEMPTS: {{ .Values.env.httpRetry.attempts | quote }}
HTTP_RETRY_DELAY: {{ .Values.env.httpRetry.delay | quote }}
HTTP_RETRY_RESET_TIMEOUT: {{ .Values.env.httpRetry.resetTimeout | quote }}
DISABLE_HTTP_CLIENT_LOGS: {{ .Values.env.disableHttpClientLogs | quote }}
{{- with $openTelemetryOptions }}
OPENTELEMETRY_LOGGING_ENABLED: {{ .enabled | quote }}
{{ if .enabled }}
OPENTELEMETRY_LOGGING_URL: {{ .url | quote }}
OPENTELEMETRY_RESOURCE_ATTRIBUTES: {{ .resourceAttributes | toJson | quote }}
{{- end }}
{{- end }}
TELEMETRY_TRACING_ENABLED: {{ $tracing.enabled | quote }}
{{ if $tracing.enabled }}
TELEMETRY_TRACING_URL: {{ $tracing.url }}
{{ end }}
GEOSERVER_URL: {{ $serviceUrls.geoserverUrl }}
DATASTORE_HOST: {{ $db.host }}
DATASTORE_PORT: {{ $db.port | quote }}
Expand Down
8 changes: 4 additions & 4 deletions helm/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ spec:
{{- end }}
env:
- name: SERVER_PORT
value: {{ .Values.env.targetPort | quote }}
value: {{ .Values.server.targetPort | quote }}
- name: K8S_POD_UID
valueFrom:
fieldRef:
Expand Down Expand Up @@ -99,13 +99,13 @@ spec:
name: {{ $configmapName }}
ports:
- name: http
containerPort: {{ .Values.env.targetPort }}
protocol: {{ .Values.env.protocol }}
containerPort: {{ .Values.server.targetPort }}
protocol: {{ .Values.server.protocol }}
livenessProbe:
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
httpGet:
path: {{ .Values.livenessProbe.path }}
port: {{ .Values.env.targetPort }}
port: {{ .Values.server.targetPort }}
{{- if .Values.resources.enabled }}
resources:
{{- toYaml .Values.resources.value | nindent 12 }}
Expand Down
2 changes: 1 addition & 1 deletion helm/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ spec:
service:
name: {{ $serviceName }}
port:
number: {{ .Values.env.port }}
number: {{ .Values.server.port }}
host: {{ $ingressHost }}
{{- end -}}
6 changes: 3 additions & 3 deletions helm/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ spec:
type: NodePort
{{- end }}
ports:
- port: {{ .Values.env.port }}
targetPort: {{ .Values.env.targetPort }}
protocol: {{ .Values.env.protocol }}
- port: {{ .Values.server.port }}
targetPort: {{ .Values.server.targetPort }}
protocol: {{ .Values.server.protocol }}
name: http
{{- if eq $cloudProviderFlavor "minikube" }}
nodePort: {{ .Values.nodePort }}
Expand Down
94 changes: 46 additions & 48 deletions helm/values.yaml
Original file line number Diff line number Diff line change
@@ -1,30 +1,20 @@
global:
cloudProvider: {}
tracing: {}
metrics: {}
openTelemetryOptions: {}
telemetry:
tracing: {}
logger:
opentelemetryOptions: {}
environment: ''

mclabels:
#environment: development
component: backend
partOf: ingestion
owner: raster
gisDomain: raster
prometheus:
enabled: true
port: 8080

serviceUrls:
geoserverUrl: ""
geoserver:
geoserver:
secrets:
useExternal: false
externalSecretName: ''
auth:
externalSecretName: ''
auth:
username: ""
password: ""
db:
db:
username: ""
password: ""
host: ""
Expand All @@ -37,13 +27,22 @@ mclabels:
secrets:
useExternal: false
externalSecretName: ''

ca:
ca:
secretName: ''
path: '/usr/local/share/ca-certificates'
key: 'ca.crt'
key: 'ca.crt'
ingress:
domain: 'apps.aroapp.io'
domain: 'apps.aroapp.io'

mclabels:
#environment: development
component: backend
partOf: ingestion
owner: raster
gisDomain: raster
prometheus:
enabled: true
port: 8080

enabled: true
environment: development
Expand All @@ -52,7 +51,7 @@ revisionHistoryLimit: 5 # Amount of revisions we keep
initialDelaySeconds: 60
nodePort: 30030 #for minikube deployment only
resetOnConfigChange: true
imagePullPolicy: Always
imagePullPolicy: IfNotPresent

nameOverride: ""
fullnameOverride: ""
Expand Down Expand Up @@ -99,27 +98,16 @@ cloudProvider:
imagePullSecretName: 'my-registry-secret'
flavor: openshift

tracing:
enabled: false
url: ''

metrics:
enabled: false
url: ''
prometheus:
scrape: true
port: 8080

geoserver:
secrets:
useExternal: true
externalSecretName: ''
db:
host: ''
port: ''
schema: ''
schema: 'polygon_parts'
name: ''
dbType: ''
dbType: 'postgis'
sslEnabled: false
secrets:
useExternal: true
Expand All @@ -128,33 +116,43 @@ serviceUrls:
geoserverUrl: ''

configManagement:
offlineMode: false
offlineMode: true
name: 'geoserver-api'
version: 'latest'
serverUrl: 'http://localhost:8080/api'

env:
server:
port: 80
targetPort: 8080
protocol: TCP
logLevel: info
logPrettyPrintEnabled: false
openTelemetryOptions:
enabled: false
url: ''
resourceAttributes: {}
responseCompressionEnabled: true
requestPayloadLimit: 1mb
disableHttpClientLogs: false

telemetry:
logger:
level: info
prettyPrint: false
opentelemetryOptions:
enabled: true
url: http://localhost:4317
# Rendered as OTEL_RESOURCE_ATTRIBUTES in "key=value,key=value" format
# resourceAttributes:
# service.namespace: namespace
# deployment.environment: dev
tracing:
enabled: true
url: http://localhost:55681/v1/traces

env:
disableHttpClientLogs: false
httpRetry:
attempts: 5
delay: exponential
resetTimeout: true
srs: "EPSG:4326"
numOfDecimals: 100
srs: "EPSG:4326"
numOfDecimals: 100
wfsMaxFeatures: 1000


resources:
enabled: false
value:
Expand Down
2 changes: 1 addition & 1 deletion src/containerConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ interface RegisterOptions {
export const registerExternalValues = async (options?: RegisterOptions): Promise<DependencyContainer> => {
const configInstance = getConfig();
const loggerConfig = configInstance.get('telemetry.logger');
const logger = await jsLogger({ ...loggerConfig, prettyPrint: loggerConfig.prettyPrint, mixin: getOtelMixin() });
const logger = await jsLogger({ ...loggerConfig, mixin: getOtelMixin() });
const tracer = trace.getTracer(SERVICE_NAME);
const metricsRegistry = new Registry();

Expand Down
Loading