From 4dc8d225d99777b1d0a2abb62e5298c88aa0e9c4 Mon Sep 17 00:00:00 2001 From: Vladimir Popov Date: Wed, 18 Dec 2024 15:53:35 +0700 Subject: [PATCH 01/15] [license] Upgraded version to 2.2.4 (#550) --- charts/license/Chart.yaml | 2 +- charts/license/README.md | 2 +- charts/license/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/license/Chart.yaml b/charts/license/Chart.yaml index 9c8b30022..74031a8e3 100644 --- a/charts/license/Chart.yaml +++ b/charts/license/Chart.yaml @@ -4,7 +4,7 @@ type: application description: A Helm chart for Kubernetes to deploy License service version: 1.32.0 -appVersion: 2.2.3 +appVersion: 2.2.4 maintainers: - name: 2gis diff --git a/charts/license/README.md b/charts/license/README.md index 751c8ef31..10c2a979b 100644 --- a/charts/license/README.md +++ b/charts/license/README.md @@ -54,7 +54,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/architecture/service | Name | Description | Value | | ------------------ | ------------ | ------------------------- | | `image.repository` | Repository. | `2gis-on-premise/license` | -| `image.tag` | Tag. | `2.2.3` | +| `image.tag` | Tag. | `2.2.4` | | `image.pullPolicy` | Pull Policy. | `IfNotPresent` | ### License service application settings diff --git a/charts/license/values.yaml b/charts/license/values.yaml index c83c0183b..5b7cf12ff 100644 --- a/charts/license/values.yaml +++ b/charts/license/values.yaml @@ -65,7 +65,7 @@ imagePullSecrets: [] image: repository: 2gis-on-premise/license - tag: 2.2.3 + tag: 2.2.4 pullPolicy: IfNotPresent # @section License service application settings From 36509668d5a8a8c9d545704f20ffc37c1cd2714f Mon Sep 17 00:00:00 2001 From: Nortren Date: Wed, 18 Dec 2024 13:39:35 +0300 Subject: [PATCH 02/15] TILES-7091 update actual version (#553) * TILES-7091 update actual version * TILES-7091 fix after review --- charts/mapgl-js-api/Chart.yaml | 2 +- charts/mapgl-js-api/README.md | 2 +- charts/mapgl-js-api/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/mapgl-js-api/Chart.yaml b/charts/mapgl-js-api/Chart.yaml index dc495f361..6614b40e4 100644 --- a/charts/mapgl-js-api/Chart.yaml +++ b/charts/mapgl-js-api/Chart.yaml @@ -5,7 +5,7 @@ description: Basic WebGL map chart template for 2GIS On-Premise type: application version: 1.32.0 -appVersion: 1.53.0 +appVersion: 1.54.1 maintainers: - name: 2gis diff --git a/charts/mapgl-js-api/README.md b/charts/mapgl-js-api/README.md index 7339a3b67..23552b517 100644 --- a/charts/mapgl-js-api/README.md +++ b/charts/mapgl-js-api/README.md @@ -46,7 +46,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: | Name | Description | Value | | ------------------ | ----------- | ----------------------- | | `image.repository` | Repository | `2gis-on-premise/mapgl` | -| `image.tag` | Tag | `1.53.0` | +| `image.tag` | Tag | `1.54.1` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | ### Environment variables diff --git a/charts/mapgl-js-api/values.yaml b/charts/mapgl-js-api/values.yaml index 18c72bb1d..2bd8bc391 100644 --- a/charts/mapgl-js-api/values.yaml +++ b/charts/mapgl-js-api/values.yaml @@ -38,7 +38,7 @@ podLabels: {} image: repository: 2gis-on-premise/mapgl - tag: 1.53.0 + tag: 1.54.1 pullPolicy: IfNotPresent From 55abd63a1787b4f18be463571f9910edf6596ae7 Mon Sep 17 00:00:00 2001 From: Petr Beklemishev Date: Thu, 26 Dec 2024 12:25:26 +0700 Subject: [PATCH 03/15] Bump citylens to 1.16 (#559) --- charts/citylens/Chart.yaml | 2 +- charts/citylens/README.md | 42 +++++++--- charts/citylens/templates/helpers.tpl | 14 ++++ charts/citylens/templates/web/configmap.yaml | 16 +++- .../web/workers/deployment-map-matcher.yaml | 81 +++++++++++++++++++ .../citylens/templates/workers/configmap.yaml | 1 + charts/citylens/values.yaml | 60 ++++++++++++-- 7 files changed, 199 insertions(+), 17 deletions(-) create mode 100644 charts/citylens/templates/web/workers/deployment-map-matcher.yaml diff --git a/charts/citylens/Chart.yaml b/charts/citylens/Chart.yaml index 0e3927b90..d6fbf1f2a 100644 --- a/charts/citylens/Chart.yaml +++ b/charts/citylens/Chart.yaml @@ -4,7 +4,7 @@ type: application description: A Helm chart for Kubernetes to deploy Citylens service version: 1.32.0 -appVersion: 1.15.0 +appVersion: 1.16.4 maintainers: - name: 2gis diff --git a/charts/citylens/README.md b/charts/citylens/README.md index 490d8feed..a81abc68f 100644 --- a/charts/citylens/README.md +++ b/charts/citylens/README.md @@ -47,7 +47,7 @@ See the [documentation]() to learn about: | Name | Description | Value | | ---------------------- | ------------ | ------------------------------ | | `api.image.repository` | Repository. | `2gis-on-premise/citylens-api` | -| `api.image.tag` | Tag. | `1.15.0` | +| `api.image.tag` | Tag. | `1.16.4` | | `api.image.pullPolicy` | Pull Policy. | `IfNotPresent` | ### Resources settings @@ -133,7 +133,7 @@ See the [documentation]() to learn about: | Name | Description | Value | | ---------------------- | ------------ | ------------------------------ | | `web.image.repository` | Repository. | `2gis-on-premise/citylens-web` | -| `web.image.tag` | Tag. | `1.15.0` | +| `web.image.tag` | Tag. | `1.16.4` | | `web.image.pullPolicy` | Pull Policy. | `IfNotPresent` | ### Resources settings @@ -185,11 +185,12 @@ See the [documentation]() to learn about: ### Custom settings -| Name | Description | Value | -| -------------------- | ------------------------------------------------------------------------ | -------------- | -| `web.logLevel` | Log level. | `WARNING` | -| `web.metricsAppName` | Value for service prometheus metrics label "app_name". | `citylens-web` | -| `web.pgPoolSize` | Postgres: maximum number of connections in connections pool to maintain. | `5` | +| Name | Description | Value | +| ----------------------- | ------------------------------------------------------------------------------------------- | -------------- | +| `web.logLevel` | Log level. | `WARNING` | +| `web.metricsAppName` | Value for service prometheus metrics label "app_name". | `citylens-web` | +| `web.pgPoolSize` | Postgres: maximum number of connections in connections pool to maintain. | `5` | +| `web.pgPoolMaxOverflow` | Postgres: maximum number of extra connections in connections pool (relative of pgPoolSize). | `10` | ### Metadata settings @@ -341,6 +342,26 @@ See the [documentation]() to learn about: | `worker.tracksUploader.tolerations` | Kubernetes pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `{}` | | `worker.tracksUploader.affinity` | Kubernetes pod [affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) settings. | `{}` | +### Citylens Map Matcher worker's settings + +| Name | Description | Value | +| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | +| `worker.mapMatcher.enabled` | If Map Matcher worker is enabled for the service. | `false` | +| `worker.mapMatcher.replicas` | A replica count for the pod. | `1` | +| `worker.mapMatcher.revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `worker.mapMatcher.baseUrl` | Map Matching API address. Ex.: http://navi-front.svc **Required** | `""` | +| `worker.mapMatcher.key` | Map Matching API key. **Required** | `""` | +| `worker.mapMatcher.interpolation` | Set to `true` for compatibility with Map Matching API which requires gps points timestamps in seconds as integers (w/o millisecond precision support). | `true` | +| `worker.mapMatcher.retries` | Total number of retries in case of Map Matching API unavailability/errors. | `3` | +| `worker.mapMatcher.timeoutSeconds` | Map Matching API timeout, seconds. | `30` | +| `worker.mapMatcher.annotations` | Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `worker.mapMatcher.labels` | Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `worker.mapMatcher.podAnnotations` | Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `worker.mapMatcher.podLabels` | Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `worker.mapMatcher.nodeSelector` | Kubernetes pod [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `worker.mapMatcher.tolerations` | Kubernetes pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `{}` | +| `worker.mapMatcher.affinity` | Kubernetes pod [affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) settings. | `{}` | + ### Citylens Dashboard batch events worker's settings | Name | Description | Value | @@ -352,7 +373,7 @@ See the [documentation]() to learn about: | Name | Description | Value | | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | | `worker.dashboardBatchEvents.image.repository` | Repository. | `2gis-on-premise/citylens-workers` | -| `worker.dashboardBatchEvents.image.tag` | Tag. | `1.15.0` | +| `worker.dashboardBatchEvents.image.tag` | Tag. | `1.16.4` | | `worker.dashboardBatchEvents.image.pullPolicy` | Pull Policy. | `IfNotPresent` | | `worker.dashboardBatchEvents.logLevel` | Worker's log level. | `INFO` | | `worker.dashboardBatchEvents.revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | @@ -370,7 +391,7 @@ See the [documentation]() to learn about: | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | | `migrations.enabled` | If migrations needed. | `true` | | `migrations.image.repository` | Repository. | `2gis-on-premise/citylens-database` | -| `migrations.image.tag` | Tag. | `1.15.0` | +| `migrations.image.tag` | Tag. | `1.16.1` | | `migrations.image.pullPolicy` | Pull Policy | `IfNotPresent` | | `migrations.resources.requests.cpu` | A CPU request. | `100m` | | `migrations.resources.requests.memory` | A memory request. | `1Gi` | @@ -385,6 +406,7 @@ See the [documentation]() to learn about: | `kafka.bootstrapServer` | A Kafka broker endpoint. **Required** | `""` | | `kafka.username` | A Kafka username for connection. **Required** | `""` | | `kafka.password` | A Kafka password for connection. **Required** | `""` | +| `kafka.produceTimeoutSeconds` | Timeout for producer. | `5` | | `kafka.topics.frames` | List of topics for Frames saver worker. **Required** | `""` | | `kafka.topics.tracks` | List of topics for Tracks metadata worker. **Required** | `""` | | `kafka.topics.pro` | Topic for frames synchronization with Pro (used by Reporter pro worker). **Required** | `""` | @@ -445,7 +467,7 @@ See the [documentation]() to learn about: | Name | Description | Value | | ------------------- | ----------------------------------------------------------------------------------------------------- | ------ | -| `pro.baseUrl` | PRO API URL (used for filters actualization). Ex: http(s)://pro-api.svc/your_asset_name/filters | `""` | +| `pro.baseUrl` | PRO API URL. Ex: http(s)://pro-api.svc | `""` | | `pro.key` | PRO API auth token | `""` | | `pro.verifySsl` | Set to `false` if pro.baseUrl must be accessed via https without certificate validation. **Required** | `true` | | `pro.framesAssetId` | PRO frames asset id (used for filters actualization). Ex: your_asset_name | `""` | diff --git a/charts/citylens/templates/helpers.tpl b/charts/citylens/templates/helpers.tpl index 6dcf34cbd..12f863f15 100644 --- a/charts/citylens/templates/helpers.tpl +++ b/charts/citylens/templates/helpers.tpl @@ -25,6 +25,10 @@ Expand the name of the chart. {{ include "citylens.name" . }}-logs-saver {{- end }} +{{- define "citylens.map-matcher.name" -}} +{{ include "citylens.name" . }}-map-matcher +{{- end }} + {{- define "citylens.predictions-saver.name" -}} {{ include "citylens.name" . }}-predictions-saver {{- end }} @@ -112,6 +116,16 @@ app.kubernetes.io/instance: {{ include "citylens.logs-saver.name" . }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} +{{- define "citylens.map-matcher.selectorLabels" -}} +app.kubernetes.io/name: {{ .Release.Name }} +app.kubernetes.io/instance: {{ include "citylens.map-matcher.name" . }} +{{- end }} + +{{- define "citylens.map-matcher.labels" -}} +{{ include "citylens.map-matcher.selectorLabels" . }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} + {{- define "citylens.predictions-saver.selectorLabels" -}} app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/instance: {{ include "citylens.predictions-saver.name" . }} diff --git a/charts/citylens/templates/web/configmap.yaml b/charts/citylens/templates/web/configmap.yaml index f0d9fe10c..aaa575571 100644 --- a/charts/citylens/templates/web/configmap.yaml +++ b/charts/citylens/templates/web/configmap.yaml @@ -30,9 +30,11 @@ data: db_connections: postgres: {{ include "citylens.pgDSN" . | squote }} postgres_pool_size: {{ .Values.web.pgPoolSize }} + postgres_pool_max_overflow: {{ .Values.web.pgPoolMaxOverflow }} kafka: {{- with .Values.kafka }} - bootstrap_servers: {{ required "A valid .Values.kafka.bootstrap.servers entry required" .bootstrapServer | squote }} + bootstrap_servers: {{ required "A valid .Values.kafka.bootstrap.servers entry required" .bootstrapServer | squote }} + producer_timeout_seconds: {{ .produceTimeoutSeconds }} security: security_protocol: 'SASL_PLAINTEXT' sasl_mechanism: 'SCRAM-SHA-512' @@ -107,6 +109,18 @@ data: coords: [{{ join "," .coords }}] {{- end }} initial_project: {{ .Values.map.initialProject | squote }} + {{- with .Values.worker.mapMatcher }} + {{- if .enabled }} + matching: + enabled: {{ .enabled }} + host: {{ required "A valid .Values.worker.mapMatcher.baseUrl entry required" .baseUrl }} + key: {{ required "A valid .Values.worker.mapMatcher.key entry required" .key }} + interpolation: {{ .interpolation }} + retries_total: {{ .retries }} + retries_backoff_factor: 0.8 + timeout: {{ .timeoutSeconds }} + {{- end }} + {{- end }} register_predictor_ttl_seconds: 600 enabled_modules: header_links: diff --git a/charts/citylens/templates/web/workers/deployment-map-matcher.yaml b/charts/citylens/templates/web/workers/deployment-map-matcher.yaml new file mode 100644 index 000000000..231e0fc1a --- /dev/null +++ b/charts/citylens/templates/web/workers/deployment-map-matcher.yaml @@ -0,0 +1,81 @@ +{{- if .Values.worker.mapMatcher.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "citylens.map-matcher.name" . }} + {{- if .Values.worker.mapMatcher.annotations }} + annotations: + {{- toYaml .Values.worker.mapMatcher.annotations | nindent 4 }} + {{- end }} + labels: + {{- include "citylens.map-matcher.labels" . | nindent 4 }} + {{- if .Values.worker.mapMatcher.labels }} + {{- toYaml .Values.worker.mapMatcher.labels | nindent 4 }} + {{- end }} +spec: + replicas: {{ .Values.worker.mapMatcher.replicas }} + revisionHistoryLimit: {{ .Values.worker.mapMatcher.revisionHistoryLimit }} + selector: + matchLabels: + {{- include "citylens.map-matcher.selectorLabels" . | nindent 6 }} + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 0 + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/web/configmap.yaml") . | sha256sum }} + checksum/custom-ca: {{ include "citylens.checksum" (merge (dict "path" "/custom-ca.configmap.yaml") $) }} + {{- with .Values.worker.mapMatcher.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "citylens.map-matcher.labels" . | nindent 8 }} + spec: + containers: + - name: {{ include "citylens.map-matcher.name" . }} + image: {{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.web.image.repository }}:{{ .Values.web.image.tag }} + imagePullPolicy: {{ .Values.web.image.pullPolicy }} + command: [ "/bin/sh", "-c" ] + args: [ "flask map_matching match" ] + env: + - name: CONFIG_PATH + value: /opt/worker/config/dashboard_config.yaml + {{- if $.Values.customCAs.bundle }} + - name: SSL_CERT_DIR + value: {{ include "citylens.customCA.mountPath" $ }} + {{- end }} + resources: + {{- toYaml .Values.worker.resources | nindent 12 }} + volumeMounts: + - name: config-volume + mountPath: /opt/worker/config + {{- if $.Values.customCAs.bundle }} + - mountPath: {{ include "citylens.customCA.mountPath" $ }} + name: custom-ca + readOnly: true + {{- end }} + volumes: + - name: config-volume + configMap: + name: {{ include "citylens.web.name" . }}-configmap + {{- if $.Values.customCAs.bundle }} + - name: custom-ca + configMap: + name: {{ include "citylens.name" $ }}-custom-ca-configmap + {{- end }} + {{- with .Values.worker.mapMatcher.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.worker.mapMatcher.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.worker.mapMatcher.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/charts/citylens/templates/workers/configmap.yaml b/charts/citylens/templates/workers/configmap.yaml index 7531b1767..2c3db26a8 100644 --- a/charts/citylens/templates/workers/configmap.yaml +++ b/charts/citylens/templates/workers/configmap.yaml @@ -11,6 +11,7 @@ data: s3_endpoint: {{ required "A valid .Values.s3.endpoint entry required" .endpoint | squote }} bucket_prefix: {{ required "A valid .Values.s3.bucketPrefix entry required" .bucketPrefix | squote }} frame_key_template: {{ include "citylens.s3_constants.frame_key_template" . | squote }} + crop_frame_key_template: {{ include "citylens.s3_constants.crop_frame_key_template" . | squote }} {{- end }} topics: {{- with .Values.kafka.topics }} diff --git a/charts/citylens/values.yaml b/charts/citylens/values.yaml index 66d4c90de..7a20cccdf 100644 --- a/charts/citylens/values.yaml +++ b/charts/citylens/values.yaml @@ -99,7 +99,7 @@ api: image: repository: 2gis-on-premise/citylens-api pullPolicy: IfNotPresent - tag: 1.15.0 + tag: 1.16.4 replicas: 4 @@ -215,6 +215,7 @@ api: # @param web.logLevel Log level. # @param web.metricsAppName Value for service prometheus metrics label "app_name". # @param web.pgPoolSize Postgres: maximum number of connections in connections pool to maintain. +# @param web.pgPoolMaxOverflow Postgres: maximum number of extra connections in connections pool (relative of pgPoolSize). # @section Metadata settings @@ -231,7 +232,7 @@ web: image: repository: 2gis-on-premise/citylens-web pullPolicy: IfNotPresent - tag: 1.15.0 + tag: 1.16.4 replicas: 1 @@ -279,6 +280,7 @@ web: pkce: false pgPoolSize: 5 + pgPoolMaxOverflow: 10 logLevel: WARNING metricsAppName: citylens-web @@ -584,6 +586,52 @@ worker: tolerations: {} +# @section Citylens Map Matcher worker's settings + +# @param worker.mapMatcher.enabled If Map Matcher worker is enabled for the service. + +# @param worker.mapMatcher.replicas A replica count for the pod. + +# @param worker.mapMatcher.revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). + +# @param worker.mapMatcher.baseUrl Map Matching API address. Ex.: http://navi-front.svc **Required** +# @param worker.mapMatcher.key Map Matching API key. **Required** +# @param worker.mapMatcher.interpolation Set to `true` for compatibility with Map Matching API which requires gps points timestamps in seconds as integers (w/o millisecond precision support). +# @param worker.mapMatcher.retries Total number of retries in case of Map Matching API unavailability/errors. +# @param worker.mapMatcher.timeoutSeconds Map Matching API timeout, seconds. + +# @param worker.mapMatcher.annotations Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). +# @param worker.mapMatcher.labels Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). +# @param worker.mapMatcher.podAnnotations Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). +# @param worker.mapMatcher.podLabels Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). + +# @param worker.mapMatcher.nodeSelector Kubernetes pod [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). +# @param worker.mapMatcher.tolerations Kubernetes pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. +# @param worker.mapMatcher.affinity Kubernetes pod [affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) settings. + + mapMatcher: + + enabled: false + + replicas: 1 + + baseUrl: '' + key: '' + interpolation: true + retries: 3 + timeoutSeconds: 30 + + revisionHistoryLimit: 3 + + annotations: {} + labels: {} + podAnnotations: {} + podLabels: {} + nodeSelector: {} + affinity: {} + tolerations: {} + + # @section Citylens Dashboard batch events worker's settings # @param worker.dashboardBatchEvents.replicas A replica count for the pod. @@ -614,7 +662,7 @@ worker: image: repository: 2gis-on-premise/citylens-workers pullPolicy: IfNotPresent - tag: 1.15.0 + tag: 1.16.4 revisionHistoryLimit: 3 @@ -650,7 +698,7 @@ migrations: image: repository: 2gis-on-premise/citylens-database pullPolicy: IfNotPresent - tag: 1.15.0 + tag: 1.16.1 resources: requests: @@ -667,6 +715,7 @@ migrations: # @param kafka.bootstrapServer A Kafka broker endpoint. **Required** # @param kafka.username A Kafka username for connection. **Required** # @param kafka.password A Kafka password for connection. **Required** +# @param kafka.produceTimeoutSeconds Timeout for producer. # @param kafka.topics.frames List of topics for Frames saver worker. **Required** # @param kafka.topics.tracks List of topics for Tracks metadata worker. **Required** # @param kafka.topics.pro Topic for frames synchronization with Pro (used by Reporter pro worker). **Required** @@ -683,6 +732,7 @@ kafka: bootstrapServer: '' username: '' password: '' + produceTimeoutSeconds: 5 topics: frames: '' tracks: '' @@ -776,7 +826,7 @@ reporters: # @section PRO integration (only when Pro reporter enabled) -# @param pro.baseUrl PRO API URL (used for filters actualization). Ex: http(s)://pro-api.svc/your_asset_name/filters +# @param pro.baseUrl PRO API URL. Ex: http(s)://pro-api.svc # @param pro.key PRO API auth token # @param pro.verifySsl Set to `false` if pro.baseUrl must be accessed via https without certificate validation. **Required** # @param pro.framesAssetId PRO frames asset id (used for filters actualization). Ex: your_asset_name From edfeceaf3f419db7a76d87b022b06a0249ada2ed Mon Sep 17 00:00:00 2001 From: Denis Belyaev <74010851+dbelyaev-nsk@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:23:43 +0700 Subject: [PATCH 04/15] up nginx version (#557) --- charts/search-api/README.md | 12 ++++++------ charts/search-api/values.yaml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/charts/search-api/README.md b/charts/search-api/README.md index 1c91dab14..0e07e2d0c 100644 --- a/charts/search-api/README.md +++ b/charts/search-api/README.md @@ -72,12 +72,12 @@ See the [documentation](https://docs.2gis.com/en/on-premise/search) to learn abo ### NGINX settings -| Name | Description | Value | -| ------------------------ | --------------------------------------------------------------------------------------------- | ------------------------------ | -| `nginx.image.repository` | Docker Repository | `2gis-on-premise/search-nginx` | -| `nginx.image.tag` | Docker image tag | `1.21.6` | -| `nginx.image.pullPolicy` | Image [pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) | `IfNotPresent` | -| `nginx.httpPort` | HTTP port on which NGINX will be listening | `8080` | +| Name | Description | Value | +| ------------------------ | --------------------------------------------------------------------------------------------- | ----------------------- | +| `nginx.image.repository` | Docker Repository | `2gis-on-premise/nginx` | +| `nginx.image.tag` | Docker image tag | `1.25.4` | +| `nginx.image.pullPolicy` | Image [pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) | `IfNotPresent` | +| `nginx.httpPort` | HTTP port on which NGINX will be listening | `8080` | ### Strategy settings diff --git a/charts/search-api/values.yaml b/charts/search-api/values.yaml index dfade718f..2184a7d53 100644 --- a/charts/search-api/values.yaml +++ b/charts/search-api/values.yaml @@ -87,8 +87,8 @@ api: nginx: image: - repository: 2gis-on-premise/search-nginx - tag: 1.21.6 + repository: 2gis-on-premise/nginx + tag: 1.25.4 pullPolicy: IfNotPresent resources: {} httpPort: 8080 From 6eae2af3a2682784105bc04ffbb649bba961d9e1 Mon Sep 17 00:00:00 2001 From: Denis Belyaev <74010851+dbelyaev-nsk@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:24:07 +0700 Subject: [PATCH 05/15] up nginx version (#556) --- charts/floors-api/README.md | 2 +- charts/floors-api/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/floors-api/README.md b/charts/floors-api/README.md index 887a2769f..65295e29c 100644 --- a/charts/floors-api/README.md +++ b/charts/floors-api/README.md @@ -21,7 +21,7 @@ Read more about the On-Premise solution [here](https://docs.2gis.com/en/on-premi | `nodejs.image.tag` | Floors backend image tag. | `1.1.0` | | `nginx.image.repository` | Floors nginx image repository. | `2gis-on-premise/nginx` | | `nginx.image.pullPolicy` | Floors nginx pull policy. | `IfNotPresent` | -| `nginx.image.tag` | Floors nginx image tag. | `1.21.6` | +| `nginx.image.tag` | Floors nginx image tag. | `1.25.4` | ### Deployment Artifacts Storage settings diff --git a/charts/floors-api/values.yaml b/charts/floors-api/values.yaml index dd0f4cbb4..c035df89c 100644 --- a/charts/floors-api/values.yaml +++ b/charts/floors-api/values.yaml @@ -140,7 +140,7 @@ nginx: httpPort: 8080 image: repository: 2gis-on-premise/nginx - tag: 1.21.6 + tag: 1.25.4 pullPolicy: IfNotPresent resources: requests: From 4d89b814eaed38b8885aee33e2ba6349cefef518 Mon Sep 17 00:00:00 2001 From: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:24:58 +0700 Subject: [PATCH 06/15] =?UTF-8?q?ONPREM-1374[mapgl,=20floors,=20traffic-pr?= =?UTF-8?q?oxy,=20search]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20enableServiceLinks,=20terminationGracePeri?= =?UTF-8?q?odSeconds=20(#560)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ONPREM-1374] добавлены values enableServiceLinks & terminationGracePeriodSeconds * [ONPREM-1374] Изменение уровня вложенности enableServiceLinks * [ONPREM-1374] Добавление Breaking-Changes * [ONPREM-1374] remove Breaking-Changes --------- Co-authored-by: mprudnikov --- charts/floors-api/README.md | 28 ++++++++++--------- charts/floors-api/templates/deployment.yaml | 1 + charts/floors-api/values.yaml | 4 +++ charts/mapgl-js-api/README.md | 26 +++++++++-------- charts/mapgl-js-api/templates/deployment.yaml | 1 + charts/mapgl-js-api/values.yaml | 4 +++ charts/search-api/README.md | 22 ++++++++------- charts/search-api/templates/deployment.yaml | 1 + charts/search-api/values.yaml | 4 +++ charts/traffic-proxy/README.md | 26 +++++++++-------- .../traffic-proxy/templates/deployment.yaml | 1 + charts/traffic-proxy/values.yaml | 4 +++ 12 files changed, 75 insertions(+), 47 deletions(-) diff --git a/charts/floors-api/README.md b/charts/floors-api/README.md index 65295e29c..8863fc3fd 100644 --- a/charts/floors-api/README.md +++ b/charts/floors-api/README.md @@ -35,19 +35,21 @@ Read more about the On-Premise solution [here](https://docs.2gis.com/en/on-premi ### Common settings -| Name | Description | Value | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `replicaCount` | A replica count for the pod. | `1` | -| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | -| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | -| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `replicaCount` | A replica count for the pod. | `1` | +| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) | `30` | +| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | +| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | ### Service account settings diff --git a/charts/floors-api/templates/deployment.yaml b/charts/floors-api/templates/deployment.yaml index 95e9c9f33..466ca3b13 100644 --- a/charts/floors-api/templates/deployment.yaml +++ b/charts/floors-api/templates/deployment.yaml @@ -37,6 +37,7 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} spec: + enableServiceLinks: {{ .Values.enableServiceLinks }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} initContainers: - name: import diff --git a/charts/floors-api/values.yaml b/charts/floors-api/values.yaml index c035df89c..459274506 100644 --- a/charts/floors-api/values.yaml +++ b/charts/floors-api/values.yaml @@ -32,8 +32,10 @@ dgctlStorage: # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param replicaCount A replica count for the pod. # @param revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). +# @param terminationGracePeriodSeconds Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) # @param imagePullSecrets Kubernetes image pull secrets. # @param nameOverride Base name to use in all the Kubernetes entities deployed by this chart. # @param fullnameOverride Base fullname to use in all the Kubernetes entities deployed by this chart. @@ -44,8 +46,10 @@ dgctlStorage: # @param tolerations Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. # @param affinity Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). +enableServiceLinks: true replicaCount: 1 revisionHistoryLimit: 3 +terminationGracePeriodSeconds: 30 imagePullSecrets: [] nameOverride: '' fullnameOverride: '' diff --git a/charts/mapgl-js-api/README.md b/charts/mapgl-js-api/README.md index 23552b517..1eac1dd70 100644 --- a/charts/mapgl-js-api/README.md +++ b/charts/mapgl-js-api/README.md @@ -28,18 +28,20 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: ### Common settings -| Name | Description | Value | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `replicaCount` | A replica count for the pod. | `1` | -| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | -| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `replicaCount` | A replica count for the pod. | `1` | +| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) | `30` | +| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | +| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | ### Deployment settings diff --git a/charts/mapgl-js-api/templates/deployment.yaml b/charts/mapgl-js-api/templates/deployment.yaml index 862d49ea8..b62bb4903 100644 --- a/charts/mapgl-js-api/templates/deployment.yaml +++ b/charts/mapgl-js-api/templates/deployment.yaml @@ -35,6 +35,7 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} spec: + enableServiceLinks: {{ .Values.enableServiceLinks }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} containers: - name: {{ .Chart.Name }} diff --git a/charts/mapgl-js-api/values.yaml b/charts/mapgl-js-api/values.yaml index 2bd8bc391..68ee11319 100644 --- a/charts/mapgl-js-api/values.yaml +++ b/charts/mapgl-js-api/values.yaml @@ -7,8 +7,10 @@ dgctlDockerRegistry: '' # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param replicaCount A replica count for the pod. # @param revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). +# @param terminationGracePeriodSeconds Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) # @param imagePullSecrets Kubernetes image pull secrets. # @param nameOverride Base name to use in all the Kubernetes entities deployed by this chart. # @param fullnameOverride Base fullname to use in all the Kubernetes entities deployed by this chart. @@ -18,8 +20,10 @@ dgctlDockerRegistry: '' # @param podAnnotations Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). # @param podLabels Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). +enableServiceLinks: true replicaCount: 1 revisionHistoryLimit: 3 +terminationGracePeriodSeconds: 30 imagePullSecrets: [] nameOverride: '' fullnameOverride: '' diff --git a/charts/search-api/README.md b/charts/search-api/README.md index 0e07e2d0c..e1f5cd4b2 100644 --- a/charts/search-api/README.md +++ b/charts/search-api/README.md @@ -28,16 +28,18 @@ See the [documentation](https://docs.2gis.com/en/on-premise/search) to learn abo ### Common settings -| Name | Description | Value | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` | -| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) | `{}` | -| `replicaCount` | A replica count for the pod | `1` | -| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) | `{}` | -| `affinity` | Kubernetes [pod affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings | `[]` | -| `redeployLabel` | If this label is changed since the last deployment, the whole chart will be redeployed | `""` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` | +| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) | `{}` | +| `replicaCount` | A replica count for the pod | `1` | +| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) | `30` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) | `{}` | +| `affinity` | Kubernetes [pod affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings | `[]` | +| `redeployLabel` | If this label is changed since the last deployment, the whole chart will be redeployed | `""` | ### Deployment Artifacts Storage settings diff --git a/charts/search-api/templates/deployment.yaml b/charts/search-api/templates/deployment.yaml index 1e5d41d30..a0c0d4ad5 100644 --- a/charts/search-api/templates/deployment.yaml +++ b/charts/search-api/templates/deployment.yaml @@ -42,6 +42,7 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} spec: + enableServiceLinks: {{ .Values.enableServiceLinks }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} initContainers: - name: init diff --git a/charts/search-api/values.yaml b/charts/search-api/values.yaml index 2184a7d53..3444d6f7e 100644 --- a/charts/search-api/values.yaml +++ b/charts/search-api/values.yaml @@ -7,19 +7,23 @@ dgctlDockerRegistry: '' # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param podAnnotations Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) # @param podLabels Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) # @param replicaCount A replica count for the pod # @param revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). +# @param terminationGracePeriodSeconds Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) # @param nodeSelector Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) # @param affinity Kubernetes [pod affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) # @param tolerations Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings # @param redeployLabel If this label is changed since the last deployment, the whole chart will be redeployed +enableServiceLinks: true podAnnotations: {} podLabels: {} replicaCount: 1 revisionHistoryLimit: 3 +terminationGracePeriodSeconds: 30 nodeSelector: {} affinity: {} tolerations: [] diff --git a/charts/traffic-proxy/README.md b/charts/traffic-proxy/README.md index f7b6f885d..83f63f920 100644 --- a/charts/traffic-proxy/README.md +++ b/charts/traffic-proxy/README.md @@ -29,18 +29,20 @@ See the [documentation](https://docs.2gis.com/en/on-premise/traffic-proxy) to le ### Common settings -| Name | Description | Value | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `replicaCount` | A replica count for the pod. | `1` | -| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | -| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `replicaCount` | A replica count for the pod. | `1` | +| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) | `30` | +| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | +| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | ### Proxy server settings diff --git a/charts/traffic-proxy/templates/deployment.yaml b/charts/traffic-proxy/templates/deployment.yaml index 97d1001b3..a6a3cf7af 100644 --- a/charts/traffic-proxy/templates/deployment.yaml +++ b/charts/traffic-proxy/templates/deployment.yaml @@ -36,6 +36,7 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} spec: + enableServiceLinks: {{ .Values.enableServiceLinks }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} containers: - name: {{ .Chart.Name }} diff --git a/charts/traffic-proxy/values.yaml b/charts/traffic-proxy/values.yaml index 543d8d60f..09e7849d7 100644 --- a/charts/traffic-proxy/values.yaml +++ b/charts/traffic-proxy/values.yaml @@ -7,8 +7,10 @@ dgctlDockerRegistry: '' # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param replicaCount A replica count for the pod. # @param revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). +# @param terminationGracePeriodSeconds Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) # @param imagePullSecrets Kubernetes image pull secrets. # @param nameOverride Base name to use in all the Kubernetes entities deployed by this chart. # @param fullnameOverride Base fullname to use in all the Kubernetes entities deployed by this chart. @@ -18,8 +20,10 @@ dgctlDockerRegistry: '' # @param affinity Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). # @param tolerations Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. +enableServiceLinks: true replicaCount: 1 revisionHistoryLimit: 3 +terminationGracePeriodSeconds: 30 imagePullSecrets: [] nameOverride: '' fullnameOverride: '' From 7645df8580fe4b6b2e3158635b542369451aadd4 Mon Sep 17 00:00:00 2001 From: v-loboda <111125664+v-loboda@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:25:15 +0700 Subject: [PATCH 07/15] =?UTF-8?q?[PRO-6515]=20=D0=9E=D0=B1=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=87=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=B0=20pro-api=20(#548)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [PRO-6515] Обновление чарта pro-api * [PRO-6515] Правочки по ревью * [PRO-6515] Добавлено описание ломающих изменений * [PRO-6515] Правочки по ревью * [PRO-6515] Поправил обязательность параметров * [PRO-6515] Поправил обязательность параметров * [PRO-6515] Поправил обязательность параметров * [PRO-6515] Заскипал параметры PG для tasks * Изменение версии Breaking-Changes --------- Co-authored-by: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> --- Breaking-Changes.md | 7 ++ charts/pro-api/README.md | 99 ++++++++++--------- charts/pro-api/templates/_helpers.tpl | 40 ++++++++ charts/pro-api/templates/asset-importer.yaml | 2 +- charts/pro-api/templates/deployment.yaml | 14 +-- .../permissions-api-deployment.yaml | 12 +-- .../permissions-api-ingress.yaml | 7 +- .../permissions-api-service.yaml} | 2 - charts/pro-api/templates/secrets.yaml | 5 +- .../tasks-api/deployment-worker.yaml | 56 ++++++++++- .../templates/tasks-api/deployment.yaml | 14 ++- .../pro-api/templates/tasks-api/service.yaml | 5 + charts/pro-api/values.yaml | 86 +++++++++++----- 13 files changed, 249 insertions(+), 100 deletions(-) rename charts/pro-api/templates/{ => permissions-api}/permissions-api-deployment.yaml (94%) rename charts/pro-api/templates/{ => permissions-api}/permissions-api-ingress.yaml (83%) rename charts/pro-api/templates/{permission-api-service.yaml => permissions-api/permissions-api-service.yaml} (92%) diff --git a/Breaking-Changes.md b/Breaking-Changes.md index 9f7dd87bd..50f48a8fe 100644 --- a/Breaking-Changes.md +++ b/Breaking-Changes.md @@ -1,5 +1,12 @@ # 2GIS On-Premise Breaking-Changes +## [1.33.0] + +### pro-api +- permissions.settings.enabled was removed, permissions api is now always mandatory +- postgres.connectionString, postgres.connectionStringReadonly, postgres.password were changed to postgres.api.rw / postgres.api.ro settings + + ## [1.32.0] ### tiles-api diff --git a/charts/pro-api/README.md b/charts/pro-api/README.md index c89890e16..e3fe656d9 100644 --- a/charts/pro-api/README.md +++ b/charts/pro-api/README.md @@ -8,7 +8,7 @@ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------- | | `api.appName` | Name of the service | `pro-api` | | `api.image.repository` | Repository | `2gis-on-premise/pro-api` | -| `api.image.tag` | Tag | `1.50.1` | +| `api.image.tag` | Tag | `1.54.0` | | `api.image.pullPolicy` | Pull Policy | `IfNotPresent` | | `api.ingress.enabled` | If Ingress is enabled for the service. | `false` | | `api.ingress.className` | Name of the Ingress controller class. | `nginx` | @@ -59,8 +59,8 @@ | `api.settings.rateLimiter` | rate limiter settings | | | `api.settings.rateLimiter.requestsLimit` | max number of requests from one user during time window (0 means rate limiter is disabled) | `1024` | | `api.settings.rateLimiter.windowSizeInSeconds` | the size of time windows to count and limit incoming requests | `1` | -| `api.settings.auth.type` | Authentication type: 'none' - disabled, 'openid10' - [OpenId 1.0 / OAuth 2.0 authentication protocol](https://openid.net/specs/openid-connect-core-1_0.html), 'urbi' - urbi authentication protocol | `none` | -| `api.settings.auth.url` | API URL of authentication service. Example: `http(s)://keycloak.ingress.host` | `""` | +| `api.settings.auth.type` | Authentication type: 'openid10' - [OpenId 1.0 / OAuth 2.0 authentication protocol](https://openid.net/specs/openid-connect-core-1_0.html), 'urbi' - urbi authentication protocol. **Required** | `openid10` | +| `api.settings.auth.url` | API URL of authentication service. Example: `http(s)://keycloak.ingress.host`. **Required** | `""` | | `api.settings.auth.userInfoEndpoint` | The [UserInfo endpoint](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo). Example: `realms/URBI_Pro/protocol/openid-connect/userinfo` | `""` | | `api.settings.auth.wellKnownConfigEndpoint` | The [Well-Known Config endpoint](https://openid.net/specs/openid-connect-discovery-1_0.html). Example: `realms/URBI_Pro/.well-known/openid-configuration` | `""` | | `api.settings.auth.apiKey` | Secret API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `4230b288-301e-4ec6-82c6-db6a8a72c2af` | `""` | @@ -68,44 +68,45 @@ | `api.settings.auth.shareKeys` | Secret keys for creating and validating shared links. Must contain at least 32 characters. All keys are used for validation. The last one is used for creation. Example: `m7nShlX1a8+IqE9ZcDqRCVjlhEud850ucT0av9bS+tcMTwIwUOUqpNikM+G8teDR` | `[]` | | `api.settings.backgroundJobs.enableUserAssetsImporter` | If user data importer job is enabled for the service. | `true` | | `api.settings.backgroundJobs.enableAssetsStreaming` | If the streaming data processing job is enabled for the service. | `false` | -| `api.settings.layerGeneration.isochroneLayerMaxPointsCount` | If layer contains more points, isochrone is not avalible. | `500` | +| `api.settings.layerGeneration.isochroneLayerMaxPointsCount` | Maximum number of points in a layer for generating isochrones. | `500` | ### Permissions API configuration & settings -| Name | Description | Value | -| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | -| `permissions.image.repository` | Repository | `2gis-on-premise/pro-permissions-api` | -| `permissions.image.tag` | Tag | `1.50.1` | -| `permissions.image.pullPolicy` | Pull Policy | `IfNotPresent` | -| `permissions.ingress.enabled` | If Ingress is enabled for the service | `false` | -| `permissions.ingress.className` | Name of the Ingress controller class | `nginx` | -| `permissions.ingress.hosts[0].host` | Hostname for the Ingress service | `pro-permissions-api.example.com` | -| `permissions.ingress.hosts[0].paths[0].path` | Path of the host for the Ingress service | `/` | -| `permissions.ingress.hosts[0].paths[0].pathType` | Type of the path for the Ingress service | `Prefix` | -| `permissions.ingress.tls` | TLS configuration | `[]` | -| `permissions.pod.replicaCount` | A replica count for the pod. | `1` | -| `permissions.pod.imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `permissions.pod.nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `permissions.pod.affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | -| `permissions.pod.priorityClassName` | Kubernetes [pod priority](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/). | `""` | -| `permissions.pod.terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/). Should be at least 300 seconds | `60` | -| `permissions.pod.tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | -| `permissions.pod.podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `permissions.pod.podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | -| `permissions.pod.annotations` | Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `permissions.pod.labels` | Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | -| `permissions.pod.revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `permissions.pod.resources` | **Limits for the application service** | | -| `permissions.pod.resources.requests.cpu` | A CPU request. | `300m` | -| `permissions.pod.resources.requests.memory` | A memory request. | `256M` | -| `permissions.pod.resources.limits.cpu` | A CPU limit. | `1` | -| `permissions.pod.resources.limits.memory` | A memory limit. | `1G` | -| `permissions.service.annotations` | Kubernetes [service annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` | -| `permissions.service.labels` | Kubernetes [service labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | -| `permissions.service.type` | Kubernetes [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types). | `ClusterIP` | -| `permissions.service.port` | PRO API service port. | `80` | -| `permissions.settings.enabled` | If permissionsApi is enabled for the service. | `false` | -| `permissions.settings.auth.apiKey` | Secret Permissions API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `c7d74870-ec28-4543-b408-b49bfed84399` | `""` | +| Name | Description | Value | +| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- | +| `permissions.image.repository` | Repository | `2gis-on-premise/pro-permissions-api` | +| `permissions.image.tag` | Tag | `1.54.0` | +| `permissions.image.pullPolicy` | Pull Policy | `IfNotPresent` | +| `permissions.ingress.enabled` | If Ingress is enabled for the service | `false` | +| `permissions.ingress.className` | Name of the Ingress controller class | `nginx` | +| `permissions.ingress.hosts[0].host` | Hostname for the Ingress service | `pro-permissions-api.example.com` | +| `permissions.ingress.hosts[0].paths[0].path` | Path of the host for the Ingress service | `/` | +| `permissions.ingress.hosts[0].paths[0].pathType` | Type of the path for the Ingress service | `Prefix` | +| `permissions.ingress.tls` | TLS configuration | `[]` | +| `permissions.pod.imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `permissions.pod.nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `permissions.pod.affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| `permissions.pod.priorityClassName` | Kubernetes [pod priority](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/). | `""` | +| `permissions.pod.terminationGracePeriodSeconds` | Kubernetes [termination grace period](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/). Should be at least 300 seconds | `60` | +| `permissions.pod.tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| `permissions.pod.podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `permissions.pod.podLabels` | Kubernetes [pod labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `permissions.pod.annotations` | Kubernetes [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `permissions.pod.labels` | Kubernetes [labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `permissions.pod.revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `permissions.pod.resources` | **Limits for the application service** | | +| `permissions.pod.resources.requests.cpu` | A CPU request. | `300m` | +| `permissions.pod.resources.requests.memory` | A memory request. | `256M` | +| `permissions.pod.resources.limits.cpu` | A CPU limit. | `1` | +| `permissions.pod.resources.limits.memory` | A memory limit. | `1G` | +| `permissions.service.annotations` | Kubernetes [service annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` | +| `permissions.service.labels` | Kubernetes [service labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/). | `{}` | +| `permissions.service.type` | Kubernetes [service type](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types). | `ClusterIP` | +| `permissions.service.port` | PRO API service port. | `80` | +| `permissions.settings.auth.apiKey` | Secret Permissions API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `c7d74870-ec28-4543-b408-b49bfed84399`. **Required** | `""` | + +### Tasks API configuration & settings + ### asset importer settings @@ -113,7 +114,7 @@ | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | | `assetImporter.appName` | Data Import job name. | `asset-importer` | | `assetImporter.repository` | Docker Repository Image. | `2gis-on-premise/pro-importer` | -| `assetImporter.tag` | Docker image tag. | `1.50.1` | +| `assetImporter.tag` | Docker image tag. | `1.54.0` | | `assetImporter.schedule` | Import job schedule. | `0 18 * * *` | | `assetImporter.backoffLimit` | The number of [retries](https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy) before considering a Job as failed. | `2` | | `assetImporter.successfulJobsHistoryLimit` | How many completed and failed jobs should be kept. See [docs](https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#jobs-history-limits). | `3` | @@ -131,6 +132,7 @@ | `assetImporter.settings.imageProxyUrl` | URL to proxy image links (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) | `""` | | `assetImporter.settings.externalLinksProxyUrl` | URL to proxy http links from assets data (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) | `""` | | `assetImporter.settings.externalLinksAllowedHosts` | Comma separated hosts, i.e. 'someserver.com,someserver2.com' ) | `""` | +| `assetImporter.settings.failedImportJobsLimit` | How many import jobs can fail before scheduler stops creating new imports | `0` | ### asset preparer settings @@ -169,11 +171,20 @@ ### PostgreSQL settings -| Name | Description | Value | -| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ----- | -| `postgres.connectionString` | Connection string to the PostgreSQL database. Format: `Server=SERVER_URL;Database=DB_NAME;UID=USER_NAME;` | `""` | -| `postgres.connectionStringReadonly` | Connection string to the readonly node of PostgreSQL database. Format: `Server=SERVER_URL;Database=DB_NAME;UID=USER_NAME;` | `""` | -| `postgres.password` | User password to connect to the PostgreSQL database. | `""` | +| Name | Description | Value | +| ------------------------------ | -------------------------------------------------------------------------------------------------------------------- | ------ | +| `postgres.api.` | Settings for Geo API database connection | | +| `postgres.api.rw.` | Settings for the read-write access. Same settings for read-only access can be added, if necessary (postgres.api.ro). | | +| `postgres.api.rw.host` | PostgreSQL hostname or IP. **Required** | `""` | +| `postgres.api.rw.port` | PostgreSQL port. **Required** | `5432` | +| `postgres.api.rw.timeout` | PostgreSQL client connection timeout in seconds. | `15` | +| `postgres.api.rw.poolSize.` | Settings for the pool size | | +| `postgres.api.rw.poolSize.min` | PostgreSQL minimum connection pool size. 0 means no minimal bound. | `1` | +| `postgres.api.rw.poolSize.max` | PostgreSQL maximum connection pool size | `10` | +| `postgres.api.rw.name` | PostgreSQL database name. **Required** | `""` | +| `postgres.api.rw.username` | PostgreSQL username. **Required** | `""` | +| `postgres.api.rw.password` | PostgreSQL password. **Required** | `""` | +| `postgres.api.ro` | Settings for the read-only access. | `nil` | ### Kafka settings (supported version 2.7) diff --git a/charts/pro-api/templates/_helpers.tpl b/charts/pro-api/templates/_helpers.tpl index 35cc89636..861950254 100644 --- a/charts/pro-api/templates/_helpers.tpl +++ b/charts/pro-api/templates/_helpers.tpl @@ -104,3 +104,43 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end -}} + +{{- define "pro-api.connectionString" -}} +{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;" + (.Values.postgres.api.rw.host | required "A valid .Values.postgres.api.rw.host entry required!") + (.Values.postgres.api.rw.port | required "A valid .Values.postgres.api.rw.port entry required!" | int) + (.Values.postgres.api.rw.name | required "A valid .Values.postgres.api.rw.name entry required!") + (.Values.postgres.api.rw.username | required "A valid .Values.postgres.api.rw.username entry required!") + ((.Values.postgres.api.rw.poolSize).min | int | default 1) + ((.Values.postgres.api.rw.poolSize).max | int | default 10) + (.Values.postgres.api.rw.timeout | int | default 15) +-}} +{{- end -}} + +{{- define "pro-api.connectionStringReadOnly" -}} +{{- if .Values.postgres.api.ro -}} +{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;" + (.Values.postgres.api.ro.host | required "A valid .Values.postgres.api.ro.host entry required!") + (.Values.postgres.api.ro.port | required "A valid .Values.postgres.api.ro.port entry required!" | int) + (.Values.postgres.api.ro.name | required "A valid .Values.postgres.api.ro.name entry required!") + (.Values.postgres.api.ro.username | required "A valid .Values.postgres.api.ro.username entry required!") + ((.Values.postgres.api.ro.poolSize).min | int | default 1) + ((.Values.postgres.api.ro.poolSize).max | int | default 10) + (.Values.postgres.api.ro.timeout | int | default 15) +-}} +{{- else -}} +{{ print "" }} +{{- end -}} +{{- end -}} + +{{- define "pro-tasks.connectionString" -}} +{{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;" + (.Values.postgres.tasks.rw.host | required "A valid .Values.postgres.tasks.rw.host entry required!") + (.Values.postgres.tasks.rw.port | required "A valid .Values.postgres.tasks.rw.port entry required!" | int) + (.Values.postgres.tasks.rw.name | required "A valid .Values.postgres.tasks.rw.name entry required!") + (.Values.postgres.tasks.rw.username | required "A valid .Values.postgres.tasks.rw.username entry required!") + ((.Values.postgres.tasks.rw.poolSize).min | int | default 1) + ((.Values.postgres.tasks.rw.poolSize).max | int | default 5) + (.Values.postgres.tasks.rw.timeout | int | default 15) +-}} +{{- end -}} diff --git a/charts/pro-api/templates/asset-importer.yaml b/charts/pro-api/templates/asset-importer.yaml index fea2db40f..f93193983 100644 --- a/charts/pro-api/templates/asset-importer.yaml +++ b/charts/pro-api/templates/asset-importer.yaml @@ -97,7 +97,7 @@ spec: value: "{{ .Values.assetImporter.settings.files}}" {{- end }} - name: DB_CONNECTION_STRING - value: {{ required "A valid .Values.postgres.connectionString entry required" $.Values.postgres.connectionString }} + value: {{ include "pro-api.connectionString" . }} - name: DB_CONNECTION_PWD valueFrom: secretKeyRef: diff --git a/charts/pro-api/templates/deployment.yaml b/charts/pro-api/templates/deployment.yaml index 8ad345332..e3f3d4849 100644 --- a/charts/pro-api/templates/deployment.yaml +++ b/charts/pro-api/templates/deployment.yaml @@ -156,11 +156,9 @@ spec: - name: Common__FilterByZoneCodes value: "{{ .Values.api.settings.filterByZoneCodes }}" - name: Postgres__ConnectionString - value: {{ required "A valid .Values.postgres.connectionString entry required" $.Values.postgres.connectionString }} - {{ if .Values.postgres.connectionStringReadonly }} + value: {{ include "pro-api.connectionString" . }} - name: Postgres__ConnectionStringReadonly - value: "{{ .Values.postgres.connectionStringReadonly }}" - {{ end }} + value: {{ include "pro-api.connectionStringReadOnly" . }} - name: Postgres__Password valueFrom: secretKeyRef: @@ -226,9 +224,9 @@ spec: - name: Kafka__UseReplicaTopics value: "{{ $.Values.kafka.useReplicaTopics }}" - name: Auth__Type - value: "{{ .Values.api.settings.auth.type }}" + value: {{ required "A valid .Values.api.settings.auth.type entry required" $.Values.api.settings.auth.type }} - name: Auth__Url - value: "{{ .Values.api.settings.auth.url }}" + value: {{ required "A valid .Values.api.settings.auth.url entry required" $.Values.api.settings.auth.url }} - name: Auth__UserInfoEndpoint value: "{{ .Values.api.settings.auth.userInfoEndpoint }}" - name: Auth__WellKnownConfigEndpoint @@ -306,4 +304,6 @@ spec: value: "{{ $s }}" {{- end }} - name: TasksApi__Url - value: http://{{ include "pro-api.tasks-name" . }} + value: http://{{ include "pro-api.tasks-name" . }}:{{ .Values.tasks.settings.grpcPort }} + - name: TasksApi__UseForLayerDataPreparation + value: "{{ .Values.api.settings.tasksApi.useForLayerDataPreparation }}" diff --git a/charts/pro-api/templates/permissions-api-deployment.yaml b/charts/pro-api/templates/permissions-api/permissions-api-deployment.yaml similarity index 94% rename from charts/pro-api/templates/permissions-api-deployment.yaml rename to charts/pro-api/templates/permissions-api/permissions-api-deployment.yaml index aa18c0d87..4451831f8 100644 --- a/charts/pro-api/templates/permissions-api-deployment.yaml +++ b/charts/pro-api/templates/permissions-api/permissions-api-deployment.yaml @@ -1,4 +1,3 @@ -{{ if .Values.permissions.settings.enabled }} apiVersion: apps/v1 kind: Deployment metadata: @@ -13,7 +12,7 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: - replicas: {{ .Values.permissions.pod.replicaCount }} + replicas: 1 revisionHistoryLimit: {{ .Values.permissions.pod.revisionHistoryLimit }} selector: matchLabels: @@ -110,9 +109,9 @@ spec: - name: ENV value: "{{ .Values.api.settings.env }}" - name: Postgres__ConnectionString - value: {{ required "A valid .Values.postgres.connectionString entry required" $.Values.postgres.connectionString }} + value: {{ include "pro-api.connectionString" . }} - name: Postgres__ConnectionStringReadonly - value: "{{ .Values.postgres.connectionStringReadonly }}" + value: {{ include "pro-api.connectionStringReadOnly" . }} - name: Postgres__Password valueFrom: secretKeyRef: @@ -127,13 +126,11 @@ spec: name: {{ include "pro-api.name" . }}-secret - name: Auth__Type value: {{ required "A valid .Values.api.settings.auth.type entry required" $.Values.api.settings.auth.type }} - {{ if .Values.permissions.settings.auth.apiKey }} - name: Auth__PermissionsApiKey valueFrom: secretKeyRef: key: permissionsApiKey name: {{ include "pro-api.name" . }}-secret - {{ end }} - name: KEYS_SERVICE_URL value: "{{ .Values.keys.url }}" {{ if .Values.keys.token }} @@ -144,7 +141,7 @@ spec: name: {{ include "pro-api.name" . }}-secret {{ end }} - name: Redis__Host - value: "{{ .Values.redis.host }}" + value: {{ required "A valid .Values.redis.host entry required" $.Values.redis.host }} - name: Redis__Port value: "{{ .Values.redis.port }}" - name: Redis__Enabled @@ -189,4 +186,3 @@ spec: value: "{{ .Values.permissions.settings.localCache.enabled }}" - name: LocalCache__TrackStatistics value: "{{ .Values.permissions.settings.localCache.trackStatistics }}" -{{- end }} diff --git a/charts/pro-api/templates/permissions-api-ingress.yaml b/charts/pro-api/templates/permissions-api/permissions-api-ingress.yaml similarity index 83% rename from charts/pro-api/templates/permissions-api-ingress.yaml rename to charts/pro-api/templates/permissions-api/permissions-api-ingress.yaml index 4173a915e..32e8eaea5 100644 --- a/charts/pro-api/templates/permissions-api-ingress.yaml +++ b/charts/pro-api/templates/permissions-api/permissions-api-ingress.yaml @@ -1,6 +1,5 @@ -{{- if and (.Values.permissions.ingress.enabled) (.Values.permissions.settings.enabled) }} +{{- if .Values.permissions.ingress.enabled }} {{- $fullName := include "pro-api.permissions-name" . -}} - {{- $svcPort := .Values.permissions.service.port -}} apiVersion: networking.k8s.io/v1 kind: Ingress metadata: @@ -35,7 +34,7 @@ spec: service: name: {{ $fullName }} port: - number: {{ $svcPort }} + number: {{ $.Values.permissions.service.port }} {{- end }} {{- end }} - {{- end }} +{{- end }} diff --git a/charts/pro-api/templates/permission-api-service.yaml b/charts/pro-api/templates/permissions-api/permissions-api-service.yaml similarity index 92% rename from charts/pro-api/templates/permission-api-service.yaml rename to charts/pro-api/templates/permissions-api/permissions-api-service.yaml index e8f4dda4e..2113d7f20 100644 --- a/charts/pro-api/templates/permission-api-service.yaml +++ b/charts/pro-api/templates/permissions-api/permissions-api-service.yaml @@ -1,4 +1,3 @@ -{{ if .Values.permissions.settings.enabled }} apiVersion: v1 kind: Service metadata: @@ -22,4 +21,3 @@ spec: appProtocol: http selector: {{- include "pro-api.permissionsSelectorLabels" . | nindent 4 }} -{{- end }} diff --git a/charts/pro-api/templates/secrets.yaml b/charts/pro-api/templates/secrets.yaml index e0bdbd78e..542f3c198 100644 --- a/charts/pro-api/templates/secrets.yaml +++ b/charts/pro-api/templates/secrets.yaml @@ -6,15 +6,14 @@ type: Opaque data: catalogApi2gisKey: {{ required "Valid .Values.catalog.key required!" .Values.catalog.key | b64enc }} routingApi2gisKey: {{ required "Valid .Values.navi.key required!" .Values.navi.key | b64enc }} - dbConnectionPwd: {{ required "Valid .Values.postgres.password required!" .Values.postgres.password | b64enc }} + dbConnectionPwd: {{ required "Valid .Values.postgres.api.rw.password required!" .Values.postgres.api.rw.password | b64enc }} + tasksDbConnectionPwd: {{ required "Valid .Values.postgres.tasks.rw.password required!" .Values.postgres.tasks.rw.password | b64enc }} s3AccessKey: {{ required "Valid .Values.dgctlStorage.accessKey required!" .Values.dgctlStorage.accessKey | b64enc }} s3SecretKey: {{ required "Valid .Values.dgctlStorage.secretKey required!" .Values.dgctlStorage.secretKey | b64enc }} {{ if .Values.digger.password }} diggerPassword: {{ .Values.digger.password | b64enc }} {{ end }} - {{ if .Values.permissions.settings.auth.apiKey }} permissionsApiKey: {{ required "Valid .Values.permissions.settings.auth.apiKey required!" .Values.permissions.settings.auth.apiKey | b64enc }} - {{ end }} {{ if .Values.elastic.credentials }} esCredentials: {{ .Values.elastic.credentials | b64enc }} {{ end }} diff --git a/charts/pro-api/templates/tasks-api/deployment-worker.yaml b/charts/pro-api/templates/tasks-api/deployment-worker.yaml index 589e4528f..0a7177720 100644 --- a/charts/pro-api/templates/tasks-api/deployment-worker.yaml +++ b/charts/pro-api/templates/tasks-api/deployment-worker.yaml @@ -69,7 +69,7 @@ spec: imagePullPolicy: {{ .Values.tasks.image.pullPolicy }} ports: - name: http - containerPort: 8082 + containerPort: {{ .Values.tasks.settings.httpPort }} protocol: TCP volumeMounts: - mountPath: "{{ .Values.tasks.settings.tempPath }}" @@ -112,11 +112,11 @@ spec: - name: TEMP_PATH value: "{{ .Values.tasks.settings.tempPath }}" - name: Postgres__ConnectionString - value: {{ required "A valid .Values.postgres.connectionString entry required" $.Values.postgres.connectionString }} + value: {{ include "pro-tasks.connectionString" . }} - name: Postgres__Password valueFrom: secretKeyRef: - key: dbConnectionPwd + key: tasksDbConnectionPwd name: {{ include "pro-api.name" . }}-secret - name: Common__Logging__Format value: "{{ .Values.tasks.settings.logging.format }}" @@ -146,5 +146,53 @@ spec: - name: Common__Worker__ResourceIntensiveTasksWorkersCount value: "{{ $.Values.tasks.settings.worker.resourceIntensiveTasksWorkersCount }}" - name: Common__Worker__DefaultWorkersCount - value: "{{ $.Values.tasks.settings.worker.regularTasksWorkersCount }}" + value: "{{ $.Values.tasks.settings.worker.regularTasksWorkersCount }}" + - name: ES_HOST + value: {{ required "A valid .Values.elastic.host entry required" $.Values.elastic.host }} + - name: ES_INDEX_PREFIX + value: "{{ .Values.elastic.indexPrefix }}" + {{ if .Values.elastic.credentials }} + - name: ES_CREDENTIALS + valueFrom: + secretKeyRef: + key: esCredentials + name: {{ include "pro-api.name" . }}-secret + {{ end }} + - name: LOG_ES_QUERIES + value: "{{ .Values.api.settings.logEsQueries }}" + - name: S3Settings__Url + value: {{ required "A valid .Values.dgctlStorage.host entry required" $.Values.dgctlStorage.host }} + - name: S3Settings__Secure + value: "{{ .Values.dgctlStorage.secure }}" + - name: S3Settings__Region + value: {{ .Values.dgctlStorage.region }} + - name: S3Settings__DisablePayloadSigning + value: "{{ .Values.dgctlStorage.disablePayloadSigning }}" + - name: S3Settings__AssetDataBucket + value: {{ required "A valid .Values.s3.assetsDataBucket entry required" $.Values.s3.assetsDataBucket }} + - name: S3Settings__UserAssetDataBucket + value: {{ required "A valid .Values.s3.userAssetsDataBucket entry required" $.Values.s3.userAssetsDataBucket }} + - name: S3Settings__LayerDataBucket + value: {{ required "A valid .Values.s3.layerDataBucket entry required" $.Values.s3.layerDataBucket }} + - name: S3Settings__SnapshotBucket + value: {{ required "A valid .Values.s3.snapshotBucket entry required" $.Values.s3.snapshotBucket }} + - name: S3Settings__ResourcesBucket + value: {{ required "A valid .Values.s3.resourcesBucket entry required" $.Values.s3.resourcesBucket }} + - name: S3Settings__AccessKey + valueFrom: + secretKeyRef: + key: s3AccessKey + name: {{ include "pro-api.name" . }}-secret + - name: S3Settings__SecretKey + valueFrom: + secretKeyRef: + key: s3SecretKey + name: {{ include "pro-api.name" . }}-secret + - name: GeoApi__Url + value: http://{{ include "pro-api.name" . }} + - name: GeoApi__Key + valueFrom: + secretKeyRef: + key: apiKey + name: {{ include "pro-api.name" . }}-secret {{- end }} diff --git a/charts/pro-api/templates/tasks-api/deployment.yaml b/charts/pro-api/templates/tasks-api/deployment.yaml index 4a7fc760e..d30e7fd2a 100644 --- a/charts/pro-api/templates/tasks-api/deployment.yaml +++ b/charts/pro-api/templates/tasks-api/deployment.yaml @@ -69,7 +69,10 @@ spec: imagePullPolicy: {{ .Values.tasks.image.pullPolicy }} ports: - name: http - containerPort: 8082 + containerPort: {{ .Values.tasks.settings.httpPort }} + protocol: TCP + - name: grpc + containerPort: {{ .Values.tasks.settings.grpcPort }} protocol: TCP volumeMounts: - mountPath: "{{ .Values.tasks.settings.tempPath }}" @@ -112,11 +115,11 @@ spec: - name: TEMP_PATH value: "{{ .Values.tasks.settings.tempPath }}" - name: Postgres__ConnectionString - value: {{ required "A valid .Values.postgres.connectionString entry required" $.Values.postgres.connectionString }} + value: {{ include "pro-tasks.connectionString" . }} - name: Postgres__Password valueFrom: secretKeyRef: - key: dbConnectionPwd + key: tasksDbConnectionPwd name: {{ include "pro-api.name" . }}-secret - name: Common__Logging__Format value: "{{ .Values.tasks.settings.logging.format }}" @@ -143,4 +146,9 @@ spec: value: "{{ $.Values.kafka.useReplicaTopics }}" - name: Common__Mode value: "Api" + - name: Common__HttpPort + value: "{{ .Values.tasks.settings.httpPort }}" + - name: Common__GrpcPort + value: "{{ .Values.tasks.settings.grpcPort }}" + {{- end }} diff --git a/charts/pro-api/templates/tasks-api/service.yaml b/charts/pro-api/templates/tasks-api/service.yaml index af05cb220..742cf1a9f 100644 --- a/charts/pro-api/templates/tasks-api/service.yaml +++ b/charts/pro-api/templates/tasks-api/service.yaml @@ -20,6 +20,11 @@ spec: protocol: TCP name: http appProtocol: http + - port: {{ .Values.tasks.settings.grpcPort }} + targetPort: grpc + protocol: TCP + name: grpc + appProtocol: http selector: {{- include "pro-api.tasksSelectorLabels" . | nindent 4 }} {{- end }} diff --git a/charts/pro-api/values.yaml b/charts/pro-api/values.yaml index c3947e837..dd8cd909f 100644 --- a/charts/pro-api/values.yaml +++ b/charts/pro-api/values.yaml @@ -1,3 +1,4 @@ + # @section Geo API configuration & settings api: @@ -10,7 +11,7 @@ api: # @param api.image.pullPolicy Pull Policy image: repository: 2gis-on-premise/pro-api - tag: 1.50.1 + tag: 1.54.0 pullPolicy: IfNotPresent # @param api.ingress.enabled If Ingress is enabled for the service. @@ -127,8 +128,8 @@ api: # @skip api.settings.localCache.enabled # @skip api.settings.localCache.trackStatistics # @skip api.settings.openApi.servers - # @param api.settings.auth.type Authentication type: 'none' - disabled, 'openid10' - [OpenId 1.0 / OAuth 2.0 authentication protocol](https://openid.net/specs/openid-connect-core-1_0.html), 'urbi' - urbi authentication protocol - # @param api.settings.auth.url API URL of authentication service. Example: `http(s)://keycloak.ingress.host` + # @param api.settings.auth.type Authentication type: 'openid10' - [OpenId 1.0 / OAuth 2.0 authentication protocol](https://openid.net/specs/openid-connect-core-1_0.html), 'urbi' - urbi authentication protocol. **Required** + # @param api.settings.auth.url API URL of authentication service. Example: `http(s)://keycloak.ingress.host`. **Required** # @param api.settings.auth.userInfoEndpoint The [UserInfo endpoint](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo). Example: `realms/URBI_Pro/protocol/openid-connect/userinfo` # @param api.settings.auth.wellKnownConfigEndpoint The [Well-Known Config endpoint](https://openid.net/specs/openid-connect-discovery-1_0.html). Example: `realms/URBI_Pro/.well-known/openid-configuration` # @param api.settings.auth.apiKey Secret API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `4230b288-301e-4ec6-82c6-db6a8a72c2af` @@ -137,7 +138,8 @@ api: # @param api.settings.auth.shareKeys Secret keys for creating and validating shared links. Must contain at least 32 characters. All keys are used for validation. The last one is used for creation. Example: `m7nShlX1a8+IqE9ZcDqRCVjlhEud850ucT0av9bS+tcMTwIwUOUqpNikM+G8teDR` # @param api.settings.backgroundJobs.enableUserAssetsImporter If user data importer job is enabled for the service. # @param api.settings.backgroundJobs.enableAssetsStreaming If the streaming data processing job is enabled for the service. - # @param api.settings.layerGeneration.isochroneLayerMaxPointsCount If layer contains more points, isochrone is not avalible. + # @param api.settings.layerGeneration.isochroneLayerMaxPointsCount Maximum number of points in a layer for generating isochrones. + # @skip api.settings.tasksApi.useForLayerDataPreparation settings: licenseKey: '' tempPath: /tmp @@ -159,7 +161,7 @@ api: openApi: servers: [] auth: - type: none + type: openid10 url: '' userInfoEndpoint: '' wellKnownConfigEndpoint: '' @@ -172,6 +174,8 @@ api: enableAssetsStreaming: false layerGeneration: isochroneLayerMaxPointsCount: 500 + tasksApi: + useForLayerDataPreparation: false # @section Permissions API configuration & settings @@ -182,7 +186,7 @@ permissions: # @param permissions.image.pullPolicy Pull Policy image: repository: 2gis-on-premise/pro-permissions-api - tag: 1.50.1 + tag: 1.54.0 pullPolicy: IfNotPresent # @param permissions.ingress.enabled If Ingress is enabled for the service @@ -202,7 +206,6 @@ permissions: tls: [] # secretName: secret.tls - # @param permissions.pod.replicaCount A replica count for the pod. # @param permissions.pod.imagePullSecrets Kubernetes image pull secrets. # @param permissions.pod.nodeSelector Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). # @param permissions.pod.affinity Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). @@ -220,7 +223,6 @@ permissions: # @param permissions.pod.resources.limits.cpu A CPU limit. # @param permissions.pod.resources.limits.memory A memory limit. pod: - replicaCount: 1 imagePullSecrets: [] nodeSelector: {} affinity: {} @@ -251,34 +253,32 @@ permissions: port: 80 # @skip permissions.settings.host - # @param permissions.settings.enabled If permissionsApi is enabled for the service. # @skip permissions.settings.localCache.enabled # @skip permissions.settings.localCache.trackStatistics - # @param permissions.settings.auth.apiKey Secret Permissions API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `c7d74870-ec28-4543-b408-b49bfed84399` + # @param permissions.settings.auth.apiKey Secret Permissions API Key to perform authorized service actions, random string. Must be set if type not 'none'. Example: `c7d74870-ec28-4543-b408-b49bfed84399`. **Required** settings: host: '' - enabled: false localCache: enabled: true trackStatistics: false auth: apiKey: '' - +# @section Tasks API configuration & settings # @skip tasks tasks: image: repository: 2gis-on-premise/pro-tasks-api - tag: 1.50.1 + tag: 1.54.0 pullPolicy: IfNotPresent ingress: enabled: false className: nginx hosts: - - host: '' + - host: pro-tasks-api.example.com paths: - path: / pathType: Prefix @@ -338,6 +338,8 @@ tasks: worker: resourceIntensiveTasksWorkersCount: 5 regularTasksWorkersCount: 5 + httpPort: 8082 + grpcPort: 8083 # @section asset importer settings @@ -365,11 +367,12 @@ tasks: # @param assetImporter.settings.externalLinksProxyUrl URL to proxy http links from assets data (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) # @param assetImporter.settings.externalLinksAllowedHosts Comma separated hosts, i.e. 'someserver.com,someserver2.com' ) # @skip assetImporter.settings.esMetricsEnabled +# @param assetImporter.settings.failedImportJobsLimit How many import jobs can fail before scheduler stops creating new imports assetImporter: appName: asset-importer repository: 2gis-on-premise/pro-importer - tag: 1.50.1 + tag: 1.54.0 schedule: 0 18 * * * backoffLimit: 2 successfulJobsHistoryLimit: 3 @@ -392,6 +395,7 @@ assetImporter: externalLinksProxyUrl: '' externalLinksAllowedHosts: '' esMetricsEnabled: false + failedImportJobsLimit: 0 # @section asset preparer settings @@ -401,7 +405,7 @@ assetImporter: assetPreparer: appName: asset-preparer repository: 2gis-on-premise/pro-importer - tag: 1.50.1 + tag: 1.54.0 schedule: 0 16 * * 6 backoffLimit: 2 successfulJobsHistoryLimit: 1 @@ -413,7 +417,7 @@ assetPreparer: limits: cpu: 500m memory: 512M - enabled: true + enabled: false settings: files: '' maxParallelJobs: 1 @@ -468,15 +472,49 @@ s3: # @section PostgreSQL settings -# @param postgres.connectionString Connection string to the PostgreSQL database. Format: `Server=SERVER_URL;Database=DB_NAME;UID=USER_NAME;` -# @param postgres.connectionStringReadonly Connection string to the readonly node of PostgreSQL database. Format: `Server=SERVER_URL;Database=DB_NAME;UID=USER_NAME;` -# @param postgres.password User password to connect to the PostgreSQL database. - postgres: - connectionString: '' - connectionStringReadonly: '' - password: '' + # @extra postgres.api. Settings for Geo API database connection + + api: + + # @extra postgres.api.rw. Settings for the read-write access. Same settings for read-only access can be added, if necessary (postgres.api.ro). + # @param postgres.api.rw.host PostgreSQL hostname or IP. **Required** + # @param postgres.api.rw.port PostgreSQL port. **Required** + # @param postgres.api.rw.timeout PostgreSQL client connection timeout in seconds. + # @extra postgres.api.rw.poolSize. Settings for the pool size + # @param postgres.api.rw.poolSize.min PostgreSQL minimum connection pool size. 0 means no minimal bound. + # @param postgres.api.rw.poolSize.max PostgreSQL maximum connection pool size + # @param postgres.api.rw.name PostgreSQL database name. **Required** + # @param postgres.api.rw.username PostgreSQL username. **Required** + # @param postgres.api.rw.password PostgreSQL password. **Required** + # @param postgres.api.ro Settings for the read-only access. + + rw: + host: '' + port: 5432 + timeout: 15 + poolSize: + min: 1 + max: 10 + name: '' + username: '' + password: '' + ro: null + + # @skip postgres.tasks + tasks: + rw: + host: '' + port: 5432 + timeout: 15 + poolSize: + min: 1 + max: 5 + name: '' + username: '' + password: '' + ro: null # @section Kafka settings (supported version 2.7) From 9eff665ce6bcd1c87539bdfedb4b1f59f098469c Mon Sep 17 00:00:00 2001 From: Denis Belyaev <74010851+dbelyaev-nsk@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:25:39 +0700 Subject: [PATCH 08/15] up nginx version (#555) --- charts/traffic-proxy/README.md | 2 +- charts/traffic-proxy/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/traffic-proxy/README.md b/charts/traffic-proxy/README.md index 83f63f920..b2f78a3e1 100644 --- a/charts/traffic-proxy/README.md +++ b/charts/traffic-proxy/README.md @@ -68,7 +68,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/traffic-proxy) to le | ------------------ | ----------- | ----------------------- | | `image.repository` | Repository | `2gis-on-premise/nginx` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | -| `image.tag` | Tag | `1.21.6` | +| `image.tag` | Tag | `1.25.4` | ### Strategy settings diff --git a/charts/traffic-proxy/values.yaml b/charts/traffic-proxy/values.yaml index 09e7849d7..45e9abb32 100644 --- a/charts/traffic-proxy/values.yaml +++ b/charts/traffic-proxy/values.yaml @@ -109,7 +109,7 @@ proxy: image: repository: 2gis-on-premise/nginx - tag: 1.21.6 + tag: 1.25.4 pullPolicy: IfNotPresent From b811dda6b24a3a918197ae6ca5f338b5a8363774 Mon Sep 17 00:00:00 2001 From: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:45:05 +0700 Subject: [PATCH 09/15] =?UTF-8?q?[ONPREM-1377]=20=D0=9F=D0=BE=D0=B4=D0=BD?= =?UTF-8?q?=D1=8F=D1=82=D0=B8=D0=B5=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= =?UTF-8?q?=20PRO-UI=20importer=20(#564)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: mprudnikov --- charts/pro-ui/README.md | 2 +- charts/pro-ui/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/pro-ui/README.md b/charts/pro-ui/README.md index 7555a8275..88ba69293 100644 --- a/charts/pro-ui/README.md +++ b/charts/pro-ui/README.md @@ -179,7 +179,7 @@ Use this Helm chart to deploy 2GIS Pro UI service, which is a part of 2GIS's [On | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | | `stylesImporter.name` | Styles Import job name. | `styles-importer` | | `stylesImporter.image.repository` | Docker Repository Image. | `2gis-on-premise/pro-importer` | -| `stylesImporter.image.tag` | Docker image tag. | `1.50.1` | +| `stylesImporter.image.tag` | Docker image tag. | `1.54.0` | | `stylesImporter.backoffLimit` | The number of [retries](https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy) before considering a Job as failed. | `2` | | `stylesImporter.successfulJobsHistoryLimit` | How many completed and failed jobs should be kept. See [docs](https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#jobs-history-limits). | `3` | | `stylesImporter.nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | diff --git a/charts/pro-ui/values.yaml b/charts/pro-ui/values.yaml index 0f794afc7..daa0efcea 100644 --- a/charts/pro-ui/values.yaml +++ b/charts/pro-ui/values.yaml @@ -292,7 +292,7 @@ stylesImporter: name: styles-importer image: repository: 2gis-on-premise/pro-importer - tag: 1.50.1 + tag: 1.54.0 backoffLimit: 2 successfulJobsHistoryLimit: 3 nodeSelector: {} From b0a584cda8edf701c75e38f7d1994187b0c38c49 Mon Sep 17 00:00:00 2001 From: Vladimir Airikh Date: Thu, 26 Dec 2024 10:11:53 +0300 Subject: [PATCH 10/15] TILES-7086 Updated mapgl-api appVersion (#561) * TILES-7086 Updated mapgl-api appVersion * Updated mapgl-api version --------- Co-authored-by: Vladimir-Ayrikh --- charts/mapgl-js-api/Chart.yaml | 2 +- charts/mapgl-js-api/README.md | 2 +- charts/mapgl-js-api/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/mapgl-js-api/Chart.yaml b/charts/mapgl-js-api/Chart.yaml index 6614b40e4..a77e0d434 100644 --- a/charts/mapgl-js-api/Chart.yaml +++ b/charts/mapgl-js-api/Chart.yaml @@ -5,7 +5,7 @@ description: Basic WebGL map chart template for 2GIS On-Premise type: application version: 1.32.0 -appVersion: 1.54.1 +appVersion: 1.55.0 maintainers: - name: 2gis diff --git a/charts/mapgl-js-api/README.md b/charts/mapgl-js-api/README.md index 1eac1dd70..8a7bbe299 100644 --- a/charts/mapgl-js-api/README.md +++ b/charts/mapgl-js-api/README.md @@ -48,7 +48,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: | Name | Description | Value | | ------------------ | ----------- | ----------------------- | | `image.repository` | Repository | `2gis-on-premise/mapgl` | -| `image.tag` | Tag | `1.54.1` | +| `image.tag` | Tag | `1.55.0` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | ### Environment variables diff --git a/charts/mapgl-js-api/values.yaml b/charts/mapgl-js-api/values.yaml index 68ee11319..666197d8c 100644 --- a/charts/mapgl-js-api/values.yaml +++ b/charts/mapgl-js-api/values.yaml @@ -42,7 +42,7 @@ podLabels: {} image: repository: 2gis-on-premise/mapgl - tag: 1.54.1 + tag: 1.55.0 pullPolicy: IfNotPresent From 2c5cb30adb5aba521fc65aeda574531ad1e3195e Mon Sep 17 00:00:00 2001 From: Denis Belyaev <74010851+dbelyaev-nsk@users.noreply.github.com> Date: Fri, 27 Dec 2024 10:48:03 +0700 Subject: [PATCH 11/15] up nginx version (#558) --- charts/navi-castle/README.md | 2 +- charts/navi-castle/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/navi-castle/README.md b/charts/navi-castle/README.md index 9145e9a79..809a1df3c 100644 --- a/charts/navi-castle/README.md +++ b/charts/navi-castle/README.md @@ -34,7 +34,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn | `castle.image.pullPolicy` | Navi-Castle service pull policy. | `IfNotPresent` | | `castle.image.tag` | Navi-Castle service image tag. | `1.9.2` | | `nginx.image.repository` | Navi-Front image repository. | `2gis-on-premise/navi-front` | -| `nginx.image.tag` | Navi-Front image tag. | `1.24.1` | +| `nginx.image.tag` | Navi-Front image tag. | `1.25.2` | ### Deployment Artifacts Storage settings diff --git a/charts/navi-castle/values.yaml b/charts/navi-castle/values.yaml index a8a2e9385..850f6ca7e 100644 --- a/charts/navi-castle/values.yaml +++ b/charts/navi-castle/values.yaml @@ -150,7 +150,7 @@ nginx: port: 8080 image: repository: 2gis-on-premise/navi-front - tag: 1.24.1 + tag: 1.25.2 # @section Cron settings From 4f0a1f4d77c989859a61ab6e65ee3535c2ff5683 Mon Sep 17 00:00:00 2001 From: i-bogomazov <106957509+i-bogomazov@users.noreply.github.com> Date: Fri, 27 Dec 2024 06:48:40 +0300 Subject: [PATCH 12/15] navi-front upd 1.24.1 -> 1.25.2 (#554) * navi-front upd 1.24.1 -> 1.25.2 * readme upd --- charts/navi-front/Chart.yaml | 2 +- charts/navi-front/README.md | 2 +- charts/navi-front/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/navi-front/Chart.yaml b/charts/navi-front/Chart.yaml index 5d042267a..e98540705 100644 --- a/charts/navi-front/Chart.yaml +++ b/charts/navi-front/Chart.yaml @@ -6,7 +6,7 @@ keywords: - navi - front version: 1.32.0 -appVersion: 1.24.1 +appVersion: 1.25.2 maintainers: - name: 2gis url: https://github.com/2gis diff --git a/charts/navi-front/README.md b/charts/navi-front/README.md index 10fbab960..301a11d10 100644 --- a/charts/navi-front/README.md +++ b/charts/navi-front/README.md @@ -47,7 +47,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn | Name | Description | Value | | ------------------ | ----------- | ---------------------------- | | `image.repository` | Repository | `2gis-on-premise/navi-front` | -| `image.tag` | Tag | `1.24.1` | +| `image.tag` | Tag | `1.25.2` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | ### Navi-Front service settings diff --git a/charts/navi-front/values.yaml b/charts/navi-front/values.yaml index 983b9d14c..ff5acc9ce 100644 --- a/charts/navi-front/values.yaml +++ b/charts/navi-front/values.yaml @@ -41,7 +41,7 @@ affinity: {} image: repository: 2gis-on-premise/navi-front pullPolicy: IfNotPresent - tag: 1.24.1 + tag: 1.25.2 # @section Navi-Front service settings From 20fb89ce9eccdd04aa945f57a61e21d52d7890c2 Mon Sep 17 00:00:00 2001 From: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> Date: Fri, 27 Dec 2024 10:49:19 +0700 Subject: [PATCH 13/15] =?UTF-8?q?[Navi]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D0=B0=20$enableServiceLinks:=20front,=20cast?= =?UTF-8?q?le=20(#565)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Navi] Добавление параметра $enableServiceLinks * [Navi] Добавление параметра $enableServiceLinks --- charts/navi-castle/README.md | 27 ++++++++++--------- charts/navi-castle/templates/statefulset.yaml | 1 + charts/navi-castle/values.yaml | 2 ++ charts/navi-front/README.md | 27 ++++++++++--------- charts/navi-front/templates/deployment.yaml | 1 + charts/navi-front/values.yaml | 2 ++ charts/traffic-proxy/values.yaml | 2 +- 7 files changed, 35 insertions(+), 27 deletions(-) diff --git a/charts/navi-castle/README.md b/charts/navi-castle/README.md index 809a1df3c..aa8808710 100644 --- a/charts/navi-castle/README.md +++ b/charts/navi-castle/README.md @@ -50,19 +50,20 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn ### Common settings -| Name | Description | Value | -| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----- | -| `replicaCount` | A replica count for the pod. | `1` | -| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | -| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | -| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | -| `terminationGracePeriodSeconds` | Maximum time allowed for graceful shutdown. | `60` | +| Name | Description | Value | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `replicaCount` | A replica count for the pod. | `1` | +| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | +| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| `terminationGracePeriodSeconds` | Maximum time allowed for graceful shutdown. | `60` | ### Service account settings diff --git a/charts/navi-castle/templates/statefulset.yaml b/charts/navi-castle/templates/statefulset.yaml index c6ef8fedc..c4853928f 100644 --- a/charts/navi-castle/templates/statefulset.yaml +++ b/charts/navi-castle/templates/statefulset.yaml @@ -61,6 +61,7 @@ spec: - name: {{ include "castle.fullname" . }}-data emptyDir: {} {{- end }} + enableServiceLinks: {{ .Values.enableServiceLinks }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} containers: - name: castle-nginx diff --git a/charts/navi-castle/values.yaml b/charts/navi-castle/values.yaml index 850f6ca7e..1d4230a7b 100644 --- a/charts/navi-castle/values.yaml +++ b/charts/navi-castle/values.yaml @@ -36,6 +36,7 @@ dgctlStorage: # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param replicaCount A replica count for the pod. # @param imagePullSecrets Kubernetes image pull secrets. # @param nameOverride Base name to use in all the Kubernetes entities deployed by this chart. @@ -48,6 +49,7 @@ dgctlStorage: # @param affinity Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). # @param terminationGracePeriodSeconds Maximum time allowed for graceful shutdown. +enableServiceLinks: true replicaCount: 1 imagePullSecrets: [] nameOverride: '' diff --git a/charts/navi-front/README.md b/charts/navi-front/README.md index 301a11d10..63a223c42 100644 --- a/charts/navi-front/README.md +++ b/charts/navi-front/README.md @@ -28,19 +28,20 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn ### Common settings -| Name | Description | Value | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----- | -| `replicaCount` | A replica count for the pod. | `1` | -| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | -| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | -| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | -| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | -| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | -| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | -| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | -| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | -| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | +| Name | Description | Value | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `enableServiceLinks` | Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) | `true` | +| `replicaCount` | A replica count for the pod. | `1` | +| `revisionHistoryLimit` | Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). | `3` | +| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | +| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` | +| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` | +| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` | +| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` | +| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` | +| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` | +| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` | ### Deployment settings diff --git a/charts/navi-front/templates/deployment.yaml b/charts/navi-front/templates/deployment.yaml index 56d91a27e..429636974 100644 --- a/charts/navi-front/templates/deployment.yaml +++ b/charts/navi-front/templates/deployment.yaml @@ -23,6 +23,7 @@ spec: labels: {{- include "front.selectorLabels" . | nindent 8 }} spec: + enableServiceLinks: {{ .Values.enableServiceLinks }} {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} diff --git a/charts/navi-front/values.yaml b/charts/navi-front/values.yaml index ff5acc9ce..26b60a5dc 100644 --- a/charts/navi-front/values.yaml +++ b/charts/navi-front/values.yaml @@ -7,6 +7,7 @@ dgctlDockerRegistry: '' # @section Common settings +# @param enableServiceLinks Services injection into containers environment [Accessing the Service](https://kubernetes.io/docs/tutorials/services/connect-applications-service/#accessing-the-service) # @param replicaCount A replica count for the pod. # @param revisionHistoryLimit Revision history limit (used for [rolling back](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) a deployment). # @param imagePullSecrets Kubernetes image pull secrets. @@ -19,6 +20,7 @@ dgctlDockerRegistry: '' # @param tolerations Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. # @param affinity Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). +enableServiceLinks: true replicaCount: 1 revisionHistoryLimit: 3 imagePullSecrets: [] diff --git a/charts/traffic-proxy/values.yaml b/charts/traffic-proxy/values.yaml index 45e9abb32..4a3c3da3c 100644 --- a/charts/traffic-proxy/values.yaml +++ b/charts/traffic-proxy/values.yaml @@ -76,7 +76,7 @@ proxy: errorLog: level: error - accessLog: off + accessLog: 'off' # accessLog: '/dev/stdout main' keepaliveTimeout: 65 From d323ab943183cbfee4064622bb51137b08709549 Mon Sep 17 00:00:00 2001 From: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> Date: Fri, 27 Dec 2024 16:03:57 +0700 Subject: [PATCH 14/15] [PRO-API] Add for skip ".Values.postgres.tasks" (#566) * [PRO-API] Add for skip ".Values.postgres.tasks" --- charts/pro-api/README.md | 2 +- charts/pro-api/templates/_helpers.tpl | 4 ++++ charts/pro-api/templates/secrets.yaml | 2 ++ charts/pro-api/values.yaml | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/charts/pro-api/README.md b/charts/pro-api/README.md index e3fe656d9..fd4aab822 100644 --- a/charts/pro-api/README.md +++ b/charts/pro-api/README.md @@ -184,7 +184,7 @@ | `postgres.api.rw.name` | PostgreSQL database name. **Required** | `""` | | `postgres.api.rw.username` | PostgreSQL username. **Required** | `""` | | `postgres.api.rw.password` | PostgreSQL password. **Required** | `""` | -| `postgres.api.ro` | Settings for the read-only access. | `nil` | +| `postgres.api.ro` | Settings for the read-only access. | `[]` | ### Kafka settings (supported version 2.7) diff --git a/charts/pro-api/templates/_helpers.tpl b/charts/pro-api/templates/_helpers.tpl index 861950254..3f88cccff 100644 --- a/charts/pro-api/templates/_helpers.tpl +++ b/charts/pro-api/templates/_helpers.tpl @@ -134,6 +134,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end -}} {{- define "pro-tasks.connectionString" -}} +{{- if .Values.tasks.settings.enabled -}} {{- printf "Server=%s;Port=%d;Database=%s;UID=%s;Pooling=True;Minimum Pool Size=%d;Maximum Pool Size=%d;Timeout=%d;Connection Idle Lifetime=30;KeepAlive=5;" (.Values.postgres.tasks.rw.host | required "A valid .Values.postgres.tasks.rw.host entry required!") (.Values.postgres.tasks.rw.port | required "A valid .Values.postgres.tasks.rw.port entry required!" | int) @@ -143,4 +144,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} ((.Values.postgres.tasks.rw.poolSize).max | int | default 5) (.Values.postgres.tasks.rw.timeout | int | default 15) -}} +{{- else -}} +{{ print "" }} +{{- end -}} {{- end -}} diff --git a/charts/pro-api/templates/secrets.yaml b/charts/pro-api/templates/secrets.yaml index 542f3c198..302a59e26 100644 --- a/charts/pro-api/templates/secrets.yaml +++ b/charts/pro-api/templates/secrets.yaml @@ -7,7 +7,9 @@ data: catalogApi2gisKey: {{ required "Valid .Values.catalog.key required!" .Values.catalog.key | b64enc }} routingApi2gisKey: {{ required "Valid .Values.navi.key required!" .Values.navi.key | b64enc }} dbConnectionPwd: {{ required "Valid .Values.postgres.api.rw.password required!" .Values.postgres.api.rw.password | b64enc }} + {{ if .Values.tasks.settings.enabled }} tasksDbConnectionPwd: {{ required "Valid .Values.postgres.tasks.rw.password required!" .Values.postgres.tasks.rw.password | b64enc }} + {{ end }} s3AccessKey: {{ required "Valid .Values.dgctlStorage.accessKey required!" .Values.dgctlStorage.accessKey | b64enc }} s3SecretKey: {{ required "Valid .Values.dgctlStorage.secretKey required!" .Values.dgctlStorage.secretKey | b64enc }} {{ if .Values.digger.password }} diff --git a/charts/pro-api/values.yaml b/charts/pro-api/values.yaml index dd8cd909f..aedf89ff2 100644 --- a/charts/pro-api/values.yaml +++ b/charts/pro-api/values.yaml @@ -500,7 +500,7 @@ postgres: name: '' username: '' password: '' - ro: null + ro: [] # @skip postgres.tasks tasks: @@ -514,7 +514,7 @@ postgres: name: '' username: '' password: '' - ro: null + ro: [] # @section Kafka settings (supported version 2.7) From e9c03085c296d3cdf5d13b6cac4a704bf0d0da3d Mon Sep 17 00:00:00 2001 From: mprudnikov3 <139206622+mprudnikov3@users.noreply.github.com> Date: Fri, 27 Dec 2024 16:48:08 +0700 Subject: [PATCH 15/15] Release 1.33.0 (#567) --- CHANGELOG.md | 51 +++++++++++++++++++++++++ charts/catalog-api/Chart.yaml | 2 +- charts/citylens/Chart.yaml | 2 +- charts/dgtt/Chart.yaml | 2 +- charts/floors-api/Chart.yaml | 2 +- charts/generic-chart/Chart.yaml | 2 +- charts/gis-platform/Chart.yaml | 2 +- charts/keycloak/Chart.yaml | 2 +- charts/keys/Chart.yaml | 2 +- charts/license/Chart.yaml | 2 +- charts/mapgl-js-api/Chart.yaml | 2 +- charts/navi-async-grpc-proxy/Chart.yaml | 2 +- charts/navi-async-matrix/Chart.yaml | 2 +- charts/navi-back/Chart.yaml | 2 +- charts/navi-castle/Chart.yaml | 2 +- charts/navi-front/Chart.yaml | 2 +- charts/navi-restrictions/Chart.yaml | 4 +- charts/navi-router/Chart.yaml | 2 +- charts/navi-splitter/Chart.yaml | 2 +- charts/platform/Chart.yaml | 2 +- charts/pro-api/Chart.yaml | 4 +- charts/pro-api/values.yaml | 1 - charts/pro-ui/Chart.yaml | 2 +- charts/search-api/Chart.yaml | 2 +- charts/stat-receiver/Chart.yaml | 2 +- charts/styles-api/Chart.yaml | 2 +- charts/tiles-api/Chart.yaml | 2 +- charts/traffic-proxy/Chart.yaml | 4 +- charts/traffic-proxy/README.md | 30 +++++++-------- charts/traffic-proxy/values.yaml | 2 +- charts/twins-api/Chart.yaml | 2 +- image_versions.txt | 34 ++++++++--------- 32 files changed, 114 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f31e9948..e0ef4576a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,56 @@ # 2GIS On-Premise Changelog +## [1.33.0] (2024-12-27) +#### [Breaking-Changes](Breaking-Changes.md#1330) +#### Images +``` +citylens + - citylens-api:1.15.0 + + citylens-api:1.16.4 + - citylens-database:1.15.0 + + citylens-database:1.16.1 + - citylens-web:1.15.0 + + citylens-web:1.16.4 + - citylens-workers:1.15.0 + + citylens-workers:1.16.4 +floors-api + - nginx:1.21.6 + + nginx:1.25.4 +license + - license:2.2.3 + + license:2.2.4 +mapgl-js-api + - mapgl:1.53.0 + + mapgl:1.55.0 +navi-castle + - navi-front:1.24.1 + + navi-front:1.25.2 +navi-front + - navi-front:1.24.1 + + navi-front:1.25.2 +pro-api + - pro-api:1.50.1 + + pro-api:1.54.0 + - pro-importer:1.50.1 + + pro-importer:1.54.0 + - pro-importer:1.50.1 + + pro-importer:1.54.0 + - pro-permissions-api:1.50.1 + + pro-permissions-api:1.54.0 + - pro-tasks-api:1.50.1 + + pro-tasks-api:1.54.0 +pro-ui + - pro-importer:1.50.1 + + pro-importer:1.54.0 +search-api + + nginx:1.25.4 + - search-nginx:1.21.6 +traffic-proxy + - nginx:1.21.6 + + nginx:1.25.4 + +``` + ## [1.32.0] (2024-11-28) #### [Breaking-Changes](Breaking-Changes.md#1320) #### Images diff --git a/charts/catalog-api/Chart.yaml b/charts/catalog-api/Chart.yaml index 481119409..9015c00d8 100644 --- a/charts/catalog-api/Chart.yaml +++ b/charts/catalog-api/Chart.yaml @@ -3,7 +3,7 @@ name: catalog-api type: application description: A Helm chart for Kubernetes to deploy Catalog APIs -version: 1.32.0 +version: 1.33.0 appVersion: 3.625.0 maintainers: diff --git a/charts/citylens/Chart.yaml b/charts/citylens/Chart.yaml index d6fbf1f2a..5167fd55f 100644 --- a/charts/citylens/Chart.yaml +++ b/charts/citylens/Chart.yaml @@ -3,7 +3,7 @@ name: citylens type: application description: A Helm chart for Kubernetes to deploy Citylens service -version: 1.32.0 +version: 1.33.0 appVersion: 1.16.4 maintainers: diff --git a/charts/dgtt/Chart.yaml b/charts/dgtt/Chart.yaml index 7eb005a7f..9c26a72e5 100644 --- a/charts/dgtt/Chart.yaml +++ b/charts/dgtt/Chart.yaml @@ -3,7 +3,7 @@ name: dgtt description: DGTT Helm chart for Kubernetes type: application -version: 1.32.0 +version: 1.33.0 appVersion: 0.2.27-b188673e09 maintainers: diff --git a/charts/floors-api/Chart.yaml b/charts/floors-api/Chart.yaml index 9b09a57e7..9b13f48e8 100644 --- a/charts/floors-api/Chart.yaml +++ b/charts/floors-api/Chart.yaml @@ -3,7 +3,7 @@ name: floors-api description: Helm for floors service type: application -version: 1.32.0 +version: 1.33.0 appVersion: 1.1.0 maintainers: diff --git a/charts/generic-chart/Chart.yaml b/charts/generic-chart/Chart.yaml index 35882ca71..6164c7e73 100644 --- a/charts/generic-chart/Chart.yaml +++ b/charts/generic-chart/Chart.yaml @@ -4,7 +4,7 @@ description: Generic library Helm chart for 2Gis type: library keywords: - library -version: 1.32.0 +version: 1.33.0 maintainers: - name: 2gis url: https://github.com/2gis diff --git a/charts/gis-platform/Chart.yaml b/charts/gis-platform/Chart.yaml index c6d3f4013..0315de404 100644 --- a/charts/gis-platform/Chart.yaml +++ b/charts/gis-platform/Chart.yaml @@ -4,7 +4,7 @@ description: GIS Platform type: application -version: 1.32.0 +version: 1.33.0 appVersion: 2023.8.3-0 dependencies: diff --git a/charts/keycloak/Chart.yaml b/charts/keycloak/Chart.yaml index b046e2825..df037b583 100644 --- a/charts/keycloak/Chart.yaml +++ b/charts/keycloak/Chart.yaml @@ -3,7 +3,7 @@ name: keycloak type: application description: Keycloak is a high performance Java-based identity and access management solution. It lets developers add an authentication layer to their applications with minimum effort. -version: 1.32.0 +version: 1.33.0 appVersion: 21.1.1-debian-11-r4 maintainers: diff --git a/charts/keys/Chart.yaml b/charts/keys/Chart.yaml index 0175536dc..347865c5f 100644 --- a/charts/keys/Chart.yaml +++ b/charts/keys/Chart.yaml @@ -3,7 +3,7 @@ name: keys type: application description: A Helm chart for Kubernetes to deploy API Keys service -version: 1.32.0 +version: 1.33.0 appVersion: 1.89.0 maintainers: diff --git a/charts/license/Chart.yaml b/charts/license/Chart.yaml index 74031a8e3..1dc599b5a 100644 --- a/charts/license/Chart.yaml +++ b/charts/license/Chart.yaml @@ -3,7 +3,7 @@ name: license type: application description: A Helm chart for Kubernetes to deploy License service -version: 1.32.0 +version: 1.33.0 appVersion: 2.2.4 maintainers: diff --git a/charts/mapgl-js-api/Chart.yaml b/charts/mapgl-js-api/Chart.yaml index a77e0d434..69f996860 100644 --- a/charts/mapgl-js-api/Chart.yaml +++ b/charts/mapgl-js-api/Chart.yaml @@ -4,7 +4,7 @@ description: Basic WebGL map chart template for 2GIS On-Premise type: application -version: 1.32.0 +version: 1.33.0 appVersion: 1.55.0 maintainers: diff --git a/charts/navi-async-grpc-proxy/Chart.yaml b/charts/navi-async-grpc-proxy/Chart.yaml index ca72b4277..09d66ef3e 100644 --- a/charts/navi-async-grpc-proxy/Chart.yaml +++ b/charts/navi-async-grpc-proxy/Chart.yaml @@ -6,7 +6,7 @@ keywords: - navi - dm-async-matrix - async-grpc-proxy -version: 1.32.0 +version: 1.33.0 appVersion: 0.0.2 maintainers: - name: 2gis diff --git a/charts/navi-async-matrix/Chart.yaml b/charts/navi-async-matrix/Chart.yaml index db7d7e22f..1240e7f02 100644 --- a/charts/navi-async-matrix/Chart.yaml +++ b/charts/navi-async-matrix/Chart.yaml @@ -4,7 +4,7 @@ description: Service implements asynchronous API over Distance Matrix type: application -version: 1.32.0 +version: 1.33.0 appVersion: 1.11.2 maintainers: diff --git a/charts/navi-back/Chart.yaml b/charts/navi-back/Chart.yaml index 71bee55c7..4671bfa6e 100644 --- a/charts/navi-back/Chart.yaml +++ b/charts/navi-back/Chart.yaml @@ -6,7 +6,7 @@ keywords: - navi - back - backend -version: 1.32.0 +version: 1.33.0 appVersion: 7.29.2.2 dependencies: - name: generic-chart diff --git a/charts/navi-castle/Chart.yaml b/charts/navi-castle/Chart.yaml index 56eec7cdc..0bffeab83 100644 --- a/charts/navi-castle/Chart.yaml +++ b/charts/navi-castle/Chart.yaml @@ -4,7 +4,7 @@ description: Castle Helm chart for Kubernetes type: application -version: 1.32.0 +version: 1.33.0 appVersion: 1.9.2 maintainers: diff --git a/charts/navi-front/Chart.yaml b/charts/navi-front/Chart.yaml index e98540705..f23bd4704 100644 --- a/charts/navi-front/Chart.yaml +++ b/charts/navi-front/Chart.yaml @@ -5,7 +5,7 @@ type: application keywords: - navi - front -version: 1.32.0 +version: 1.33.0 appVersion: 1.25.2 maintainers: - name: 2gis diff --git a/charts/navi-restrictions/Chart.yaml b/charts/navi-restrictions/Chart.yaml index 330a47446..bd4000218 100644 --- a/charts/navi-restrictions/Chart.yaml +++ b/charts/navi-restrictions/Chart.yaml @@ -4,8 +4,8 @@ description: A Helm chart for Kubernetes to deploy Restrictions backend type: application -version: 1.32.0 -appVersion: 1.24.1 +version: 1.33.0 +appVersion: 1.0.1 maintainers: - name: 2gis diff --git a/charts/navi-router/Chart.yaml b/charts/navi-router/Chart.yaml index a8ab58e8f..f888b54a4 100644 --- a/charts/navi-router/Chart.yaml +++ b/charts/navi-router/Chart.yaml @@ -5,7 +5,7 @@ type: application keywords: - navi - router -version: 1.32.0 +version: 1.33.0 appVersion: 6.24.0.3 maintainers: - name: 2gis diff --git a/charts/navi-splitter/Chart.yaml b/charts/navi-splitter/Chart.yaml index 68cf62132..4661c22ba 100644 --- a/charts/navi-splitter/Chart.yaml +++ b/charts/navi-splitter/Chart.yaml @@ -15,5 +15,5 @@ maintainers: - name: 2gis url: https://github.com/2gis email: on-premise@2gis.com -version: 1.32.0 +version: 1.33.0 appVersion: 1.0.1 diff --git a/charts/platform/Chart.yaml b/charts/platform/Chart.yaml index 37cb372df..b73b428bb 100644 --- a/charts/platform/Chart.yaml +++ b/charts/platform/Chart.yaml @@ -3,7 +3,7 @@ name: platform type: application description: A Helm chart for Kubernetes to deploy Platform -version: 1.32.0 +version: 1.33.0 appVersion: 0.15.1 maintainers: diff --git a/charts/pro-api/Chart.yaml b/charts/pro-api/Chart.yaml index 07d85fd15..f934b42e6 100644 --- a/charts/pro-api/Chart.yaml +++ b/charts/pro-api/Chart.yaml @@ -4,8 +4,8 @@ description: Geo API for getting geo data type: application -version: 1.32.0 -appVersion: 1.50.1 +version: 1.33.0 +appVersion: 1.54.0 maintainers: - name: 2gis diff --git a/charts/pro-api/values.yaml b/charts/pro-api/values.yaml index aedf89ff2..2c9450129 100644 --- a/charts/pro-api/values.yaml +++ b/charts/pro-api/values.yaml @@ -1,4 +1,3 @@ - # @section Geo API configuration & settings api: diff --git a/charts/pro-ui/Chart.yaml b/charts/pro-ui/Chart.yaml index 289adf2b0..70a4a6fa9 100644 --- a/charts/pro-ui/Chart.yaml +++ b/charts/pro-ui/Chart.yaml @@ -3,7 +3,7 @@ name: pro-ui type: application description: A Helm chart for Kubernetes to deploy 2GIS Pro UI service -version: 1.32.0 +version: 1.33.0 appVersion: 3.5.0 maintainers: diff --git a/charts/search-api/Chart.yaml b/charts/search-api/Chart.yaml index 281fe48a3..43a1606d3 100644 --- a/charts/search-api/Chart.yaml +++ b/charts/search-api/Chart.yaml @@ -4,7 +4,7 @@ description: Search engine for catalog type: application -version: 1.32.0 +version: 1.33.0 appVersion: 7.85.0 maintainers: diff --git a/charts/stat-receiver/Chart.yaml b/charts/stat-receiver/Chart.yaml index 2ff0525a0..ca0dbf017 100644 --- a/charts/stat-receiver/Chart.yaml +++ b/charts/stat-receiver/Chart.yaml @@ -3,7 +3,7 @@ name: stat-receiver type: application description: A Helm chart for Kubernetes to deploy Stat Receiver -version: 1.32.0 +version: 1.33.0 appVersion: 1.11.1 maintainers: diff --git a/charts/styles-api/Chart.yaml b/charts/styles-api/Chart.yaml index 985afc177..74e8675d4 100644 --- a/charts/styles-api/Chart.yaml +++ b/charts/styles-api/Chart.yaml @@ -3,7 +3,7 @@ name: styles-api type: application description: A Helm chart for Kubernetes to deploy API Styles service -version: 1.32.0 +version: 1.33.0 appVersion: 0.30.0 maintainers: diff --git a/charts/tiles-api/Chart.yaml b/charts/tiles-api/Chart.yaml index d2d443fbc..cce0ce766 100644 --- a/charts/tiles-api/Chart.yaml +++ b/charts/tiles-api/Chart.yaml @@ -4,7 +4,7 @@ description: Tiles API for getting cartographic data type: application -version: 1.32.0 +version: 1.33.0 appVersion: 4.61.0 maintainers: diff --git a/charts/traffic-proxy/Chart.yaml b/charts/traffic-proxy/Chart.yaml index 1fc7e68ba..796991356 100644 --- a/charts/traffic-proxy/Chart.yaml +++ b/charts/traffic-proxy/Chart.yaml @@ -4,8 +4,8 @@ description: A Helm chart for Kubernetes to deploy Proxy for traffic jams type: application -version: 1.32.0 -appVersion: 1.21.6 +version: 1.33.0 +appVersion: 1.25.4 maintainers: - name: 2gis diff --git a/charts/traffic-proxy/README.md b/charts/traffic-proxy/README.md index b2f78a3e1..10c2ba153 100644 --- a/charts/traffic-proxy/README.md +++ b/charts/traffic-proxy/README.md @@ -46,21 +46,21 @@ See the [documentation](https://docs.2gis.com/en/on-premise/traffic-proxy) to le ### Proxy server settings -| Name | Description | Value | -| -------------------------- | ------------------------------------------------------------------------------------------------------ | ------- | -| `proxy.host` | URL for the proxy server to serve, ex: https://traffic0.edromaps.2gis.com. **Required** | `""` | -| `proxy.listen` | Port for the proxy server to listen. | `8080` | -| `proxy.cache.enabled` | If caching should be enabled for the proxy server. | `true` | -| `proxy.cache.age` | Cache validity period. | `1m` | -| `proxy.cache.size` | Maximum cache size. | `32m` | -| `proxy.worker.processes` | Number of worker processes. | `2` | -| `proxy.worker.connections` | Number of worker connections. | `1024` | -| `proxy.log.errorLog.level` | Error log level. Allowed values: `debug`, `info`, `notice`, `warn`, `error`, `crit`, `alert`, `emerg`. | `error` | -| `proxy.log.accessLog` | Access log definition. | `off` | -| `proxy.keepaliveTimeout` | Keepalive timeout. | `65` | -| `proxy.log.customFormats` | List of custom log formats to be used in NGINX configuration | `[]` | -| `proxy.locations` | List of additional location blocks to be included in the NGINX configuration | `[]` | -| `proxy.httpServers` | List of additional server blocks to be included in the NGINX configuration | `{}` | +| Name | Description | Value | +| -------------------------- | ------------------------------------------------------------------------------------------------------ | ----------- | +| `proxy.host` | URL for the proxy server to serve, ex: https://traffic0.edromaps.2gis.com. **Required** | `""` | +| `proxy.listen` | Port for the proxy server to listen. | `8080` | +| `proxy.cache.enabled` | If caching should be enabled for the proxy server. | `true` | +| `proxy.cache.age` | Cache validity period. | `1m` | +| `proxy.cache.size` | Maximum cache size. | `32m` | +| `proxy.worker.processes` | Number of worker processes. | `2` | +| `proxy.worker.connections` | Number of worker connections. | `1024` | +| `proxy.log.errorLog.level` | Error log level. Allowed values: `debug`, `info`, `notice`, `warn`, `error`, `crit`, `alert`, `emerg`. | `error` | +| `proxy.log.accessLog` | Access log definition. | `/dev/null` | +| `proxy.keepaliveTimeout` | Keepalive timeout. | `65` | +| `proxy.log.customFormats` | List of custom log formats to be used in NGINX configuration | `[]` | +| `proxy.locations` | List of additional location blocks to be included in the NGINX configuration | `[]` | +| `proxy.httpServers` | List of additional server blocks to be included in the NGINX configuration | `{}` | ### Deployment settings diff --git a/charts/traffic-proxy/values.yaml b/charts/traffic-proxy/values.yaml index 4a3c3da3c..0f187265f 100644 --- a/charts/traffic-proxy/values.yaml +++ b/charts/traffic-proxy/values.yaml @@ -76,7 +76,7 @@ proxy: errorLog: level: error - accessLog: 'off' + accessLog: '/dev/null' # accessLog: '/dev/stdout main' keepaliveTimeout: 65 diff --git a/charts/twins-api/Chart.yaml b/charts/twins-api/Chart.yaml index 1986ea45a..3a6e86ee9 100644 --- a/charts/twins-api/Chart.yaml +++ b/charts/twins-api/Chart.yaml @@ -3,7 +3,7 @@ name: twins-api type: application description: A Helm chart for Kubernetes to deploy API Twins service -version: 1.32.0 +version: 1.33.0 appVersion: 1.13.0 maintainers: diff --git a/image_versions.txt b/image_versions.txt index 8609ada98..64a51b959 100644 --- a/image_versions.txt +++ b/image_versions.txt @@ -2,16 +2,16 @@ catalog-api catalog-api:3.625.0 catalog-importer:1.7.0 citylens - citylens-api:1.15.0 - citylens-database:1.15.0 - citylens-web:1.15.0 - citylens-workers:1.15.0 + citylens-api:1.16.4 + citylens-database:1.16.1 + citylens-web:1.16.4 + citylens-workers:1.16.4 dgtt dgtt:0.2.27-b188673e09 floors-api floors-importer:1.1.0 floors-nodejs:1.1.0 - nginx:1.21.6 + nginx:1.25.4 generic-chart gis-platform gis_platform_portal:2023.8.3-0 @@ -26,9 +26,9 @@ keys keys-redis:6.2.6-alpine3.15 keys-ui:0.8.0 license - license:2.2.3 + license:2.2.4 mapgl-js-api - mapgl:1.53.0 + mapgl:1.55.0 navi-async-grpc-proxy async-grpc-proxy:1.0.0 navi-async-matrix @@ -39,9 +39,9 @@ navi-back navi-back:7.29.2.2 navi-castle navi-castle:1.9.2 - navi-front:1.24.1 + navi-front:1.25.2 navi-front - navi-front:1.24.1 + navi-front:1.25.2 navi-restrictions navi-restrictions-api:1.0.1 navi-restrictions-syncer:1.0.1 @@ -52,17 +52,17 @@ navi-splitter platform platform-ui:0.15.1 pro-api - pro-api:1.50.1 - pro-importer:1.50.1 - pro-importer:1.50.1 - pro-permissions-api:1.50.1 - pro-tasks-api:1.50.1 + pro-api:1.54.0 + pro-importer:1.54.0 + pro-importer:1.54.0 + pro-permissions-api:1.54.0 + pro-tasks-api:1.54.0 pro-ui - pro-importer:1.50.1 + pro-importer:1.54.0 pro-ui:3.5.0 search-api + nginx:1.25.4 search-api:7.85.0 - search-nginx:1.21.6 stat-receiver stat-receiver-api:1.11.1 stat-receiver-streams:1.11.1 @@ -73,6 +73,6 @@ tiles-api tiles-api-proxy:4.61.0 tiles-api:4.61.0 traffic-proxy - nginx:1.21.6 + nginx:1.25.4 twins-api twins-api:1.13.0