Skip to content
Merged
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
34 changes: 34 additions & 0 deletions changelogs/citylens/CITYLENS-Breaking-Changes.md
Original file line number Diff line number Diff line change
@@ -1 +1,35 @@
# Citylens Breaking-Changes

## [2.1.0]

### citylens
- Changed REST request logging: `extended` -> `extendedRestLogging`
- Modified service database connection: moved to a separate block, `maxPoolSize` and `pooling` replaced with `poolSize`:
```
routes:
postgres:
api:
database: ''
timeout: 15
commandTimeout: 30
poolSize:
min: 1
max: 10
hangfire:
database: ''
timeout: 15
commandTimeout: 30
poolSize:
min: 1
max: 10
realtimeDataApi:
database: ''
timeout: 15
commandTimeout: 30
poolSize:
min: 1
max: 10
```

### citylens-routes-ui
- Added new required parameters: `env.MAPGL_DEFAULT_CENTER`
106 changes: 59 additions & 47 deletions charts/citylens/README.md

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions charts/citylens/templates/helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,49 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
{{- end -}}

{{/*
Citylens Rotues connectionString builder
*/}}

{{- define "routes-api.connectionString" -}}
{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Command Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;"
(.Values.postgres.host | required "A valid .Values.postgres.host required!")
(.Values.postgres.port | required "A valid .Values.postgres.port entry required!" | int)
(.Values.routes.postgres.api.database | required "A valid .Values.routes.postgres.api.database entry required!")
(.Values.postgres.username | required "A valid .Values.postgres.username entry required!")
((.Values.routes.postgres.api.poolSize).min | int | default 1)
((.Values.routes.postgres.api.poolSize).max | int | default 10)
(.Values.routes.postgres.api.timeout | int | default 15)
(.Values.routes.postgres.api.commandTimeout | int | default 30)
-}}
{{- end -}}

{{- define "routes-hangfire.connectionString" -}}
{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Command Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;"
(.Values.postgres.host | required "A valid .Values.postgres.host required!")
(.Values.postgres.port | required "A valid .Values.postgres.port entry required!" | int)
(.Values.routes.postgres.hangfire.database | required "A valid .Values.routes.postgres.hangfire.database entry required!")
(.Values.postgres.username | required "A valid .Values.postgres.username entry required!")
((.Values.routes.postgres.hangfire.poolSize).min | int | default 1)
((.Values.routes.postgres.hangfire.poolSize).max | int | default 10)
(.Values.routes.postgres.hangfire.timeout | int | default 15)
(.Values.routes.postgres.hangfire.commandTimeout | int | default 30)
-}}
{{- end -}}

{{- define "routes-realtime-data-api.connectionString" -}}
{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Command Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;"
(.Values.postgres.host | required "A valid .Values.postgres.host required!")
(.Values.postgres.port | required "A valid .Values.postgres.port entry required!" | int)
(.Values.routes.postgres.realtimeDataApi.database | required "A valid .Values.routes.postgres.realtimeDataApi.database entry required!")
(.Values.postgres.username | required "A valid .Values.postgres.username entry required!")
((.Values.routes.postgres.realtimeDataApi.poolSize).min | int | default 1)
((.Values.routes.postgres.realtimeDataApi.poolSize).max | int | default 10)
(.Values.routes.postgres.realtimeDataApi.timeout | int | default 15)
(.Values.routes.postgres.realtimeDataApi.commandTimeout | int | default 30)
-}}
{{- end -}}

{{/*
Manifest name
*/}}
Expand Down
69 changes: 31 additions & 38 deletions charts/citylens/templates/routes-api/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,34 +63,35 @@ spec:
containerPort: 8080
protocol: TCP
volumeMounts:
- mountPath: "{{ .Values.routes.api.tempPath }}"
- mountPath: {{ .Values.routes.api.tempPath | quote }}
name: temp-volume
livenessProbe:
httpGet:
path: /health/live
port: http
failureThreshold: 5
initialDelaySeconds: 5
periodSeconds: 15
successThreshold: 1
initialDelaySeconds: 10
periodSeconds: 20
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
readinessProbe:
httpGet:
path: /health/ready
port: http
failureThreshold: 3
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
startupProbe:
httpGet:
path: /health/live
port: http
failureThreshold: 20
initialDelaySeconds: 5
periodSeconds: 5
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 30
successThreshold: 1
resources:
{{- toYaml .Values.routes.api.resources | nindent 12 }}
lifecycle:
Expand All @@ -103,42 +104,34 @@ spec:

- name: Common__Logging__LogLevel
value: {{ .Values.routes.api.logging.level | quote }}
- name: Common__Logging__Extended
value: {{ .Values.routes.api.logging.extended | quote }}
- name: Common__Logging__ExtendedRestLogging
value: {{ .Values.routes.api.logging.extendedRestLogging | quote }}
- name: Common__Logging__ExtendedSqlLogging
value: {{ .Values.routes.api.logging.extendedSqlLogging | quote }}

- name: PgSettings__Host
value: {{ required "A valid .Values.postgres.host entry required" $.Values.postgres.host | quote }}
- name: PgSettings__Port
value: {{ required "A valid .Values.postgres.port entry required" $.Values.postgres.port | quote }}
- name: PgSettings__UserName
value: {{ required "A valid .Values.postgres.username entry required" $.Values.postgres.username | quote }}
- name: PgSettings__Password
- name: Postgres__ReadWrite__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadWrite__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.api.name" . }}-secret

- name: PgSettings__Api__Database
value: {{ required "A valid .Values.routes.postgres.database entry required" $.Values.routes.postgres.database | quote }}
- name: PgSettings__Api__Timeout
value: {{ $.Values.routes.postgres.timeout | quote }}
- name: PgSettings__Api__CommandTimeout
value: {{ $.Values.routes.postgres.commandTimeout | quote }}
- name: PgSettings__Api__MaxPoolSize
value: {{ $.Values.routes.postgres.maxPoolSize | quote }}
- name: PgSettings__Api__Pooling
value: {{ $.Values.routes.postgres.pooling | quote }}
- name: Postgres__ReadOnly__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadOnly__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.api.name" . }}-secret

- name: PgSettings__Hangfire__Database
value: {{ required "A valid .Values.routes.hangfire.postgres.database entry required" $.Values.routes.hangfire.postgres.database | quote }}
- name: PgSettings__Hangfire__Timeout
value: {{ $.Values.routes.hangfire.postgres.timeout | quote }}
- name: PgSettings__Hangfire__CommandTimeout
value: {{ $.Values.routes.hangfire.postgres.commandTimeout | quote }}
- name: PgSettings__Hangfire__MaxPoolSize
value: {{ $.Values.routes.hangfire.postgres.maxPoolSize | quote }}
- name: PgSettings__Hangfire__Pooling
value: {{ $.Values.routes.hangfire.postgres.pooling | quote }}
- name: Hangfire__Postgres__ConnectionString
value: {{ include "routes-hangfire.connectionString" . }}
- name: Hangfire__Postgres__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.api.name" . }}-secret

- name: S3__BucketPrefix
value: {{ required "A valid .Values.s3.bucketPrefix entry required" $.Values.s3.bucketPrefix | quote }}
Expand Down
130 changes: 51 additions & 79 deletions charts/citylens/templates/routes-migrations/migration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,37 +31,29 @@ spec:
resources:
{{- toYaml .Values.routes.api.resources | nindent 12 }}
env:
- name: PgSettings__Host
value: {{ required "A valid .Values.postgres.host entry required" $.Values.postgres.host | quote }}
- name: PgSettings__Port
value: {{ required "A valid .Values.postgres.port entry required" $.Values.postgres.port | quote }}
- name: PgSettings__UserName
value: {{ required "A valid .Values.postgres.username entry required" $.Values.postgres.username | quote }}
- name: PgSettings__Password
- name: Postgres__ReadWrite__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadWrite__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Api__Database
value: {{ required "A valid .Values.routes.postgres.database entry required" $.Values.routes.postgres.database | quote }}
- name: PgSettings__Api__Timeout
value: {{ $.Values.routes.postgres.timeout | quote }}
- name: PgSettings__Api__CommandTimeout
value: {{ $.Values.routes.postgres.commandTimeout | quote }}
- name: PgSettings__Api__MaxPoolSize
value: {{ $.Values.routes.postgres.maxPoolSize | quote }}
- name: Postgres__ReadOnly__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadOnly__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Hangfire__Database
value: {{ required "A valid .Values.routes.hangfire.postgres.database entry required" $.Values.routes.hangfire.postgres.database | quote }}
- name: PgSettings__Hangfire__Timeout
value: {{ $.Values.routes.hangfire.postgres.timeout | quote }}
- name: PgSettings__Hangfire__CommandTimeout
value: {{ $.Values.routes.hangfire.postgres.commandTimeout | quote }}
- name: PgSettings__Hangfire__MaxPoolSize
value: {{ $.Values.routes.hangfire.postgres.maxPoolSize | quote }}
- name: PgSettings__Hangfire__Pooling
value: {{ $.Values.routes.hangfire.postgres.pooling | quote }}
- name: Hangfire__Postgres__ConnectionString
value: {{ include "routes-hangfire.connectionString" . }}
- name: Hangfire__Postgres__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: worker-migrate
image: {{ required "A valid .Values.dgctlDockerRegistry entry required" $.Values.dgctlDockerRegistry }}/{{ .Values.routes.worker.image.repository }}:{{ .Values.routes.worker.image.tag }}
Expand All @@ -70,39 +62,29 @@ spec:
resources:
{{- toYaml .Values.routes.worker.resources | nindent 12 }}
env:
- name: PgSettings__Host
value: {{ required "A valid .Values.postgres.host entry required" $.Values.postgres.host | quote }}
- name: PgSettings__Port
value: {{ required "A valid .Values.postgres.port entry required" $.Values.postgres.port | quote }}
- name: PgSettings__UserName
value: {{ required "A valid .Values.postgres.username entry required" $.Values.postgres.username | quote }}
- name: PgSettings__Password
- name: Postgres__ReadWrite__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadWrite__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Api__Database
value: {{ required "A valid .Values.routes.postgres.database entry required" $.Values.routes.postgres.database | quote }}
- name: PgSettings__Api__Timeout
value: {{ $.Values.routes.postgres.timeout | quote }}
- name: PgSettings__Api__CommandTimeout
value: {{ $.Values.routes.postgres.commandTimeout | quote }}
- name: PgSettings__Api__MaxPoolSize
value: {{ $.Values.routes.postgres.maxPoolSize | quote }}
- name: PgSettings__Api__Pooling
value: {{ $.Values.routes.postgres.pooling | quote }}
- name: Postgres__ReadOnly__ConnectionString
value: {{ include "routes-api.connectionString" . }}
- name: Postgres__ReadOnly__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Hangfire__Database
value: {{ required "A valid .Values.routes.hangfire.postgres.database entry required" $.Values.routes.hangfire.postgres.database | quote }}
- name: PgSettings__Hangfire__Timeout
value: {{ $.Values.routes.hangfire.postgres.timeout | quote }}
- name: PgSettings__Hangfire__CommandTimeout
value: {{ $.Values.routes.hangfire.postgres.commandTimeout | quote }}
- name: PgSettings__Hangfire__MaxPoolSize
value: {{ $.Values.routes.hangfire.postgres.maxPoolSize | quote }}
- name: PgSettings__Hangfire__Pooling
value: {{ $.Values.routes.hangfire.postgres.pooling | quote }}
- name: Hangfire__Postgres__ConnectionString
value: {{ include "routes-hangfire.connectionString" . }}
- name: Hangfire__Postgres__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: BusConfig__Broker
value: {{ .Values.kafka.bootstrapServer | quote }}
Expand Down Expand Up @@ -134,38 +116,28 @@ spec:
resources:
{{- toYaml .Values.routes.realtimeDataApi.resources | nindent 12 }}
env:
- name: PgSettings__Host
value: {{ required "A valid .Values.postgres.host entry required" $.Values.postgres.host | quote }}
- name: PgSettings__Port
value: {{ required "A valid .Values.postgres.port entry required" $.Values.postgres.port | quote }}
- name: PgSettings__UserName
value: {{ required "A valid .Values.postgres.username entry required" $.Values.postgres.username | quote }}
- name: PgSettings__Password
- name: Postgres__ReadWrite__ConnectionString
value: {{ include "routes-realtime-data-api.connectionString" . }}
- name: Postgres__ReadWrite__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Api__Database
value: {{ required "A valid .Values.routes.realtimeData.postgres.database entry required" $.Values.routes.realtimeDataApi.postgres.database | quote }}
- name: PgSettings__Api__Timeout
value: {{ $.Values.routes.realtimeDataApi.postgres.timeout | quote }}
- name: PgSettings__Api__CommandTimeout
value: {{ $.Values.routes.realtimeDataApi.postgres.commandTimeout | quote }}
- name: PgSettings__Api__MaxPoolSize
value: {{ $.Values.routes.realtimeDataApi.postgres.maxPoolSize | quote }}
- name: PgSettings__Api__Pooling
value: {{ $.Values.routes.realtimeDataApi.postgres.pooling | quote }}
- name: Postgres__ReadOnly__ConnectionString
value: {{ include "routes-realtime-data-api.connectionString" . }}
- name: Postgres__ReadOnly__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

- name: PgSettings__Hangfire__Database
value: {{ required "A valid .Values.routes.realtimeData.postgres.database entry required" $.Values.routes.realtimeDataApi.postgres.database | quote }}
- name: PgSettings__Hangfire__Timeout
value: {{ $.Values.routes.realtimeDataApi.postgres.timeout | quote }}
- name: PgSettings__Hangfire__CommandTimeout
value: {{ $.Values.routes.realtimeDataApi.postgres.commandTimeout | quote }}
- name: PgSettings__Hangfire__MaxPoolSize
value: {{ $.Values.routes.realtimeDataApi.postgres.maxPoolSize | quote }}
- name: PgSettings__Hangfire__Pooling
value: {{ $.Values.routes.realtimeDataApi.postgres.pooling | quote }}
- name: Hangfire__Postgres__ConnectionString
value: {{ include "routes-realtime-data-api.connectionString" . }}
- name: Hangfire__Postgres__Password
valueFrom:
secretKeyRef:
key: postgresPassword
name: {{ include "citylens.routes.migration.name" . }}-secret

{{- end }}
Loading