From 13e7b501204e8bdda6b63502044926e25d4c46bf Mon Sep 17 00:00:00 2001 From: Igor Sheykin <49325415+Ashigo@users.noreply.github.com> Date: Fri, 3 May 2024 20:16:48 +0500 Subject: [PATCH 01/10] release-1.22.0 (#430) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Twins importer (#360) * Twins importer * Twins importer add dgctlStorage settings * Twins importer fix chart * fix chart * small fix * add logs * [keys-api] up keys-backend. Support truck, map-matching api keys (#386) * Update citylens to 1.4.0 (#388) * Update citylens to 1.4.0 * bump to 1.4.1 * Feature: add codeowners file (#383) * [license] Reworked securityContext for license type 2 (#387) * [PRO-4361] Обновление pro-api до версии 1.1.79 (#382) * [PRO-4361] Обновление pro-api до версии 1.1.74 * PRO-4361: update to 1.1.77 * PRO-4371: update to 1.1.78 * PRO-4361: update to 1.1.79 * PRO-4176: add auth scopes (#365) * PRO-4176: add auth scopes * PRO-4176: update pro-ui version * PRO-4176: update app version * PRO-4176: update to 1.7.5 * navi-castle: bugfix (#393) - scheduled tasks without PV - configuration parameters mistaken * navi-restrictions-api 1.0.1 release (#392) * navi-restrictions-api 1.0.1 release * readme upd * [DEVOPS-982] navi-front: update default locations (#389) * [DEVOPS-982] navi-front: Add pedestrian location (#396) * [platform] Upgrade version (#381) * PRO-3766: update platform to 0.8.1 * Fix Breaking-Changes (#401) * generic-chart added (#398) * PRO-3609: upgrade pro ui to 1.9.0 (#399) * navi-back: upstream update 7.15.2.4 (#402) * [PRO-4517] обновил хелм-чарт pro-api в onprem до версии 1.5.0 (#394) * PRO-0: upgrade PRO API to 1.5.1 (#404) * Feature: add PR template (#410) * PRO-4774: upgraded PRO API to 1.6.0 (#407) * [PRO-4635] pro-ui, версия 2.1.1 (#405) * Citylens 1.6.0 (#406) * Update citylens to 1.5.0 * Bump appversion * Fix citylens-api configmap * Fix license server url template * Fix review notes * Update headerLinks * Add camcom to headerLinks * Fix page name in configmap * Bump to 1.5.1 * Bump to 1.6.0 * Update breaking changes & bump app version in chart * [navi-router] rename router.keyManagementServices to keys (#409) * [navi-router] Remove trailing dots in param descriptions * [navi-router] Rename router.keyManagementService -> keys * [navi-router] Rename router.castleHost -> router.castleUrl * WAPI-23469 Add configuration for audit logging (#414) * WAPI-23469 Add configuration for audit logging * fixes * upd version tag * fix duplication key * [navi-restrictions] update to style guide (#408) * [tiles-api] Upgrade to 4.52.8 (#416) * WAPI-23326 Add new s3 params, custom ca configuration (#390) * WAPI-23326 Add new s3 config params to keys and catalog-api charts * WAPI-23326 Add custom certs configuration to keys, catalog-api charts * fix typos * more fixes * fix configmap deploy * split configmap config for jobs and deploys * upd config for keys * fix to keys chart * upd image tags * upd docs * Chore: fix PR template (#418) * [PRO-4789] поправили values для сервиса ключей * Citylens 1.7.0 (#422) * Citylens 1.7.0 * bump version to 1.7.1 * Make reporterProTracks deploy one or no replicas * Bump version to 1.7.2 * [tiles-api] Upgrade to 4.52.9 (#421) * Чек-лист код-ревью для описания PR (#424) * [PRO-4789] Change PRO UI to 2.5.1 version and PRO API to 1.11.2 version (#419) * [PRO-4789] обновил PRO API до версии 1.11.2 Change UI and API Version * [PRO-4789] поправили values для сервиса ключей * [PRO-4789] добавлена обязательность параметров kafka.eventsTopic.name и kafka.eventsTopic.readerGroupId * [PRO-4789] добавлен хук удаления в asset-importer-starter * WAPI-23416 поддержка tls для коннектов к postgres в catalog (#395) * WAPI-23417 возможность указать кол-во ретраев на коннект к базе в twi… (#397) * WAPI-23417 возможность указать кол-во ретраев на коннект к базе в twins api * WAPI-23417 возможность указать кол-во ретраев на коннект к базе в twins api * PRO-4936: upgrade keys-ui to 0.7.0 (#425) * [DEVOPS-1025] Upgrade castle version (#417) * Update citylens chart to 1.8.0 version (#427) * Update citylens chart to 1.8.0 version * Fix typo in pull request template * Fix kafka.predictorsExtraTopics description * Simplify chart * update values --------- Co-authored-by: Dmitriy Donov Co-authored-by: Voronkov Alexander Co-authored-by: Петр Беклемишев Co-authored-by: Andrey Morozov <62840181+endryhold@users.noreply.github.com> Co-authored-by: Vladimir Popov Co-authored-by: Dmitrii Molochnikov Co-authored-by: Artem Malko Co-authored-by: Alexander Voronkov Co-authored-by: i-bogomazov <106957509+i-bogomazov@users.noreply.github.com> Co-authored-by: vgivanov Co-authored-by: Dmitry Milov Co-authored-by: ostrovskiy2gis <108522609+ostrovskiy2gis@users.noreply.github.com> Co-authored-by: Andrew Mikhailov Co-authored-by: Денис Беляев Co-authored-by: Kirill Salnikov Co-authored-by: Власов Сергей Сергеевич Co-authored-by: Aveldin1 <164148461+Aveldin1@users.noreply.github.com> --- .github/pull_request_template.md | 23 +++++--- Breaking-Changes.md | 8 +++ CHANGELOG.md | 23 ++++++++ charts/catalog-api/Chart.yaml | 2 +- charts/catalog-api/README.md | 54 +++++++++++-------- .../catalog-api/templates/api/deployment.yaml | 38 ++++++++++++- charts/catalog-api/templates/helpers.tpl | 52 ++++++++++++++++++ .../templates/importer/cleaner/job.yaml | 38 ++++++++++++- .../catalog-api/templates/importer/job.yaml | 45 +++++++++++++--- .../catalog-api/templates/secret-deploys.yaml | 25 ++++++++- charts/catalog-api/templates/secret-jobs.yaml | 29 +++++++++- charts/catalog-api/templates/secret-post.yaml | 29 +++++++++- charts/catalog-api/templates/secret-pre.yaml | 29 +++++++++- charts/catalog-api/values.yaml | 28 ++++++++-- charts/citylens/Chart.yaml | 4 +- charts/citylens/README.md | 35 ++++++------ charts/citylens/templates/api/configmap.yaml | 9 +--- charts/citylens/templates/web/configmap.yaml | 2 +- charts/citylens/values.yaml | 17 ++---- 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/keys/README.md | 2 +- charts/keys/values.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 | 4 +- charts/navi-castle/README.md | 2 +- .../templates/configmapbuilder.yaml | 8 +-- charts/navi-castle/values.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 | 5 +- charts/pro-api/README.md | 8 ++- .../templates/asset-import-starter.yaml | 4 +- charts/pro-api/templates/deployment.yaml | 4 ++ charts/pro-api/values.yaml | 16 ++++-- charts/pro-ui/Chart.yaml | 4 +- charts/pro-ui/README.md | 4 +- charts/pro-ui/values.yaml | 4 +- charts/search-api/Chart.yaml | 2 +- charts/stat-receiver/Chart.yaml | 2 +- charts/tiles-api/Chart.yaml | 2 +- charts/traffic-proxy/Chart.yaml | 2 +- charts/twins-api/Chart.yaml | 4 +- charts/twins-api/README.md | 4 +- charts/twins-api/templates/_helpers.tpl | 4 ++ charts/twins-api/values.yaml | 6 ++- image_versions.txt | 26 ++++----- 58 files changed, 485 insertions(+), 160 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d58ce3b68..2322e06e5 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,5 @@ # Pull Request description - ## Changelog - `Some changes` (A description of the changes proposed in the pull request.) @@ -9,13 +8,21 @@ - `Issue-123` (Link to related issue) -## Braking changes +## Breaking changes - If there are breaking changes, they need to be added to the file [Breaking-Changes](../Breaking-Changes.md) -## Steps for check - -- `Step 1` -- `...` -- `Step n-1` -- `Step n` +## Check-list. Чек-лист код-ревью + +- [ ] Запрос на слияние в develop. +- [ ] Есть описание к PR. +- [ ] Указаны блокирующие изменения. [Breaking-Changes](../Breaking-Changes.md) +- [ ] Соответствие кода принятому [стилю](../styleguide.md) + - [ ] Описание настроек. + - [ ] Именование настроек. + - [ ] Дефолтные значения. + - [ ] Стиль кода. +- [ ] Работоспособность. Разворачивается на своем окружении из ветки PR. + - [ ] Тест API через тесты helmfile-хуков или коллекций Postman. +- [ ] Не осталось мусора от удаления каких-то параметров. Ищется поиском по проекту из ветки PR. +- [ ] Отработка линтера на чарт из ветки PR. Пример: `helm lint charts/search-api` diff --git a/Breaking-Changes.md b/Breaking-Changes.md index 2077ca986..c4ef9b9a6 100644 --- a/Breaking-Changes.md +++ b/Breaking-Changes.md @@ -1,7 +1,15 @@ # 2GIS On-Premise Breaking-Changes +## [1.22.0] + +## citylens +- `kafka.predictors` is removed. Topics `kafka.predictors[0].topic` (`camcom` in values example), `kafka.predictors[1].topic` (`manual` in values example) replaced with single topic `kafka.topics.predictions`. + ## [1.21.0] +### pro-api +- Added new required parameters: kafka.eventsTopic.name, kafka.eventsTopic.readerGroupId + ### navi-restrictions - `api.api_key` renamed to `api.key` - `api.is_init_db` renamed to `api.isInitDb` diff --git a/CHANGELOG.md b/CHANGELOG.md index 836a36bbe..7a20fcdc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # 2GIS On-Premise Changelog +## [1.22.0] (2024-05-02) +#### [Breaking-Changes](Breaking-Changes.md#1220) +#### Images +``` +catalog-api + - catalog-importer:1.5.0 + + catalog-importer:1.7.0 +citylens + - citylens-api:1.7.2 + + citylens-api:1.8.0 + - citylens-database:1.7.0 + + citylens-database:1.8.0 + - citylens-web:1.7.2 + + citylens-web:1.8.0 +navi-castle + - navi-castle:1.7.0 + + navi-castle:1.9.2 +twins-api + - twins-api:1.7.3 + + twins-api:1.9.0 + +``` + ## [1.21.0] (2024-04-02) #### [Breaking-Changes](Breaking-Changes.md#1210) #### Images diff --git a/charts/catalog-api/Chart.yaml b/charts/catalog-api/Chart.yaml index 1a4c8ae9f..6d3fc4d55 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.21.0 +version: 1.22.0 appVersion: 3.600.0 maintainers: diff --git a/charts/catalog-api/README.md b/charts/catalog-api/README.md index 41b788861..1a562fa40 100644 --- a/charts/catalog-api/README.md +++ b/charts/catalog-api/README.md @@ -125,18 +125,23 @@ See the [documentation](https://docs.2gis.com/en/on-premise/search) to learn abo ### Database settings -| Name | Description | Value | -| ------------------------------------------------------ | ------------------------------------------------------------------- | ------ | -| `api.postgres.host` | PostgreSQL rw/ro hostname or IP. **Required** | `""` | -| `api.postgres.port` | PostgreSQL port | `5432` | -| `api.postgres.name` | PostgreSQL database name. **Required** | `""` | -| `api.postgres.username` | PostgreSQL username. **Required** | `""` | -| `api.postgres.password` | PostgreSQL password. **Required** | `""` | -| `api.postgres.queryTimeout` | Max execution time PostgreSQL query timeout in seconds | `3` | -| `api.postgres.poolSize.api` | PostgreSQL connection pool size for API | `32` | -| `api.postgres.poolSize.preloaders.region` | PostgreSQL connection pool size for preloader regions | `2` | -| `api.postgres.poolSize.preloaders.rubric` | PostgreSQL connection pool size for preloader rubrics | `3` | -| `api.postgres.poolSize.preloaders.additionalAttribute` | PostgreSQL connection pool size for preloader additional attributes | `3` | +| Name | Description | Value | +| ------------------------------------------------------ | ------------------------------------------------------------------- | ------------- | +| `api.postgres.host` | PostgreSQL rw/ro hostname or IP. **Required** | `""` | +| `api.postgres.port` | PostgreSQL port | `5432` | +| `api.postgres.name` | PostgreSQL database name. **Required** | `""` | +| `api.postgres.username` | PostgreSQL username. **Required** | `""` | +| `api.postgres.password` | PostgreSQL password. **Required** if tls.enabled: false | `""` | +| `api.postgres.queryTimeout` | Max execution time PostgreSQL query timeout in seconds | `3` | +| `api.postgres.poolSize.api` | PostgreSQL connection pool size for API | `32` | +| `api.postgres.poolSize.preloaders.region` | PostgreSQL connection pool size for preloader regions | `2` | +| `api.postgres.poolSize.preloaders.rubric` | PostgreSQL connection pool size for preloader rubrics | `3` | +| `api.postgres.poolSize.preloaders.additionalAttribute` | PostgreSQL connection pool size for preloader additional attributes | `3` | +| `api.postgres.tls.enabled` | If tls connection to postgresql is enabled. | `false` | +| `api.postgres.tls.rootCert` | Root certificate file. | `""` | +| `api.postgres.tls.cert` | Certificate of postgresql server. | `""` | +| `api.postgres.tls.key` | Key of postgresql server. | `""` | +| `api.postgres.tls.mode` | Level of protection. | `verify-full` | ### Preloaders settings @@ -190,20 +195,25 @@ See the [documentation](https://docs.2gis.com/en/on-premise/search) to learn abo | Name | Description | Value | | --------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------- | | `importer.image.repository` | Repository | `2gis-on-premise/catalog-importer` | -| `importer.image.tag` | Tag | `1.5.0` | +| `importer.image.tag` | Tag | `1.7.0` | | `importer.image.pullPolicy` | Image [Pull Policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) | `IfNotPresent` | ### importer.postgres **Database settings** -| Name | Description | Value | -| --------------------------------------- | ------------------------------------------------ | ------------ | -| `importer.postgres.host` | PostgreSQL rw hostname or IP. **Required** | `""` | -| `importer.postgres.port` | PostgreSQL port | `5432` | -| `importer.postgres.name` | PostgreSQL database name. **Required** | `""` | -| `importer.postgres.username` | PostgreSQL username with rw access. **Required** | `""` | -| `importer.postgres.password` | PostgreSQL password. **Required** | `""` | -| `importer.postgres.schemaSwitchEnabled` | Automatic switch PostgreSQL schema on releases | `true` | -| `importer.postgres.schemaExtensions` | Schema for PostgreSQL extensions | `extensions` | +| Name | Description | Value | +| --------------------------------------- | ------------------------------------------------------- | ------------- | +| `importer.postgres.host` | PostgreSQL rw hostname or IP. **Required** | `""` | +| `importer.postgres.port` | PostgreSQL port | `5432` | +| `importer.postgres.name` | PostgreSQL database name. **Required** | `""` | +| `importer.postgres.username` | PostgreSQL username with rw access. **Required** | `""` | +| `importer.postgres.password` | PostgreSQL password. **Required** if tls.enabled: false | `""` | +| `importer.postgres.schemaSwitchEnabled` | Automatic switch PostgreSQL schema on releases | `true` | +| `importer.postgres.schemaExtensions` | Schema for PostgreSQL extensions | `extensions` | +| `importer.postgres.tls.enabled` | If tls connection to postgresql is enabled. | `false` | +| `importer.postgres.tls.rootCert` | Root certificate file. | `""` | +| `importer.postgres.tls.cert` | Certificate of postgresql server. | `""` | +| `importer.postgres.tls.key` | Key of postgresql server. | `""` | +| `importer.postgres.tls.mode` | Level of protection. | `verify-full` | ### importer.persistentVolume **Persistent Volume settings** diff --git a/charts/catalog-api/templates/api/deployment.yaml b/charts/catalog-api/templates/api/deployment.yaml index 913568f3f..2863ee06a 100644 --- a/charts/catalog-api/templates/api/deployment.yaml +++ b/charts/catalog-api/templates/api/deployment.yaml @@ -39,6 +39,25 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} spec: + {{- if .Values.api.postgres.tls.enabled }} + initContainers: + - name: copy-certs + image: '{{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.api.image.repository }}:{{ .Values.api.image.tag | default .Chart.AppVersion }}' + imagePullPolicy: {{ .Values.api.image.pullPolicy }} + resources: + {{- toYaml .Values.api.resources | nindent 12 }} + command: + - /bin/sh + - -ec + - | + cp /tmp/certs/* /etc/2gis/secret/psql/ + chmod 600 /etc/2gis/secret/psql/client.key + volumeMounts: + - name: {{ include "catalog.name-psql-raw" . | quote }} + mountPath: /tmp/certs + - name: {{ include "catalog.name-psql" . | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} containers: - name: {{ .Chart.Name }} image: {{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.api.image.repository }}:{{ .Values.api.image.tag }} @@ -62,13 +81,28 @@ spec: {{- if .Values.customCAs.bundle }} {{- include "catalog.env.custom.ca.path" . | nindent 12 }} {{- end }} - {{- if .Values.customCAs.bundle }} + {{- if or .Values.customCAs.bundle .Values.api.postgres.tls.enabled }} volumeMounts: + {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.volumeMounts" . | nindent 12 }} {{- end }} - {{- if .Values.customCAs.bundle }} + {{- if .Values.api.postgres.tls.enabled }} + - name: {{ printf "%s-psql" (include "catalog.name" .) | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} + {{- end }} + {{- if or .Values.customCAs.bundle .Values.api.postgres.tls.enabled }} volumes: + {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.deploys.volumes" . | nindent 8 }} + {{- end }} + {{- if .Values.api.postgres.tls.enabled }} + - name: {{ include "catalog.name-psql-raw" . | quote }} + secret: + secretName: {{ include "catalog.name-psql" . | quote }} + - name: {{ include "catalog.name-psql" . | quote }} + emptyDir: {} + {{- end }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: diff --git a/charts/catalog-api/templates/helpers.tpl b/charts/catalog-api/templates/helpers.tpl index 7c9d34f28..e13ffc197 100644 --- a/charts/catalog-api/templates/helpers.tpl +++ b/charts/catalog-api/templates/helpers.tpl @@ -14,6 +14,38 @@ {{ include "catalog.name" . }}-jobs {{- end }} +{{- /* +Name for psql intermediate volume for copy secrets and change permissions +*/ -}} + +{{- define "catalog.name-psql-raw" -}} +{{- printf "%s-psql-raw" (include "catalog.name" .) -}} +{{- end }} + +{{- /* +Name for psql secret and volume +*/ -}} + +{{- define "catalog.name-psql" -}} +{{- printf "%s-psql" (include "catalog.name" .) -}} +{{- end }} + +{{- /* +Name for psql intermediate volume for copy secrets and change permissions +*/ -}} + +{{- define "catalog.importer.name-psql-raw" -}} +{{- printf "%s-psql-raw" (include "catalog.importer.name" .) -}} +{{- end }} + +{{- /* +Name for psql secret and volume +*/ -}} + +{{- define "catalog.importer.name-psql" -}} +{{- printf "%s-psql" (include "catalog.importer.name" .) -}} +{{- end }} + {{- define "catalog.selectorLabels" -}} app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} @@ -95,6 +127,16 @@ onprem secretKeyRef: name: {{ include "catalog.secret.deploys.name" . }} key: apiDbPassword +- name: CATALOG_DB_SSL_ENABLED + value: "{{ .Values.api.postgres.tls.enabled }}" +- name: CATALOG_DB_SSL_MODE + value: "{{ .Values.api.postgres.tls.mode }}" +- name: CATALOG_DB_SSL_CLIENTCERT_PATH + value: "/etc/2gis/secret/psql/client.crt" +- name: CATALOG_DB_SSL_CLIENTKEY_PATH + value: "/etc/2gis/secret/psql/client.key" +- name: CATALOG_DB_SSL_SERVERCERT_PATH + value: "/etc/2gis/secret/psql/ca.crt" {{- end }} {{- define "catalog.env.preloaders" -}} @@ -160,6 +202,16 @@ onprem secretKeyRef: name: {{ include "catalog.secret.jobs.name" . }} key: importerDbPassword +{{- if .Values.importer.postgres.tls.enabled }} +- name: IMPORTER_DB_CATALOG_SSL_MODE + value: "{{ .Values.importer.postgres.tls.mode }}" +- name: IMPORTER_DB_CATALOG_SSL_CLIENTCERT_PATH + value: "/etc/2gis/secret/psql/client.crt" +- name: IMPORTER_DB_CATALOG_SSL_CLIENTKEY_PATH + value: "/etc/2gis/secret/psql/client.key" +- name: IMPORTER_DB_CATALOG_SSL_SERVERCERT_PATH + value: "/etc/2gis/secret/psql/ca.crt" +{{- end }} - name: IMPORTER_S3_ENDPOINT value: "{{ .Values.dgctlStorage.host }}" - name: IMPORTER_S3_REGION diff --git a/charts/catalog-api/templates/importer/cleaner/job.yaml b/charts/catalog-api/templates/importer/cleaner/job.yaml index 18873986b..ca553d1d6 100644 --- a/charts/catalog-api/templates/importer/cleaner/job.yaml +++ b/charts/catalog-api/templates/importer/cleaner/job.yaml @@ -17,6 +17,25 @@ spec: {{- include "catalog.importer.labels" . | nindent 8 }} spec: restartPolicy: Never + {{- if .Values.importer.postgres.tls.enabled }} + initContainers: + - name: copy-certs + image: '{{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.importer.image.repository }}:{{ .Values.importer.image.tag | default .Chart.AppVersion }}' + imagePullPolicy: {{ .Values.importer.image.pullPolicy }} + resources: + {{- toYaml .Values.importer.cleaner.resources | nindent 12 }} + command: + - /bin/sh + - -ec + - | + cp /tmp/certs/* /etc/2gis/secret/psql/ + chmod 600 /etc/2gis/secret/psql/client.key + volumeMounts: + - name: {{ include "catalog.importer.name-psql-raw" . | quote }} + mountPath: /tmp/certs + - name: {{ include "catalog.importer.name-psql" . | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} containers: - name: cleaner-job image: {{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.importer.image.repository }}:{{ .Values.importer.image.tag }} @@ -29,13 +48,28 @@ spec: {{- if $.Values.customCAs.bundle }} {{- include "catalog.env.custom.ca.path" . | nindent 12 }} {{- end }} - {{- if .Values.customCAs.bundle }} + {{- if or .Values.customCAs.bundle .Values.importer.postgres.tls.enabled }} volumeMounts: + {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.volumeMounts" . | nindent 12 }} + {{- end }} + {{- if .Values.importer.postgres.tls.enabled }} + - name: {{ printf "%s-psql" (include "catalog.importer.name" .) | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} {{- end }} - {{- if .Values.customCAs.bundle }} + {{- if or .Values.customCAs.bundle .Values.importer.postgres.tls.enabled }} volumes: + {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.jobs.volumes" . | nindent 8 }} + {{- end }} + {{- if .Values.importer.postgres.tls.enabled }} + - name: {{ include "catalog.importer.name-psql-raw" . | quote }} + secret: + secretName: {{ include "catalog.importer.name-psql" . | quote }} + - name: {{ include "catalog.importer.name-psql" . | quote }} + emptyDir: {} + {{- end }} {{- end }} {{- with .Values.importer.nodeSelector }} nodeSelector: diff --git a/charts/catalog-api/templates/importer/job.yaml b/charts/catalog-api/templates/importer/job.yaml index 1e3e13336..de9d9f3e3 100644 --- a/charts/catalog-api/templates/importer/job.yaml +++ b/charts/catalog-api/templates/importer/job.yaml @@ -17,14 +17,34 @@ spec: {{- include "catalog.importer.labels" . | nindent 8 }} spec: restartPolicy: Never - {{- if .Values.importer.initialDelaySeconds }} + {{- if or .Values.importer.initialDelaySeconds .Values.importer.postgres.tls.enabled }} initContainers: + {{- if .Values.importer.initialDelaySeconds }} - name: delay image: {{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.importer.image.repository }}:{{ .Values.importer.image.tag }} command: [ "sh", "-c", "sleep {{ .Values.importer.initialDelaySeconds }}" ] resources: {{- toYaml .Values.importer.resources | nindent 12 }} {{- end }} + {{- if .Values.importer.postgres.tls.enabled }} + - name: copy-certs + image: '{{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.importer.image.repository }}:{{ .Values.importer.image.tag | default .Chart.AppVersion }}' + imagePullPolicy: {{ .Values.importer.image.pullPolicy }} + resources: + {{- toYaml .Values.importer.resources | nindent 12 }} + command: + - /bin/sh + - -ec + - | + cp /tmp/certs/* /etc/2gis/secret/psql/ + chmod 600 /etc/2gis/secret/psql/client.key + volumeMounts: + - name: {{ include "catalog.importer.name-psql-raw" . | quote }} + mountPath: /tmp/certs + - name: {{ include "catalog.importer.name-psql" . | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} + {{- end }} containers: - name: importer image: {{ required "A valid .Values.dgctlDockerRegistry entry required" .Values.dgctlDockerRegistry }}/{{ .Values.importer.image.repository }}:{{ .Values.importer.image.tag }} @@ -37,17 +57,21 @@ spec: {{- if .Values.customCAs.bundle }} {{- include "catalog.env.custom.ca.path" . | nindent 12 }} {{- end }} - {{- if or .Values.importer.persistentVolume.enabled .Values.customCAs.bundle }} + {{- if or .Values.importer.persistentVolume.enabled .Values.customCAs.bundle .Values.importer.postgres.tls.enabled }} volumeMounts: - {{- if .Values.importer.persistentVolume.enabled }} + {{- if .Values.importer.persistentVolume.enabled }} - name: {{ include "catalog.importer.name" . }}-pv mountPath: "/tmp" - {{- end }} - {{- if .Values.customCAs.bundle }} + {{- end }} + {{- if .Values.importer.postgres.tls.enabled }} + - name: {{ printf "%s-psql" (include "catalog.importer.name" .) | quote }} + mountPath: /etc/2gis/secret/psql + {{- end }} + {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.volumeMounts" . | nindent 12 }} + {{- end }} {{- end }} - {{- end }} - {{- if or .Values.importer.persistentVolume.enabled .Values.customCAs.bundle }} + {{- if or .Values.importer.persistentVolume.enabled .Values.customCAs.bundle .Values.importer.postgres.tls.enabled }} volumes: {{- if .Values.importer.persistentVolume.enabled }} - name: {{ include "catalog.importer.name" . }}-pv @@ -57,6 +81,13 @@ spec: {{- if .Values.customCAs.bundle }} {{- include "catalog.custom.ca.jobs.volumes" . | nindent 8 }} {{- end }} + {{- if .Values.importer.postgres.tls.enabled }} + - name: {{ include "catalog.importer.name-psql-raw" . | quote }} + secret: + secretName: {{ include "catalog.importer.name-psql" . | quote }} + - name: {{ include "catalog.importer.name-psql" . | quote }} + emptyDir: {} + {{- end }} {{- end }} {{- with .Values.importer.nodeSelector }} nodeSelector: diff --git a/charts/catalog-api/templates/secret-deploys.yaml b/charts/catalog-api/templates/secret-deploys.yaml index 77b6cb79a..cc6bb1dc1 100644 --- a/charts/catalog-api/templates/secret-deploys.yaml +++ b/charts/catalog-api/templates/secret-deploys.yaml @@ -9,5 +9,26 @@ metadata: {{- end }} type: Opaque data: - apiDbPassword: {{ required "A valid .Values.api.postgres.password entry required" .Values.api.postgres.password | b64enc }} - keysServiceToken: {{ required "A valid .Values.keys.token entry required" .Values.keys.token | b64enc }} + {{- if .Values.api.postgres.tls.enabled }} + apiDbPassword: '' + {{- else }} + apiDbPassword: {{ required "A valid .Values.api.postgres.password entry required" .Values.api.postgres.password | b64enc }} + {{- end }} + keysServiceToken: {{ required "A valid .Values.keys.token entry required" .Values.keys.token | b64enc }} +{{- if .Values.api.postgres.tls.enabled }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "catalog.name-psql" . | quote }} + labels: + {{- include "catalog.labels" . | nindent 4 }} + {{- if .Values.labels }} + {{- toYaml .Values.labels | nindent 4 }} + {{- end }} +type: Opaque +data: + client.crt: {{ required "A valid api.postgres.tls.cert entry required" .Values.api.postgres.tls.cert | b64enc | quote }} + client.key: {{ required "A valid api.postgres.tls.key entry required" .Values.api.postgres.tls.key | b64enc | quote }} + ca.crt: {{ required "A valid api.postgres.tls.rootCert entry required" .Values.api.postgres.tls.rootCert | b64enc | quote }} +{{- end }} diff --git a/charts/catalog-api/templates/secret-jobs.yaml b/charts/catalog-api/templates/secret-jobs.yaml index 2e733dc7d..5119ad403 100644 --- a/charts/catalog-api/templates/secret-jobs.yaml +++ b/charts/catalog-api/templates/secret-jobs.yaml @@ -13,10 +13,35 @@ metadata: "helm.sh/hook-weight": "-20" type: Opaque data: - importerDbPassword: {{ required "A valid .Values.importer.postgres.password entry required" .Values.importer.postgres.password | b64enc }} + {{- if .Values.importer.postgres.tls.enabled }} + importerDbPassword: '' + {{- else }} + importerDbPassword: {{ required "A valid .Values.importer.postgres.password entry required" .Values.importer.postgres.password | b64enc }} + {{- end }} {{- with .Values.dgctlStorage.accessKey }} dgctlStorageAccessKey: {{ . | b64enc }} {{- end }} {{- with .Values.dgctlStorage.secretKey }} - dgctlStorageSecretKey: {{ . | b64enc }} + dgctlStorageSecretKey: {{ . | b64enc }} {{- end }} +{{- if .Values.importer.postgres.tls.enabled }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "catalog.importer.name-psql" . | quote }} + labels: + {{- include "catalog.labels" . | nindent 4 }} + {{- if .Values.labels }} + {{- toYaml .Values.labels | nindent 4 }} + {{- end }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + "helm.sh/hook-weight": "-30" +type: Opaque +data: + client.crt: {{ required "A valid importer.postgres.tls.cert entry required" .Values.importer.postgres.tls.cert | b64enc | quote }} + client.key: {{ required "A valid importer.postgres.tls.key entry required" .Values.importer.postgres.tls.key | b64enc | quote }} + ca.crt: {{ required "A valid importer.postgres.tls.rootCert entry required" .Values.importer.postgres.tls.rootCert | b64enc | quote }} +{{- end }} diff --git a/charts/catalog-api/templates/secret-post.yaml b/charts/catalog-api/templates/secret-post.yaml index 57fb3d1e9..1ab6c525d 100644 --- a/charts/catalog-api/templates/secret-post.yaml +++ b/charts/catalog-api/templates/secret-post.yaml @@ -13,10 +13,35 @@ metadata: "helm.sh/hook-weight": "-20" type: Opaque data: - importerDbPassword: {{ .Values.importer.postgres.password | b64enc }} + {{- if .Values.importer.postgres.tls.enabled }} + importerDbPassword: '' + {{- else }} + importerDbPassword: {{ .Values.importer.postgres.password | b64enc }} + {{- end }} {{- with .Values.dgctlStorage.accessKey }} dgctlStorageAccessKey: {{ . | b64enc }} {{- end }} {{- with .Values.dgctlStorage.secretKey }} - dgctlStorageSecretKey: {{ . | b64enc }} + dgctlStorageSecretKey: {{ . | b64enc }} {{- end }} +{{- if .Values.importer.postgres.tls.enabled }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "catalog.importer.name-psql" . | quote }} + labels: + {{- include "catalog.labels" . | nindent 4 }} + {{- if .Values.labels }} + {{- toYaml .Values.labels | nindent 4 }} + {{- end }} + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + "helm.sh/hook-weight": "-30" +type: Opaque +data: + client.crt: {{ required "A valid importer.postgres.tls.cert entry required" .Values.importer.postgres.tls.cert | b64enc | quote }} + client.key: {{ required "A valid importer.postgres.tls.key entry required" .Values.importer.postgres.tls.key | b64enc | quote }} + ca.crt: {{ required "A valid importer.postgres.tls.rootCert entry required" .Values.importer.postgres.tls.rootCert | b64enc | quote }} +{{- end }} diff --git a/charts/catalog-api/templates/secret-pre.yaml b/charts/catalog-api/templates/secret-pre.yaml index 72ff29454..9826ad8de 100644 --- a/charts/catalog-api/templates/secret-pre.yaml +++ b/charts/catalog-api/templates/secret-pre.yaml @@ -13,10 +13,35 @@ metadata: "helm.sh/hook-weight": "-20" type: Opaque data: - importerDbPassword: {{ .Values.importer.postgres.password | b64enc }} + {{- if .Values.importer.postgres.tls.enabled }} + importerDbPassword: '' + {{- else }} + importerDbPassword: {{ .Values.importer.postgres.password | b64enc }} + {{- end }} {{- with .Values.dgctlStorage.accessKey }} dgctlStorageAccessKey: {{ . | b64enc }} {{- end }} {{- with .Values.dgctlStorage.secretKey }} - dgctlStorageSecretKey: {{ . | b64enc }} + dgctlStorageSecretKey: {{ . | b64enc }} {{- end }} +{{- if .Values.importer.postgres.tls.enabled }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "catalog.importer.name-psql" . | quote }} + labels: + {{- include "catalog.labels" . | nindent 4 }} + {{- if .Values.labels }} + {{- toYaml .Values.labels | nindent 4 }} + {{- end }} + annotations: + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded + "helm.sh/hook-weight": "-30" +type: Opaque +data: + client.crt: {{ required "A valid importer.postgres.tls.cert entry required" .Values.importer.postgres.tls.cert | b64enc | quote }} + client.key: {{ required "A valid importer.postgres.tls.key entry required" .Values.importer.postgres.tls.key | b64enc | quote }} + ca.crt: {{ required "A valid importer.postgres.tls.rootCert entry required" .Values.importer.postgres.tls.rootCert | b64enc | quote }} +{{- end }} diff --git a/charts/catalog-api/values.yaml b/charts/catalog-api/values.yaml index 22a05569b..4abb5e8d0 100644 --- a/charts/catalog-api/values.yaml +++ b/charts/catalog-api/values.yaml @@ -168,12 +168,17 @@ api: # @param api.postgres.port PostgreSQL port # @param api.postgres.name PostgreSQL database name. **Required** # @param api.postgres.username PostgreSQL username. **Required** - # @param api.postgres.password PostgreSQL password. **Required** + # @param api.postgres.password PostgreSQL password. **Required** if tls.enabled: false # @param api.postgres.queryTimeout Max execution time PostgreSQL query timeout in seconds # @param api.postgres.poolSize.api PostgreSQL connection pool size for API # @param api.postgres.poolSize.preloaders.region PostgreSQL connection pool size for preloader regions # @param api.postgres.poolSize.preloaders.rubric PostgreSQL connection pool size for preloader rubrics # @param api.postgres.poolSize.preloaders.additionalAttribute PostgreSQL connection pool size for preloader additional attributes + # @param api.postgres.tls.enabled If tls connection to postgresql is enabled. + # @param api.postgres.tls.rootCert Root certificate file. + # @param api.postgres.tls.cert Certificate of postgresql server. + # @param api.postgres.tls.key Key of postgresql server. + # @param api.postgres.tls.mode Level of protection. postgres: host: '' @@ -188,6 +193,12 @@ api: region: 2 rubric: 3 additionalAttribute: 3 + tls: + enabled: false + rootCert: '' + cert: '' + key: '' + mode: verify-full # @section Preloaders settings @@ -270,7 +281,7 @@ importer: image: repository: 2gis-on-premise/catalog-importer - tag: 1.5.0 + tag: 1.7.0 pullPolicy: IfNotPresent # @section importer.postgres **Database settings** @@ -279,9 +290,14 @@ importer: # @param importer.postgres.port PostgreSQL port # @param importer.postgres.name PostgreSQL database name. **Required** # @param importer.postgres.username PostgreSQL username with rw access. **Required** - # @param importer.postgres.password PostgreSQL password. **Required** + # @param importer.postgres.password PostgreSQL password. **Required** if tls.enabled: false # @param importer.postgres.schemaSwitchEnabled Automatic switch PostgreSQL schema on releases # @param importer.postgres.schemaExtensions Schema for PostgreSQL extensions + # @param importer.postgres.tls.enabled If tls connection to postgresql is enabled. + # @param importer.postgres.tls.rootCert Root certificate file. + # @param importer.postgres.tls.cert Certificate of postgresql server. + # @param importer.postgres.tls.key Key of postgresql server. + # @param importer.postgres.tls.mode Level of protection. postgres: host: '' @@ -291,6 +307,12 @@ importer: password: '' schemaSwitchEnabled: true schemaExtensions: extensions + tls: + enabled: false + rootCert: '' + cert: '' + key: '' + mode: verify-full # @section importer.persistentVolume **Persistent Volume settings** diff --git a/charts/citylens/Chart.yaml b/charts/citylens/Chart.yaml index 4fea763aa..7ea4889c7 100644 --- a/charts/citylens/Chart.yaml +++ b/charts/citylens/Chart.yaml @@ -3,8 +3,8 @@ name: citylens type: application description: A Helm chart for Kubernetes to deploy Citylens service -version: 1.21.0 -appVersion: 1.7.2 +version: 1.22.0 +appVersion: 1.8.0 maintainers: - name: 2gis diff --git a/charts/citylens/README.md b/charts/citylens/README.md index db16fe5c5..5eaded5d3 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.7.2` | +| `api.image.tag` | Tag. | `1.8.0` | | `api.image.pullPolicy` | Pull Policy. | `IfNotPresent` | ### Resources settings @@ -132,7 +132,7 @@ See the [documentation]() to learn about: | Name | Description | Value | | ---------------------- | ------------ | ------------------------------ | | `web.image.repository` | Repository. | `2gis-on-premise/citylens-web` | -| `web.image.tag` | Tag. | `1.7.2` | +| `web.image.tag` | Tag. | `1.8.0` | | `web.image.pullPolicy` | Pull Policy. | `IfNotPresent` | ### Resources settings @@ -336,7 +336,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.7.0` | +| `migrations.image.tag` | Tag. | `1.8.0` | | `migrations.image.pullPolicy` | Pull Policy | `IfNotPresent` | | `migrations.resources.requests.cpu` | A CPU request. | `100m` | | `migrations.resources.requests.memory` | A memory request. | `1Gi` | @@ -346,22 +346,19 @@ See the [documentation]() to learn about: ### Kafka settings -| Name | Description | Value | -| ------------------------------ | ------------------------------------------------------------------------------------- | -------- | -| `kafka.bootstrapServer` | A Kafka broker endpoint. **Required** | `""` | -| `kafka.username` | A Kafka username for connection. **Required** | `""` | -| `kafka.password` | A Kafka password for connection. **Required** | `""` | -| `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** | `""` | -| `kafka.topics.uploader` | Topic for Uploader worker. **Required** | `""` | -| `kafka.topics.logs` | Topic for citylens mobile app logs, uploaded via citylens-api. **Required** | `""` | -| `kafka.topics.framesLifecycle` | Topic for frames lifecycle events. **Required** | `""` | -| `kafka.consumerGroups.prefix` | Kafka topics prefix. **Required** | `""` | -| `kafka.predictors[0].name` | Name of predictor **Required** | `camcom` | -| `kafka.predictors[0].topic` | Topic used by predictor **Required** | `""` | -| `kafka.predictors[1].name` | Name of manual predictor **Required** | `manual` | -| `kafka.predictors[1].topic` | Topic used by manual predictor **Required** | `""` | +| Name | Description | Value | +| ------------------------------ | ------------------------------------------------------------------------------------- | ----- | +| `kafka.bootstrapServer` | A Kafka broker endpoint. **Required** | `""` | +| `kafka.username` | A Kafka username for connection. **Required** | `""` | +| `kafka.password` | A Kafka password for connection. **Required** | `""` | +| `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** | `""` | +| `kafka.topics.uploader` | Topic for Uploader worker. **Required** | `""` | +| `kafka.topics.logs` | Topic for citylens mobile app logs, uploaded via citylens-api. **Required** | `""` | +| `kafka.topics.framesLifecycle` | Topic for frames lifecycle events. **Required** | `""` | +| `kafka.topics.predictions` | Topic for predictions events from detectors. **Required** | `""` | +| `kafka.consumerGroups.prefix` | Kafka topics prefix. **Required** | `""` | ### S3 settings diff --git a/charts/citylens/templates/api/configmap.yaml b/charts/citylens/templates/api/configmap.yaml index a60d8d995..701f854ae 100644 --- a/charts/citylens/templates/api/configmap.yaml +++ b/charts/citylens/templates/api/configmap.yaml @@ -16,14 +16,7 @@ data: frames: {{ required "A valid .Values.kafka.topics.frames entry required" .topics.frames | squote }} tracks: {{ required "A valid .Values.kafka.topics.tracks entry required" .topics.tracks | squote }} logs: {{ required "A valid .Values.kafka.topics.logs entry required" .topics.logs | squote }} - {{- range .predictors }} - {{- if eq .name "camcom" }} - camcom: {{ required "A valid .topic entry required" .topic| squote }} - {{- end }} - {{- if eq .name "manual" }} - manual: {{ required "A valid .topic entry required" .topic| squote }} - {{- end }} - {{- end }} + predictions: {{ required "A valid .Values.kafka.topics.predictions entry required" .topics.predictions | squote }} {{- end }} database: {{- with .Values.postgres }} diff --git a/charts/citylens/templates/web/configmap.yaml b/charts/citylens/templates/web/configmap.yaml index 9453a6516..ded114b04 100644 --- a/charts/citylens/templates/web/configmap.yaml +++ b/charts/citylens/templates/web/configmap.yaml @@ -132,4 +132,4 @@ data: {{- end }} {{- end }} predictors: - {{- toYaml .Values.kafka.predictors | nindent 8 }} + {{- toYaml .Values.kafka.predictorsExtraTopics | nindent 8 }} diff --git a/charts/citylens/values.yaml b/charts/citylens/values.yaml index cdff569f1..83af271c8 100644 --- a/charts/citylens/values.yaml +++ b/charts/citylens/values.yaml @@ -97,7 +97,7 @@ api: image: repository: 2gis-on-premise/citylens-api pullPolicy: IfNotPresent - tag: 1.7.2 + tag: 1.8.0 replicas: 4 @@ -224,7 +224,7 @@ web: image: repository: 2gis-on-premise/citylens-web pullPolicy: IfNotPresent - tag: 1.7.2 + tag: 1.8.0 replicas: 1 @@ -561,7 +561,7 @@ migrations: image: repository: 2gis-on-premise/citylens-database pullPolicy: IfNotPresent - tag: 1.7.0 + tag: 1.8.0 resources: requests: @@ -584,11 +584,8 @@ migrations: # @param kafka.topics.uploader Topic for Uploader worker. **Required** # @param kafka.topics.logs Topic for citylens mobile app logs, uploaded via citylens-api. **Required** # @param kafka.topics.framesLifecycle Topic for frames lifecycle events. **Required** +# @param kafka.topics.predictions Topic for predictions events from detectors. **Required** # @param kafka.consumerGroups.prefix Kafka topics prefix. **Required** -# @param kafka.predictors[0].name Name of predictor **Required** -# @param kafka.predictors[0].topic Topic used by predictor **Required** -# @param kafka.predictors[1].name Name of manual predictor **Required** -# @param kafka.predictors[1].topic Topic used by manual predictor **Required** kafka: @@ -602,13 +599,9 @@ kafka: logs: '' uploader: '' framesLifecycle: '' + predictions: '' consumerGroups: prefix: '' - predictors: - - name: camcom - topic: '' - - name: manual - topic: '' # @section S3 settings # @param s3.verifySsl Verify SSL certificate when connecting to s3.endpoint. diff --git a/charts/dgtt/Chart.yaml b/charts/dgtt/Chart.yaml index 0f43f57c1..34773a1c5 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.21.0 +version: 1.22.0 appVersion: 0.2.27-b188673e09 maintainers: diff --git a/charts/floors-api/Chart.yaml b/charts/floors-api/Chart.yaml index 0ea603904..00d7b6f44 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.21.0 +version: 1.22.0 appVersion: 1.0.4 maintainers: diff --git a/charts/generic-chart/Chart.yaml b/charts/generic-chart/Chart.yaml index 905a59fb1..6f59317d8 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.21.0 +version: 1.22.0 maintainers: - name: 2gis url: https://github.com/2gis diff --git a/charts/gis-platform/Chart.yaml b/charts/gis-platform/Chart.yaml index baf5d6494..2a4c9ba9a 100644 --- a/charts/gis-platform/Chart.yaml +++ b/charts/gis-platform/Chart.yaml @@ -4,7 +4,7 @@ description: GIS Platform type: application -version: 1.21.0 +version: 1.22.0 appVersion: 2023.8.3-0 dependencies: diff --git a/charts/keycloak/Chart.yaml b/charts/keycloak/Chart.yaml index 2b541adf8..17780e616 100644 --- a/charts/keycloak/Chart.yaml +++ b/charts/keycloak/Chart.yaml @@ -5,7 +5,7 @@ description: Keycloak is a high performance Java-based identity and access manag solution. It lets developers add an authentication layer to their applications with minimum effort. -version: 1.21.0 +version: 1.22.0 appVersion: 21.1.1-debian-11-r4 maintainers: diff --git a/charts/keys/Chart.yaml b/charts/keys/Chart.yaml index 7e6986b62..01be5a2fa 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.21.0 +version: 1.22.0 appVersion: 1.79.0 maintainers: diff --git a/charts/keys/README.md b/charts/keys/README.md index 6951531a1..2c2fb7054 100644 --- a/charts/keys/README.md +++ b/charts/keys/README.md @@ -33,7 +33,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/keys) to learn about | `backend.image.repository` | Backend service image repository. | `2gis-on-premise/keys-backend` | | `backend.image.tag` | Backend service image tag. | `1.79.0` | | `admin.image.repository` | Admin service image repository. | `2gis-on-premise/keys-ui` | -| `admin.image.tag` | Admin service image tag. | `0.6.0` | +| `admin.image.tag` | Admin service image tag. | `0.7.0` | | `redis.image.repository` | Redis image repository. | `2gis-on-premise/keys-redis` | | `redis.image.tag` | Redis image tag. | `6.2.6-alpine3.15` | diff --git a/charts/keys/values.yaml b/charts/keys/values.yaml index 6c0f86f7e..635075296 100644 --- a/charts/keys/values.yaml +++ b/charts/keys/values.yaml @@ -36,7 +36,7 @@ backend: admin: image: repository: 2gis-on-premise/keys-ui - tag: 0.6.0 + tag: 0.7.0 # @param admin.replicas A replica count for the pod. diff --git a/charts/license/Chart.yaml b/charts/license/Chart.yaml index ca31530d0..59ce0b824 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.21.0 +version: 1.22.0 appVersion: 2.2.1 maintainers: diff --git a/charts/mapgl-js-api/Chart.yaml b/charts/mapgl-js-api/Chart.yaml index 668666f20..2e3d3647d 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.21.0 +version: 1.22.0 appVersion: 1.45.1 maintainers: diff --git a/charts/navi-async-grpc-proxy/Chart.yaml b/charts/navi-async-grpc-proxy/Chart.yaml index 465fa8cd2..8fb3ba821 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.21.0 +version: 1.22.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 6ef592937..e602743dd 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.21.0 +version: 1.22.0 appVersion: 1.6.2 maintainers: diff --git a/charts/navi-back/Chart.yaml b/charts/navi-back/Chart.yaml index 2c72915ed..47f518528 100644 --- a/charts/navi-back/Chart.yaml +++ b/charts/navi-back/Chart.yaml @@ -6,7 +6,7 @@ keywords: - navi - back - backend -version: 1.21.0 +version: 1.22.0 appVersion: 7.15.2.4 maintainers: - name: 2gis diff --git a/charts/navi-castle/Chart.yaml b/charts/navi-castle/Chart.yaml index c2d1516da..e576d43d7 100644 --- a/charts/navi-castle/Chart.yaml +++ b/charts/navi-castle/Chart.yaml @@ -4,8 +4,8 @@ description: Castle Helm chart for Kubernetes type: application -version: 1.21.0 -appVersion: 1.7.0 +version: 1.22.0 +appVersion: 1.9.2 maintainers: - name: 2gis diff --git a/charts/navi-castle/README.md b/charts/navi-castle/README.md index 45de5efd8..2d56319a7 100644 --- a/charts/navi-castle/README.md +++ b/charts/navi-castle/README.md @@ -32,7 +32,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn | ------------------------- | ------------------------------------- | ----------------------------- | | `castle.image.repository` | Navi-Castle service image repository. | `2gis-on-premise/navi-castle` | | `castle.image.pullPolicy` | Navi-Castle service pull policy. | `IfNotPresent` | -| `castle.image.tag` | Navi-Castle service image tag. | `1.7.0` | +| `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` | diff --git a/charts/navi-castle/templates/configmapbuilder.yaml b/charts/navi-castle/templates/configmapbuilder.yaml index 4558d8f3b..6d2e3f061 100644 --- a/charts/navi-castle/templates/configmapbuilder.yaml +++ b/charts/navi-castle/templates/configmapbuilder.yaml @@ -45,10 +45,10 @@ data: manifest: { pattern: '{{ default "/manifests/" .Values.dgctlStorage.manifest }}', - service: ['navi','navi-restrictions'], - mapping: { - 'navi': 'import_package', - 'navi-restrictions': 'import_restriction' + service: ['navi'], + type_mapping: { + '': 'import_package', + 'restrictions': 'import_restriction' } } # -------------------------------------------- diff --git a/charts/navi-castle/values.yaml b/charts/navi-castle/values.yaml index bcdc025c3..4471ee9cb 100644 --- a/charts/navi-castle/values.yaml +++ b/charts/navi-castle/values.yaml @@ -131,7 +131,7 @@ castle: image: repository: 2gis-on-premise/navi-castle pullPolicy: IfNotPresent - tag: 1.7.0 + tag: 1.9.2 castleDataPath: /opt/castle/data/ restrictions: host: http://restrictions-api.host diff --git a/charts/navi-front/Chart.yaml b/charts/navi-front/Chart.yaml index 183ecbdca..1f60dc81b 100644 --- a/charts/navi-front/Chart.yaml +++ b/charts/navi-front/Chart.yaml @@ -5,7 +5,7 @@ type: application keywords: - navi - front -version: 1.21.0 +version: 1.22.0 appVersion: 1.24.1 maintainers: - name: 2gis diff --git a/charts/navi-restrictions/Chart.yaml b/charts/navi-restrictions/Chart.yaml index a21456d4e..8472102be 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.21.0 -appVersion: 1.0.1 +version: 1.22.0 +appVersion: 1.24.1 maintainers: - name: 2gis diff --git a/charts/navi-router/Chart.yaml b/charts/navi-router/Chart.yaml index 3793fe938..6d84af764 100644 --- a/charts/navi-router/Chart.yaml +++ b/charts/navi-router/Chart.yaml @@ -5,7 +5,7 @@ type: application keywords: - navi - router -version: 1.21.0 +version: 1.22.0 appVersion: 6.17.0.8 maintainers: - name: 2gis diff --git a/charts/navi-splitter/Chart.yaml b/charts/navi-splitter/Chart.yaml index 1c48e63cc..32939550e 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.21.0 +version: 1.22.0 appVersion: 1.0.1 diff --git a/charts/platform/Chart.yaml b/charts/platform/Chart.yaml index e8774e625..e240d590c 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.21.0 +version: 1.22.0 appVersion: 0.8.1 maintainers: diff --git a/charts/pro-api/Chart.yaml b/charts/pro-api/Chart.yaml index 75b438551..54ff10f63 100644 --- a/charts/pro-api/Chart.yaml +++ b/charts/pro-api/Chart.yaml @@ -4,9 +4,8 @@ description: Geo API for getting geo data type: application - -version: 1.21.0 -appVersion: 1.6.0 +version: 1.22.0 +appVersion: 1.11.2 maintainers: - name: 2gis diff --git a/charts/pro-api/README.md b/charts/pro-api/README.md index e1115a579..158df0002 100644 --- a/charts/pro-api/README.md +++ b/charts/pro-api/README.md @@ -74,7 +74,7 @@ | Name | Description | Value | | ------------------ | ----------- | ------------------------- | | `image.repository` | Repository | `2gis-on-premise/pro-api` | -| `image.tag` | Tag | `1.6.0` | +| `image.tag` | Tag | `1.11.2` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | ### 2GIS PRO Storage configuration @@ -159,6 +159,9 @@ | `kafka.importTasksTopic` | Kafka topic settings to run import tasks. | | | `kafka.importTasksTopic.name` | Kafka topic name. | `""` | | `kafka.importTasksTopic.readerGroupId` | Kafka consumer group for reading importing tasks. | `""` | +| `kafka.eventsTopic` | Kafka topic settings to manage events. | | +| `kafka.eventsTopic.name` | Kafka events topic name. **Required** | `""` | +| `kafka.eventsTopic.readerGroupId` | Kafka consumer group for reading events. **Required** | `""` | | `kafka.assetDataTopic` | Kafka topic settings to manage asset data updates. | | | `kafka.assetDataTopic.name` | Kafka topic name. | `""` | | `kafka.refreshAssetsIntervalMinutes` | Refresh interval for reading streaming assets settings in minutes. | `60` | @@ -208,7 +211,7 @@ | Name | Description | Value | | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | | `assetImporter.repository` | Docker Repository Image. | `2gis-on-premise/pro-importer` | -| `assetImporter.tag` | Docker image tag. | `1.6.0` | +| `assetImporter.tag` | Docker image tag. | `1.11.2` | | `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` | @@ -216,6 +219,7 @@ | `assetImporter.maxParallelJobs` | How many import jobs can be run simultaneously | `1` | | `assetImporter.enabled` | If assetImporter is enabled for the service. | `true` | | `assetImporter.startOnDeploy` | Indicates that asset import should start when service installed or updated | `true` | +| `assetImporter.startOnDeployMode` | Import mode: 'ScheduleManifest' - copy data from manifest and schedule import, 'ManifestData' - just copy data from manifest. | `ScheduleManifest` | | `assetImporter.imageProxyUrl` | URL to proxy image links (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) | `""` | | `assetImporter.externalLinksProxyUrl` | URL to proxy http links from assets data (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) | `""` | | `assetImporter.externalLinksAllowedHosts` | Comma separated hosts, i.e. 'someserver.com,someserver2.com' ) | `""` | diff --git a/charts/pro-api/templates/asset-import-starter.yaml b/charts/pro-api/templates/asset-import-starter.yaml index e74bcc6d0..ef2e84f1b 100644 --- a/charts/pro-api/templates/asset-import-starter.yaml +++ b/charts/pro-api/templates/asset-import-starter.yaml @@ -5,7 +5,7 @@ metadata: name: {{ include "pro-api.asset-importer-name" . }}-starter annotations: "helm.sh/hook": post-install,post-upgrade - "helm.sh/hook-delete-policy": hook-succeeded + "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded spec: backoffLimit: {{ .Values.assetImporter.backoffLimit }} template: @@ -36,7 +36,7 @@ spec: - name: ENV value: "{{ .Values.api.env }}" - name: MODE - value: "ScheduleManifest" + value: "{{ .Values.assetImporter.startOnDeployMode }}" - name: MAX_PARALLEL_JOBS value: "{{ .Values.assetImporter.maxParallelJobs }}" - name: manifest_filename diff --git a/charts/pro-api/templates/deployment.yaml b/charts/pro-api/templates/deployment.yaml index 979a098f3..35e6f593f 100644 --- a/charts/pro-api/templates/deployment.yaml +++ b/charts/pro-api/templates/deployment.yaml @@ -221,6 +221,10 @@ spec: value: {{ $.Values.kafka.importTasksTopic.readerGroupId }} - name: Kafka__AssetDataTopicSettings__Name value: {{ $.Values.kafka.assetDataTopic.name }} + - name: Kafka__EventsTopicSettings__Name + value: {{ required "A valid .Values.kafka.eventsTopic.name entry required" $.Values.kafka.eventsTopic.name }} + - name: Kafka__EventsTopicSettings__ReaderGroupId + value: {{ required "A valid .Values.kafka.eventsTopic.readerGroupId entry required" $.Values.kafka.eventsTopic.readerGroupId }} - name: Auth__Type value: "{{ .Values.auth.type }}" - name: Auth__Url diff --git a/charts/pro-api/values.yaml b/charts/pro-api/values.yaml index 631d62e54..8af96f255 100644 --- a/charts/pro-api/values.yaml +++ b/charts/pro-api/values.yaml @@ -119,14 +119,14 @@ vpa: image: repository: 2gis-on-premise/pro-api - tag: 1.6.0 + tag: 1.11.2 pullPolicy: IfNotPresent # @skip permissionsApiImage permissionsApiImage: repository: 2gis-on-premise/pro-permissions-api - tag: 1.6.0 + tag: 1.11.2 pullPolicy: IfNotPresent # @section 2GIS PRO Storage configuration @@ -270,6 +270,9 @@ redis: # @extra kafka.importTasksTopic Kafka topic settings to run import tasks. # @param kafka.importTasksTopic.name Kafka topic name. # @param kafka.importTasksTopic.readerGroupId Kafka consumer group for reading importing tasks. +# @extra kafka.eventsTopic Kafka topic settings to manage events. +# @param kafka.eventsTopic.name Kafka events topic name. **Required** +# @param kafka.eventsTopic.readerGroupId Kafka consumer group for reading events. **Required** # @extra kafka.assetDataTopic Kafka topic settings to manage asset data updates. # @param kafka.assetDataTopic.name Kafka topic name. # @skip kafka.permissionsTopic @@ -288,6 +291,9 @@ kafka: readerGroupId: '' assetDataTopic: name: '' + eventsTopic: + name: '' + readerGroupId: '' permissionsTopic: name: '' readerGroupId: '' @@ -388,6 +394,7 @@ permissionsApi: # @param assetImporter.maxParallelJobs How many import jobs can be run simultaneously # @param assetImporter.enabled If assetImporter is enabled for the service. # @param assetImporter.startOnDeploy Indicates that asset import should start when service installed or updated +# @param assetImporter.startOnDeployMode Import mode: 'ScheduleManifest' - copy data from manifest and schedule import, 'ManifestData' - just copy data from manifest. # @param assetImporter.imageProxyUrl URL to proxy image links (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) # @param assetImporter.externalLinksProxyUrl URL to proxy http links from assets data (including query parameters, if any, i.e. 'https://someserver.com/proxy?url=' ) # @param assetImporter.externalLinksAllowedHosts Comma separated hosts, i.e. 'someserver.com,someserver2.com' ) @@ -397,7 +404,7 @@ permissionsApi: assetImporter: repository: 2gis-on-premise/pro-importer - tag: 1.6.0 + tag: 1.11.2 schedule: 0 18 * * * backoffLimit: 2 successfulJobsHistoryLimit: 3 @@ -413,6 +420,7 @@ assetImporter: enabled: true suspended: false startOnDeploy: true + startOnDeployMode: ScheduleManifest files: '' imageProxyUrl: '' externalLinksProxyUrl: '' @@ -427,7 +435,7 @@ userAssetImporter: assetPreparer: repository: 2gis-on-premise/pro-importer - tag: 1.6.0 + tag: 1.11.2 schedule: 0 16 * * 6 backoffLimit: 2 successfulJobsHistoryLimit: 1 diff --git a/charts/pro-ui/Chart.yaml b/charts/pro-ui/Chart.yaml index b9d8d8d43..f13d84b7f 100644 --- a/charts/pro-ui/Chart.yaml +++ b/charts/pro-ui/Chart.yaml @@ -3,8 +3,8 @@ name: pro-ui type: application description: A Helm chart for Kubernetes to deploy 2GIS Pro UI service -version: 1.21.0 -appVersion: 2.1.1 +version: 1.22.0 +appVersion: 2.5.1 maintainers: - name: 2gis diff --git a/charts/pro-ui/README.md b/charts/pro-ui/README.md index 194fb28d4..4108bb080 100644 --- a/charts/pro-ui/README.md +++ b/charts/pro-ui/README.md @@ -40,7 +40,7 @@ Use this Helm chart to deploy 2GIS Pro UI service, which is a part of 2GIS's [On | Name | Description | Value | | --------------------- | ----------- | ------------------------ | | `ui.image.repository` | Repository | `2gis-on-premise/pro-ui` | -| `ui.image.tag` | Tag | `2.1.1` | +| `ui.image.tag` | Tag | `2.5.1` | ### UI service settings @@ -171,7 +171,7 @@ Use this Helm chart to deploy 2GIS Pro UI service, which is a part of 2GIS's [On | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | | `stylesImporter.serviceAccount` | Kubernetes service account | `runner` | | `stylesImporter.image.repository` | Docker Repository Image. | `2gis-on-premise/pro-importer` | -| `stylesImporter.image.tag` | Docker image tag. | `1.6.0` | +| `stylesImporter.image.tag` | Docker image tag. | `1.11.2` | | `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 6aebb8e83..883524037 100644 --- a/charts/pro-ui/values.yaml +++ b/charts/pro-ui/values.yaml @@ -50,7 +50,7 @@ ui: # @param ui.image.tag Tag image: repository: 2gis-on-premise/pro-ui - tag: 2.1.1 + tag: 2.5.1 # @section UI service settings @@ -281,7 +281,7 @@ stylesImporter: serviceAccount: runner image: repository: 2gis-on-premise/pro-importer - tag: 1.6.0 + tag: 1.11.2 backoffLimit: 2 successfulJobsHistoryLimit: 3 nodeSelector: {} diff --git a/charts/search-api/Chart.yaml b/charts/search-api/Chart.yaml index 858e4edd2..10c84d5e2 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.21.0 +version: 1.22.0 appVersion: 7.74.0 maintainers: diff --git a/charts/stat-receiver/Chart.yaml b/charts/stat-receiver/Chart.yaml index 70e912885..2b3533e53 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.21.0 +version: 1.22.0 appVersion: 1.11.1 maintainers: diff --git a/charts/tiles-api/Chart.yaml b/charts/tiles-api/Chart.yaml index b9fb54063..fc3b186e1 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.21.0 +version: 1.22.0 appVersion: 4.52.9 maintainers: diff --git a/charts/traffic-proxy/Chart.yaml b/charts/traffic-proxy/Chart.yaml index c7c5bc5bf..380dd879e 100644 --- a/charts/traffic-proxy/Chart.yaml +++ b/charts/traffic-proxy/Chart.yaml @@ -4,7 +4,7 @@ description: A Helm chart for Kubernetes to deploy Proxy for traffic jams type: application -version: 1.21.0 +version: 1.22.0 appVersion: 1.21.6 maintainers: diff --git a/charts/twins-api/Chart.yaml b/charts/twins-api/Chart.yaml index 82cee6dba..5770afeee 100644 --- a/charts/twins-api/Chart.yaml +++ b/charts/twins-api/Chart.yaml @@ -3,8 +3,8 @@ name: twins-api type: application description: A Helm chart for Kubernetes to deploy API Twins service -version: 1.21.0 -appVersion: 1.7.3 +version: 1.22.0 +appVersion: 1.9.0 maintainers: - name: 2gis diff --git a/charts/twins-api/README.md b/charts/twins-api/README.md index e1f307b4b..d232494c6 100644 --- a/charts/twins-api/README.md +++ b/charts/twins-api/README.md @@ -20,7 +20,7 @@ Use this Helm chart to deploy API Twins service, which is a part of 2GIS's [On-P | ------------------ | --------------------------------------------------------------------------------------------- | --------------------------- | | `imagePullSecrets` | Kubernetes image pull secrets. | `[]` | | `image.repository` | Twins API service image repository. | `2gis-on-premise/twins-api` | -| `image.tag` | Twins API service image tag. | `1.7.3` | +| `image.tag` | Twins API service image tag. | `1.9.0` | | `image.pullPolicy` | Image [pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) | `IfNotPresent` | ### Deployment Artifacts Storage settings @@ -103,6 +103,7 @@ Use this Helm chart to deploy API Twins service, which is a part of 2GIS's [On-P | `postgres.ro.host` | PostgreSQL hostname or IP. **Required** | `""` | | `postgres.ro.port` | PostgreSQL port. | `5432` | | `postgres.ro.timeout` | PostgreSQL client connection timeout. | `3s` | +| `postgres.ro.retry` | PostgreSQL client connection retry. | `10` | | `postgres.ro.name` | PostgreSQL database name. **Required** | `""` | | `postgres.ro.schema` | PostgreSQL database schema. If not specified, schema from SEARCH_PATH will be used. | `""` | | `postgres.ro.username` | PostgreSQL username. **Required** | `""` | @@ -111,6 +112,7 @@ Use this Helm chart to deploy API Twins service, which is a part of 2GIS's [On-P | `postgres.rw.host` | PostgreSQL hostname or IP. **Required** | `""` | | `postgres.rw.port` | PostgreSQL port. | `5432` | | `postgres.rw.timeout` | PostgreSQL client connection timeout. | `3s` | +| `postgres.rw.retry` | PostgreSQL client connection retry. | `10` | | `postgres.rw.name` | PostgreSQL database name. **Required** | `""` | | `postgres.rw.schema` | PostgreSQL database schema. If not specified, schema from SEARCH_PATH will be used. | `""` | | `postgres.rw.username` | PostgreSQL username. **Required** | `""` | diff --git a/charts/twins-api/templates/_helpers.tpl b/charts/twins-api/templates/_helpers.tpl index 6031be71e..d6c3edb19 100644 --- a/charts/twins-api/templates/_helpers.tpl +++ b/charts/twins-api/templates/_helpers.tpl @@ -79,6 +79,8 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} - name: TWINS_DB_RO_CONNECTION_TIMEOUT value: "{{ .Values.postgres.ro.timeout }}" +- name: TWINS_DB_RO_CONNECTION_RETRY + value: "{{ .Values.postgres.ro.retry }}" - name: TWINS_DB_RO_USERNAME value: "{{ required "A valid .Values.postgres.ro.username required" .Values.postgres.ro.username }}" - name: TWINS_DB_RW_HOST @@ -94,6 +96,8 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} - name: TWINS_DB_RW_CONNECTION_TIMEOUT value: "{{ .Values.postgres.rw.timeout }}" +- name: TWINS_DB_RW_CONNECTION_RETRY + value: "{{ .Values.postgres.rw.retry }}" - name: TWINS_DB_RW_NAME value: "{{ required "A valid .Values.postgres.rw.name required" .Values.postgres.rw.name }}" - name: TWINS_DB_RW_USERNAME diff --git a/charts/twins-api/values.yaml b/charts/twins-api/values.yaml index 20d753f32..e62d4aa61 100644 --- a/charts/twins-api/values.yaml +++ b/charts/twins-api/values.yaml @@ -31,7 +31,7 @@ dgctlStorage: image: repository: 2gis-on-premise/twins-api - tag: 1.7.3 + tag: 1.9.0 pullPolicy: IfNotPresent # @section API service settings @@ -181,6 +181,7 @@ postgres: # @param postgres.ro.host PostgreSQL hostname or IP. **Required** # @param postgres.ro.port PostgreSQL port. # @param postgres.ro.timeout PostgreSQL client connection timeout. + # @param postgres.ro.retry PostgreSQL client connection retry. # @param postgres.ro.name PostgreSQL database name. **Required** # @param postgres.ro.schema PostgreSQL database schema. If not specified, schema from SEARCH_PATH will be used. # @param postgres.ro.username PostgreSQL username. **Required** @@ -190,6 +191,7 @@ postgres: host: '' port: 5432 timeout: 3s + retry: 10 name: '' schema: '' username: '' @@ -200,6 +202,7 @@ postgres: # @param postgres.rw.host PostgreSQL hostname or IP. **Required** # @param postgres.rw.port PostgreSQL port. # @param postgres.rw.timeout PostgreSQL client connection timeout. + # @param postgres.rw.retry PostgreSQL client connection retry. # @param postgres.rw.name PostgreSQL database name. **Required** # @param postgres.rw.schema PostgreSQL database schema. If not specified, schema from SEARCH_PATH will be used. # @param postgres.rw.username PostgreSQL username. **Required** @@ -209,6 +212,7 @@ postgres: host: '' port: 5432 timeout: 3s + retry: 10 name: '' schema: '' username: '' diff --git a/image_versions.txt b/image_versions.txt index f7c87c5e2..8cafaed46 100644 --- a/image_versions.txt +++ b/image_versions.txt @@ -1,10 +1,10 @@ catalog-api catalog-api:3.600.0 - catalog-importer:1.5.0 + catalog-importer:1.7.0 citylens - citylens-api:1.7.2 - citylens-database:1.7.0 - citylens-web:1.7.2 + citylens-api:1.8.0 + citylens-database:1.8.0 + citylens-web:1.8.0 dgtt dgtt:0.2.27-b188673e09 floors-api @@ -23,7 +23,7 @@ keycloak keys keys-backend:1.79.0 keys-redis:6.2.6-alpine3.15 - keys-ui:0.6.0 + keys-ui:0.7.0 license license:2.2.1 mapgl-js-api @@ -38,7 +38,7 @@ navi-back metrics-aggregator: navi-back:7.15.2.4 navi-castle - navi-castle:1.7.0 + navi-castle:1.9.2 navi-front:1.24.1 navi-front navi-front:1.24.1 @@ -52,13 +52,13 @@ navi-splitter platform platform-ui:0.8.1 pro-api - pro-api:1.6.0 - pro-importer:1.6.0 - pro-importer:1.6.0 - pro-permissions-api:1.6.0 + pro-api:1.11.2 + pro-importer:1.11.2 + pro-importer:1.11.2 + pro-permissions-api:1.11.2 pro-ui - pro-importer:1.6.0 - pro-ui:2.1.1 + pro-importer:1.11.2 + pro-ui:2.5.1 search-api search-api:7.74.0 search-nginx:1.21.6 @@ -72,4 +72,4 @@ tiles-api traffic-proxy nginx:1.21.6 twins-api - twins-api:1.7.3 + twins-api:1.9.0 From 4e6f97c95da06ca259423c9f3d8d4e1a90893246 Mon Sep 17 00:00:00 2001 From: Igor Sheykin <49325415+Ashigo@users.noreply.github.com> Date: Mon, 6 May 2024 14:09:57 +0500 Subject: [PATCH 02/10] fix Breaking-Changes.md and CHANGELOG.md (#431) --- Breaking-Changes.md | 4 ++-- CHANGELOG.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Breaking-Changes.md b/Breaking-Changes.md index c4ef9b9a6..cbf544229 100644 --- a/Breaking-Changes.md +++ b/Breaking-Changes.md @@ -5,11 +5,11 @@ ## citylens - `kafka.predictors` is removed. Topics `kafka.predictors[0].topic` (`camcom` in values example), `kafka.predictors[1].topic` (`manual` in values example) replaced with single topic `kafka.topics.predictions`. -## [1.21.0] - ### pro-api - Added new required parameters: kafka.eventsTopic.name, kafka.eventsTopic.readerGroupId +## [1.21.0] + ### navi-restrictions - `api.api_key` renamed to `api.key` - `api.is_init_db` renamed to `api.isInitDb` diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a20fcdc0..197439b43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,9 +14,24 @@ citylens + citylens-database:1.8.0 - citylens-web:1.7.2 + citylens-web:1.8.0 +keys + - keys-ui:0.6.0 + + keys-ui:0.7.0 navi-castle - navi-castle:1.7.0 + navi-castle:1.9.2 +pro-api + - pro-api:1.6.0 + + pro-api:1.11.2 + - pro-importer:1.6.0 + + pro-importer:1.11.2 + - pro-permissions-api:1.6.0 + + pro-permissions-api:1.11.2 +pro-ui + - pro-importer:1.6.0 + + pro-importer:1.11.2 + - pro-ui:2.1.1 + + pro-ui:2.5.1 twins-api - twins-api:1.7.3 + twins-api:1.9.0 From 1724b7451dc3f80b4718112f5707c4d84a610bfb Mon Sep 17 00:00:00 2001 From: Igor Sheykin <49325415+Ashigo@users.noreply.github.com> Date: Mon, 6 May 2024 16:36:19 +0500 Subject: [PATCH 03/10] fix pro-api/values.yaml doc (#432) --- charts/pro-api/values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/pro-api/values.yaml b/charts/pro-api/values.yaml index 64faf1bb6..e306ff685 100644 --- a/charts/pro-api/values.yaml +++ b/charts/pro-api/values.yaml @@ -163,8 +163,8 @@ s3: # @skip api.filterByZoneCodes # @skip api.esDataCentersCount # @skip Local cache settings -# @skip localCache.enabled -# @skip localCache.trackStatistics +# @skip api.localCache.enabled +# @skip api.localCache.trackStatistics api: serviceAccount: runner @@ -373,8 +373,8 @@ permissionsPodSettings: # @skip permissionsApi.host # @param permissionsApi.enabled If permissionsApi is enabled for the service. # @skip Local cache settings -# @skip localCache.enabled -# @skip localCache.trackStatistics +# @skip permissionsApi.localCache.enabled +# @skip permissionsApi.localCache.trackStatistics permissionsApi: host: '' From b07667447ddc98a692482197a64cc7136e68369c Mon Sep 17 00:00:00 2001 From: FreakyGranny Date: Mon, 6 May 2024 21:40:46 +0700 Subject: [PATCH 04/10] [tiles-api] Upgrade to 4.54.0 (#428) --- charts/tiles-api/Chart.yaml | 2 +- charts/tiles-api/README.md | 8 +++++--- charts/tiles-api/configs/importer/importer.yaml | 2 ++ charts/tiles-api/values.yaml | 12 +++++++++--- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/charts/tiles-api/Chart.yaml b/charts/tiles-api/Chart.yaml index fc3b186e1..02343bf89 100644 --- a/charts/tiles-api/Chart.yaml +++ b/charts/tiles-api/Chart.yaml @@ -5,7 +5,7 @@ description: Tiles API for getting cartographic data type: application version: 1.22.0 -appVersion: 4.52.9 +appVersion: 4.54.0 maintainers: - name: 2gis diff --git a/charts/tiles-api/README.md b/charts/tiles-api/README.md index 9683677ab..cce8c0aca 100644 --- a/charts/tiles-api/README.md +++ b/charts/tiles-api/README.md @@ -89,7 +89,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: | `proxy.resources.limits.memory` | A memory limit. | `512Mi` | | `proxy.image` | **Docker image settings** | | | `proxy.image.repository` | Docker Repository. | `2gis-on-premise/tiles-api-proxy` | -| `proxy.image.tag` | Docker image tag. | `4.52.9` | +| `proxy.image.tag` | Docker image tag. | `4.54.0` | | `proxy.image.pullPolicy` | Kubernetes pull policy for the service's Docker image. | `IfNotPresent` | | `proxy.access` | **API Keys service access settings** | | | `proxy.access.enabled` | If access to the [API Keys service](https://docs.2gis.com/en/on-premise/keys) is enabled. | `false` | @@ -125,7 +125,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: | `api.resources.limits.memory` | A memory limit. | `512Mi` | | `api.image` | **Docker image settings** | | | `api.image.repository` | Docker Repository. | `2gis-on-premise/tiles-api` | -| `api.image.tag` | Docker image tag. | `4.52.9` | +| `api.image.tag` | Docker image tag. | `4.54.0` | | `api.image.pullPolicy` | Kubernetes pull policy for the service's Docker image. | `IfNotPresent` | | `api.imagePullSecrets` | Kubernetes image pull secrets. | `[]` | | `api.strategy.rollingUpdate` | **Service's Rolling Update strategy settings** | | @@ -200,13 +200,15 @@ See the [documentation](https://docs.2gis.com/en/on-premise/map) to learn about: | `importer.resources.limits.memory` | A memory limit. | `256Mi` | | `importer.image` | **Docker image settings** | | | `importer.image.repository` | Docker Repository. | `2gis-on-premise/tiles-api-importer` | -| `importer.image.tag` | Docker image tag. | `4.52.9` | +| `importer.image.tag` | Docker image tag. | `4.54.0` | | `importer.image.pullPolicy` | Kubernetes pull policy for the service's Docker image. | `IfNotPresent` | | `importer.imagePullSecrets` | Kubernetes image pull secrets. | `[]` | | `importer.cleaner` | **Cassandra keyspace lifecycle management and Cleaner settings** | | | `importer.forceImport` | If enabled, then the Importer job will delete existing keyspace and do import, otherwise import will be skipped. | `false` | | `importer.clearSnapshots` | If enabled, then the Importer job will delete keyspace's snapshot as well when deleting a keyspace.
It executes the `nodetool clearsnapshot` command over JMX to do so, and therefore requires JMS to be enabled on the Cassandra side, and `cassandra.credentials.jmxUser`/`cassandra.credentials.jmxPassword` values to be set. | `false` | | `importer.cassandraHostsClockTimeCheckLimit` | Maximum difference over cassandra hosts clock time. | `1s` | +| `importer.retryInterval` | Period of time between tries to spawn worker job. | `5s` | +| `importer.retryCount` | Maximum number of tries to spawn worker job. | `3` | | `importer.cleaner.enabled` | Enables deletion of obsolete tilesets before making new imports. | `false` | | `importer.cleaner.limit` | Limit on the number of old tilesets to leave untouched when cleaning, minimum 1. | `3` | | `importer.workerResources` | **Kubernetes [resource management settings](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for the cleaner process** | | diff --git a/charts/tiles-api/configs/importer/importer.yaml b/charts/tiles-api/configs/importer/importer.yaml index e19c70b83..0a5c06374 100644 --- a/charts/tiles-api/configs/importer/importer.yaml +++ b/charts/tiles-api/configs/importer/importer.yaml @@ -18,6 +18,8 @@ k8s: job-template-file-path: /config/job.yaml {{- with .Values.importer }} worker-image: {{ required "A valid .Values.dgctlDockerRegistry entry required" $.Values.dgctlDockerRegistry }}/{{ .image.repository }}:{{ .image.tag }} + retry-interval: {{ .retryInterval }} + retry-count: {{ .retryCount }} {{- end }} namespace: {{ .Release.Namespace }} diff --git a/charts/tiles-api/values.yaml b/charts/tiles-api/values.yaml index 2ae0cdc25..c49b835a4 100644 --- a/charts/tiles-api/values.yaml +++ b/charts/tiles-api/values.yaml @@ -122,7 +122,7 @@ proxy: image: repository: 2gis-on-premise/tiles-api-proxy - tag: 4.52.9 + tag: 4.54.0 pullPolicy: IfNotPresent containerPort: 5000 @@ -179,7 +179,7 @@ api: image: repository: 2gis-on-premise/tiles-api - tag: 4.52.9 + tag: 4.54.0 pullPolicy: IfNotPresent terminationGracePeriodSeconds: 30 @@ -337,7 +337,7 @@ importer: image: repository: 2gis-on-premise/tiles-api-importer - tag: 4.52.9 + tag: 4.54.0 pullPolicy: IfNotPresent @@ -358,6 +358,9 @@ importer: # @param importer.clearSnapshots If enabled, then the Importer job will delete keyspace's snapshot as well when deleting a keyspace.
It executes the `nodetool clearsnapshot` command over JMX to do so, and therefore requires JMS to be enabled on the Cassandra side, and `cassandra.credentials.jmxUser`/`cassandra.credentials.jmxPassword` values to be set. # @param importer.cassandraHostsClockTimeCheckLimit Maximum difference over cassandra hosts clock time. + # @param importer.retryInterval Period of time between tries to spawn worker job. + # @param importer.retryCount Maximum number of tries to spawn worker job. + # @param importer.cleaner.enabled Enables deletion of obsolete tilesets before making new imports. # @param importer.cleaner.limit Limit on the number of old tilesets to leave untouched when cleaning, minimum 1. @@ -371,6 +374,9 @@ importer: clearSnapshots: false cassandraHostsClockTimeCheckLimit: 1s + retryInterval: "5s" + retryCount: 3 + tolerations: {} imagePullSecrets: [] nodeSelector: {} From 5e0f53a83b47682e29d33ad902e1cc44ed6d8a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D1=82=D1=80=20=D0=91=D0=B5=D0=BA=D0=BB=D0=B5?= =?UTF-8?q?=D0=BC=D0=B8=D1=88=D0=B5=D0=B2?= Date: Wed, 8 May 2024 11:53:29 +0700 Subject: [PATCH 05/10] Add missing default for enabled_modules->predictors in citylens-web configmap (#433) --- charts/citylens/templates/web/configmap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/citylens/templates/web/configmap.yaml b/charts/citylens/templates/web/configmap.yaml index ded114b04..970a4fc0f 100644 --- a/charts/citylens/templates/web/configmap.yaml +++ b/charts/citylens/templates/web/configmap.yaml @@ -132,4 +132,4 @@ data: {{- end }} {{- end }} predictors: - {{- toYaml .Values.kafka.predictorsExtraTopics | nindent 8 }} + {{- toYaml (.Values.kafka.predictorsExtraTopics | default list) | nindent 8 }} From 5fd2f18292d31e6b6adc14ff4123fa6a3b5658a0 Mon Sep 17 00:00:00 2001 From: i-bogomazov <106957509+i-bogomazov@users.noreply.github.com> Date: Mon, 13 May 2024 17:31:21 +0300 Subject: [PATCH 06/10] navi-router 6.17.0.8 -> 6.17.1.2 (#434) --- charts/navi-router/Chart.yaml | 2 +- charts/navi-router/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/navi-router/Chart.yaml b/charts/navi-router/Chart.yaml index 6d84af764..7b0f71827 100644 --- a/charts/navi-router/Chart.yaml +++ b/charts/navi-router/Chart.yaml @@ -6,7 +6,7 @@ keywords: - navi - router version: 1.22.0 -appVersion: 6.17.0.8 +appVersion: 6.17.1.2 maintainers: - name: 2gis url: https://github.com/2gis diff --git a/charts/navi-router/values.yaml b/charts/navi-router/values.yaml index d0f12ae4d..6107b27c3 100644 --- a/charts/navi-router/values.yaml +++ b/charts/navi-router/values.yaml @@ -39,7 +39,7 @@ affinity: {} image: repository: 2gis-on-premise/navi-router pullPolicy: IfNotPresent - tag: 6.17.0.8 + tag: 6.17.1.2 # @section Navi-Router service settings From 07e40683d65496cadb83e1a305fa63f2ffb1a1d2 Mon Sep 17 00:00:00 2001 From: Andrew Mikhailov Date: Fri, 17 May 2024 11:09:17 +0700 Subject: [PATCH 07/10] [PRO-5009] Changed helm/hooks. (#436) --- charts/pro-ui/templates/ui/styles-import-starter.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/pro-ui/templates/ui/styles-import-starter.yaml b/charts/pro-ui/templates/ui/styles-import-starter.yaml index 3bb1b1f01..13edb00f3 100644 --- a/charts/pro-ui/templates/ui/styles-import-starter.yaml +++ b/charts/pro-ui/templates/ui/styles-import-starter.yaml @@ -4,7 +4,7 @@ kind: Job metadata: name: {{ include "pro.ui.styles-importer-name" . }}-starter annotations: - "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded spec: backoffLimit: {{ .Values.stylesImporter.backoffLimit }} From ec3cfca6dd74251fca0d1f8fa7d1d05f76e16bf2 Mon Sep 17 00:00:00 2001 From: Konstantin Lobov Date: Fri, 24 May 2024 09:25:02 +0300 Subject: [PATCH 08/10] pro-ui: New external style manager config (#426) * pro-ui: New external style manager config --- charts/pro-ui/README.md | 12 ++++++++++++ charts/pro-ui/templates/_env.tpl | 4 ++++ charts/pro-ui/values.schema.json | 16 ++++++++++++++++ charts/pro-ui/values.yaml | 15 +++++++++++++++ 4 files changed, 47 insertions(+) diff --git a/charts/pro-ui/README.md b/charts/pro-ui/README.md index 4108bb080..23d176691 100644 --- a/charts/pro-ui/README.md +++ b/charts/pro-ui/README.md @@ -84,6 +84,18 @@ Use this Helm chart to deploy 2GIS Pro UI service, which is a part of 2GIS's [On | `ui.mapgl.stylePreview` | URL to image for ui.mapgl.styleUrl or ui.mapgl.styleId. It needs for preview in manager styles. | `""` | | `ui.mapgl.styleModelsUrl` | Optional URL for [MapGL Style](https://docs.2gis.com/en/mapgl/styles/overview/editor) models folder, e.g., '//mapgl.ingress.host/style/models' | `""` | +### Mapbox style config settings + +| Name | Description | Value | +| ---------------------- | --------------------------------------------------------------------- | ----- | +| `ui.mapbox.styleToken` | Optional [Mapbox Token](https://docs.mapbox.com/api/accounts/tokens/) | `""` | + +### External style manager configuration. + +| Name | Description | Value | +| --------------------------------- | ------------------------------------------------------ | ------- | +| `ui.externalStyleManager.enabled` | - Set "true" to enable External Style Manager features | `false` | + ### Map styles config settings | Name | Description | Value | diff --git a/charts/pro-ui/templates/_env.tpl b/charts/pro-ui/templates/_env.tpl index ff0aa0bb2..d7c5e85af 100644 --- a/charts/pro-ui/templates/_env.tpl +++ b/charts/pro-ui/templates/_env.tpl @@ -71,6 +71,10 @@ value: "/tmp" - name: SERVER_PORT value: "{{ .Values.ui.containerPort }}" +- name: MAPBOX_STYLE_TOKEN + value: "{{ .Values.ui.mapbox.styleToken }}" +- name: FEATURE_EXTERNAL_STYLE_MANAGER_IS_ENABLED + value: "{{ .Values.ui.externalStyleManager.enabled }}" - name: PUBLIC_S3_HOST value: "{{ .Values.ui.publicS3Url }}" - name: PUBLIC_S3_URL diff --git a/charts/pro-ui/values.schema.json b/charts/pro-ui/values.schema.json index c6d53e762..6f2e6f245 100644 --- a/charts/pro-ui/values.schema.json +++ b/charts/pro-ui/values.schema.json @@ -162,6 +162,22 @@ } } }, + "mapbox": { + "type": "object", + "additionalProperties": false, + "properties": { + "styleToken": { + "type": "string" + } + } + }, + "externalStyleManager": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { "type": "boolean" } + } + }, "styles": { "type": "object", "additionalProperties": false, diff --git a/charts/pro-ui/values.yaml b/charts/pro-ui/values.yaml index 883524037..2efa87233 100644 --- a/charts/pro-ui/values.yaml +++ b/charts/pro-ui/values.yaml @@ -139,6 +139,21 @@ ui: stylePreview: '' styleModelsUrl: '' + # @section Mapbox style config settings + # + # Fill that parameters if your app has connection to Global Internet. + # @param ui.mapbox.styleToken Optional [Mapbox Token](https://docs.mapbox.com/api/accounts/tokens/) + mapbox: + styleToken: '' + + # @section External style manager configuration. + # External style manager allows managing WMS- and WMTS-maps from external sources. + # Access to public (internet) or private (intranet) WM(T)S services is required for this feature to work. + # + # @param ui.externalStyleManager.enabled - Set "true" to enable External Style Manager features + externalStyleManager: + enabled: false + # @section Map styles config settings # # @param ui.styles.s3Bucket Optional S3 bucket name for style files. Bucket must be public. From 79bc905f194ec235ca1a8df9cc31802c7c9ff5c1 Mon Sep 17 00:00:00 2001 From: DAMoskalev <33502773+DAMoskalev@users.noreply.github.com> Date: Fri, 24 May 2024 09:41:53 +0300 Subject: [PATCH 09/10] GH Actions readme checker workflow (#438) * base wf * fix * update * update * update * update * update * update * clean * clean * minor documentation changes --------- Co-authored-by: Dmitrii Moskalev --- .github/scripts/check-readme.sh | 46 +++++++++++++++++++++++++++++ .github/workflows/check-readme.yaml | 32 ++++++++++++++++++++ .gitignore | 1 + charts/navi-router/README.md | 2 +- charts/platform/README.md | 12 ++++---- 5 files changed, 85 insertions(+), 8 deletions(-) create mode 100644 .github/scripts/check-readme.sh create mode 100644 .github/workflows/check-readme.yaml diff --git a/.github/scripts/check-readme.sh b/.github/scripts/check-readme.sh new file mode 100644 index 000000000..82a8c7734 --- /dev/null +++ b/.github/scripts/check-readme.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e +set -u +set -o pipefail + +# Define directories +SCRIPT_DIR="$( cd $(dirname "$0") ; pwd )" +REPO_PATH=$( git -C "$SCRIPT_DIR" rev-parse --show-toplevel ) + +cd "$REPO_PATH" + +# Run the generator for each subdirectory in charts +for chart in charts/*; do + if [ -d "$chart" ]; then + echo "Building README for $chart..." + readme-generator --config="$REPO_PATH/bitnami-config.json" --values="$REPO_PATH/$chart/values.yaml" --readme="$REPO_PATH/$chart/README.md" + echo "" + fi +done + +# Check for unsaved changes in the repository +IS_DIRTY=0 +HAS_UNTRACKED=0 + +# Check for changes in README.md files in the working directory +git -C "$REPO_PATH" diff --name-only -- '*.md' | grep -q '.' && IS_DIRTY=1 + +# Check for changes in README.md files in the staging area +git -C "$REPO_PATH" diff --cached --name-only -- '*.md' | grep -q '.' && IS_DIRTY=1 + +# Check for untracked README.md files +git -C "$REPO_PATH" ls-files --others --exclude-standard -- '*.md' | grep -q '.' && HAS_UNTRACKED=1 + +RESULT=$(( IS_DIRTY + HAS_UNTRACKED )) + +if [[ "$RESULT" -eq 0 ]]; then + echo -e '\033[0;32mDocumentation is up-to-date\033[0m' +else + echo -e '\033[0;31mYou need to update documentation: run `make prepare && make all`\033[0m' + echo 'Changed files:' + git status --porcelain | grep md + exit 1 +fi + +exit 0 diff --git a/.github/workflows/check-readme.yaml b/.github/workflows/check-readme.yaml new file mode 100644 index 000000000..c90f41621 --- /dev/null +++ b/.github/workflows/check-readme.yaml @@ -0,0 +1,32 @@ +name: Check Readme Files + +on: + pull_request: + branches: + - develop + +jobs: + run-script: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install Node.js and npm + uses: actions/setup-node@v2 + with: + node-version: '16' + + - name: Install readme-generator-for-helm + run: | + git clone https://github.com/bitnami/readme-generator-for-helm + cd readme-generator-for-helm + npm install + npm install -g . + + - name: Set up script permissions + run: chmod +x .github/scripts/check-readme.sh + + - name: Run script + run: .github/scripts/check-readme.sh diff --git a/.gitignore b/.gitignore index 090a1f02d..34b82a233 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea .DS_Store +readme-generator-for-helm diff --git a/charts/navi-router/README.md b/charts/navi-router/README.md index ae7b6a4c2..48462eed4 100644 --- a/charts/navi-router/README.md +++ b/charts/navi-router/README.md @@ -46,7 +46,7 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn | Name | Description | Value | | ------------------ | ----------- | ----------------------------- | | `image.repository` | Repository | `2gis-on-premise/navi-router` | -| `image.tag` | Tag | `6.17.0.8` | +| `image.tag` | Tag | `6.17.1.2` | | `image.pullPolicy` | Pull Policy | `IfNotPresent` | ### Navi-Router service settings diff --git a/charts/platform/README.md b/charts/platform/README.md index f434ff405..67bee418d 100644 --- a/charts/platform/README.md +++ b/charts/platform/README.md @@ -38,13 +38,11 @@ Use this Helm chart to deploy Platform service, which is a part of 2GIS's [On-Pr ### UI service settings -| Name | Description | Value | -| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | -| `ui.appPort` | Service port. | `3000` | -| `ui.brand` | Branding inside the app. Possible values: `"2gis"` or `"urbi"`. | `""` | -| `ui.pages` | A list of pages available in application. Values must be written with a comma. Possible values: `"status"`, `"playground"`. E.g. "status, playground". The first page in a list is the one a user's going to be redirected to from deactivated ones. | `""` | -| `ui.googleAnalyticsId` | An id for Google Analytics. | `""` | -| `ui.googleTagManagerId` | An id for Google Tag Manager. | `""` | +| Name | Description | Value | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | +| `ui.appPort` | Service port. | `3000` | +| `ui.brand` | Branding inside the app. Possible values: `"2gis"` or `"urbi"`. | `""` | +| `ui.pages` | A list of pages available in application. Values must be written with a comma. Possible values: `"status"`, `"playground"`. E.g. "status, playground". The first page in a list is the one a user's going to be redirected to from deactivated ones. | `""` | ### Statuses for services. A value is a string containing pairs of label and healthcheck URL for a service. Pairs must be divided with a comma. Each pair must be connected with a symbol "=", e.g. `mapgl: 'MapGL JS=https://example.com/healthcheck'`. URL must be an absolute. You can specify only one URL, e.g. `mapgl: 'https://example.com/healthcheck'`. From dc62228df22410f8090c25661e700f04b2de75fe Mon Sep 17 00:00:00 2001 From: DAMoskalev <33502773+DAMoskalev@users.noreply.github.com> Date: Fri, 24 May 2024 09:58:43 +0300 Subject: [PATCH 10/10] Gh actions readme checker changing name (#440) * base wf * fix * update * update * update * update * update * update * clean * clean * minor documentation changes * changing name --------- Co-authored-by: Dmitrii Moskalev --- .github/workflows/check-readme.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-readme.yaml b/.github/workflows/check-readme.yaml index c90f41621..1d996a14e 100644 --- a/.github/workflows/check-readme.yaml +++ b/.github/workflows/check-readme.yaml @@ -6,7 +6,7 @@ on: - develop jobs: - run-script: + readme-validator: runs-on: ubuntu-latest steps: