Skip to content

Commit

Permalink
Release 1.15.0 (#362)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ashigo authored Dec 1, 2023
1 parent 7b29c10 commit 69e22e4
Show file tree
Hide file tree
Showing 46 changed files with 350 additions and 175 deletions.
1 change: 1 addition & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
pull_request:
branches:
- master
- develop

jobs:
lint:
Expand Down
6 changes: 6 additions & 0 deletions Breaking-Changes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# 2GIS On-Premise Breaking-Changes

## [1.15.0]

### navi-router

- `router.keyManagementService.apis.*` tokens renamed, `-api` suffix added

## [1.14.0]

### keys-api
Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# 2GIS On-Premise Changelog

## [1.15.0] (2023-11-30)
#### [Breaking-Changes](Breaking-Changes.md#1500)
#### Images
```
keys
- keys-ui:0.5.0
+ keys-ui:0.6.0
navi-castle
- navi-castle:1.0.7
+ navi-castle:1.7.0
navi-router
- navi-router:6.16.0
+ navi-router:6.17.0.8
```

## [1.14.0] (2023-11-15)
#### [Breaking-Changes](Breaking-Changes.md#1400)
#### Images
Expand Down
2 changes: 1 addition & 1 deletion charts/catalog-api/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: catalog-api
type: application
description: A Helm chart for Kubernetes to deploy Catalog APIs

version: 1.14.0
version: 1.15.0
appVersion: 3.600.0

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/citylens/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: citylens
type: application
description: A Helm chart for Kubernetes to deploy Citylens service

version: 1.14.0
version: 1.15.0
appVersion: 1.1.2

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/dgtt/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: dgtt
description: DGTT Helm chart for Kubernetes
type: application

version: 1.14.0
version: 1.15.0
appVersion: 0.2.27-b188673e09

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/floors-api/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: floors-api
description: Helm for floors service
type: application

version: 1.14.0
version: 1.15.0
appVersion: 1.0.4

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/gis-platform/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: GIS Platform

type: application

version: 1.14.0
version: 1.15.0
appVersion: 2023.8.3-0

dependencies:
Expand Down
2 changes: 1 addition & 1 deletion charts/keycloak/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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.14.0
version: 1.15.0
appVersion: 21.1.1-debian-11-r4

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/keys/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: keys
type: application
description: A Helm chart for Kubernetes to deploy API Keys service

version: 1.14.0
version: 1.15.0
appVersion: 1.69.0

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/keys/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.69.0` |
| `admin.image.repository` | Admin service image repository. | `2gis-on-premise/keys-ui` |
| `admin.image.tag` | Admin service image tag. | `0.5.0` |
| `admin.image.tag` | Admin service image tag. | `0.6.0` |
| `redis.image.repository` | Redis image repository. | `2gis-on-premise/keys-redis` |
| `redis.image.tag` | Redis image tag. | `6.2.6-alpine3.15` |

Expand Down
2 changes: 1 addition & 1 deletion charts/keys/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ backend:
admin:
image:
repository: 2gis-on-premise/keys-ui
tag: 0.5.0
tag: 0.6.0

# @param admin.replicas A replica count for the pod.

Expand Down
2 changes: 1 addition & 1 deletion charts/license/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: license
type: application
description: A Helm chart for Kubernetes to deploy License service

version: 1.14.0
version: 1.15.0
appVersion: 2.1.2

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/mapgl-js-api/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Basic WebGL map chart template for 2GIS On-Premise

type: application

version: 1.14.0
version: 1.15.0
appVersion: 1.40.0

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/navi-async-grpc-proxy/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ keywords:
- navi
- dm-async-matrix
- async-grpc-proxy
version: 1.14.0
version: 1.15.0
appVersion: 0.0.2
maintainers:
- name: 2gis
Expand Down
2 changes: 1 addition & 1 deletion charts/navi-async-matrix/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Service implements asynchronous API over Distance Matrix

type: application

version: 1.14.0
version: 1.15.0
appVersion: 1.6.2

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/navi-back/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ keywords:
- navi
- back
- backend
version: 1.14.0
version: 1.15.0
appVersion: 7.10.0
maintainers:
- name: 2gis
Expand Down
4 changes: 2 additions & 2 deletions charts/navi-castle/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ description: Castle Helm chart for Kubernetes
type: application


version: 1.14.0
appVersion: 1.0.7
version: 1.15.0
appVersion: 1.7.0

maintainers:
- name: 2gis
Expand Down
83 changes: 49 additions & 34 deletions charts/navi-castle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,34 +32,37 @@ 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.0.7` |
| `castle.image.tag` | Navi-Castle service image tag. | `1.7.0` |
| `nginx.image.repository` | Navi-Front image repository. | `2gis-on-premise/navi-front` |
| `nginx.image.tag` | Navi-Front image tag. | `1.24.1` |

### Deployment Artifacts Storage settings

| Name | Description | Value |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| `dgctlStorage.host` | S3 endpoint. Format: `host:port`. | `""` |
| `dgctlStorage.bucket` | S3 bucket name. | `""` |
| `dgctlStorage.accessKey` | S3 access key for accessing the bucket. | `""` |
| `dgctlStorage.secretKey` | S3 secret key for accessing the bucket. | `""` |
| `dgctlStorage.manifest` | The path to the [manifest file](https://docs.2gis.com/en/on-premise/overview#nav-lvl2@paramCommon_deployment_steps). Format: `manifests/0000000000.json`.<br> This file contains the description of pieces of data that the service requires to operate. | `""` |
| Name | Description | Value |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `dgctlStorage.host` | S3 endpoint. Format: `host:port`. | `""` |
| `dgctlStorage.secure` | If S3 uses https. | `false` |
| `dgctlStorage.region` | S3 region. | `""` |
| `dgctlStorage.bucket` | S3 bucket name. | `""` |
| `dgctlStorage.accessKey` | S3 access key for accessing the bucket. | `""` |
| `dgctlStorage.secretKey` | S3 secret key for accessing the bucket. | `""` |
| `dgctlStorage.manifest` | The path to the [manifest file](https://docs.2gis.com/en/on-premise/overview#nav-lvl2@paramCommon_deployment_steps). Format: `manifests/0000000000.json`.<br> This file contains the description of pieces of data that the service requires to operate. | `""` |

### Common settings

| Name | Description | Value |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----- |
| `replicaCount` | A replica count for the pod. | `1` |
| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` |
| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` |
| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` |
| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` |
| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` |
| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` |
| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` |
| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` |
| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` |
| Name | Description | Value |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----- |
| `replicaCount` | A replica count for the pod. | `1` |
| `imagePullSecrets` | Kubernetes image pull secrets. | `[]` |
| `nameOverride` | Base name to use in all the Kubernetes entities deployed by this chart. | `""` |
| `fullnameOverride` | Base fullname to use in all the Kubernetes entities deployed by this chart. | `""` |
| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/). | `{}` |
| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` |
| `securityContext` | Kubernetes [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/). | `{}` |
| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector). | `{}` |
| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings. | `[]` |
| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity). | `{}` |
| `terminationGracePeriodSeconds` | Maximum time allowed for graceful shutdown. | `60` |

### Service account settings

Expand Down Expand Up @@ -99,12 +102,13 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn

### Navi-Castle service settings

| Name | Description | Value |
| -------------------------- | ------------------------------------ | ------------------------------ |
| `castle.castleDataPath` | Path to the data directory. | `/opt/castle/data/` |
| `castle.restrictions.host` | Restrictions API base URL. | `http://restrictions-api.host` |
| `castle.restrictions.key` | Restrictions API key. | `""` |
| `castle.jobs` | Number of parallel downloading jobs. | `1` |
| Name | Description | Value |
| -------------------------- | --------------------------------------------------- | ------------------------------ |
| `castle.castleDataPath` | Path to the data directory. | `/opt/castle/data/` |
| `castle.restrictions` | Section ignored if castle.restriction.enabled=false | |
| `castle.restrictions.host` | Restrictions API base URL. | `http://restrictions-api.host` |
| `castle.restrictions.key` | Restrictions API key. | `""` |
| `castle.jobs` | Number of parallel downloading jobs. | `1` |

### Navi-Front settings

Expand All @@ -114,14 +118,25 @@ See the [documentation](https://docs.2gis.com/en/on-premise/navigation) to learn

### Cron settings

| Name | Description | Value |
| --------------------------------- | -------------------------------------------------- | ------------- |
| `cron.enabled.import` | If the `import` cron job is enabled. | `false` |
| `cron.enabled.restriction` | If the `restriction` cron job is enabled. | `false` |
| `cron.schedule.import` | Cron job schedule for `import`. | `11 * * * *` |
| `cron.schedule.restriction` | Cron job schedule for `restriction`. | `*/5 * * * *` |
| `cron.concurrencyPolicy` | Cron job concurrency policy: `Allow` or `Forbid`. | `Forbid` |
| `cron.successfulJobsHistoryLimit` | How many completed and failed jobs should be kept. | `3` |
| Name | Description | Value |
| --------------------------------- | ------------------------------------------------------------------- | ------------- |
| `cron.enabled.import` | If the `import` cron job is enabled. | `false` |
| `cron.enabled.restriction` | If restrictions API enabled, incompatible with `restrictionImport`. | `false` |
| `cron.enabled.restrictionImport` | If restrictions import enabled, incompatible with `restriction`. | `false` |
| `cron.schedule.import` | Cron job schedule for `import`. | `11 * * * *` |
| `cron.schedule.restriction` | Cron job schedule for `restriction`. | `*/5 * * * *` |
| `cron.schedule.restrictionImport` | Cron job schedule for `restrictionImport`. | `*/5 * * * *` |
| `cron.concurrencyPolicy` | Cron job concurrency policy: `Allow` or `Forbid`. | `Forbid` |
| `cron.successfulJobsHistoryLimit` | How many completed and failed jobs should be kept. | `3` |
| `cron.prometheusPort` | Container port for supercronic prometheus | `9476` |

### Init settings

| Name | Description | Value |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `init.enabled.import` | If the `import` on init is enabled. Warning: if disable data not imported. Old data will be lost if not persistentVolume.enabled. | `true` |
| `init.enabled.restriction` | If restrictions API enabled, incompatible with `restrictionImport`. | `false` |
| `init.enabled.restrictionImport` | If restrictions import enabled, incompatible with `restriction`. | `false` |

### Kubernetes [Persistence Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) settings

Expand Down
10 changes: 9 additions & 1 deletion charts/navi-castle/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ Create the name of the service account to use
{{- end }}


{{/* vim: set filetype=mustache: */}}
{{/*
Renders a value that contains template.
Usage:
Expand All @@ -75,3 +74,12 @@ Usage:
{{- tpl (.value | toYaml) .context }}
{{- end }}
{{- end -}}


{{/*
Determine --service parameter for a specific cron job flavor
{{ include "castle.serviceParameter" ( dict "flavor" <a key one of .Values.cron.enabled.* > ) }}
*/}}
{{- define "castle.serviceParameter" -}}
{{- eq "restrictionImport" .flavor | ternary "import-restrictions" .flavor -}}
{{- end -}}
24 changes: 24 additions & 0 deletions charts/navi-castle/templates/configmapbuilder-runnable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "castle.fullname" . }}-runnable
data:
update_services_init.sh: |
# intended to run by init
# 1. initially runs configured imports
# 2. passes control down to supercronic for the same by schedule
set -Ceux
{{- range $_, $flavor := tuple "import" "restriction" "restrictionImport" }}
{{- if index $.Values.init.enabled $flavor }}
/opt/configuration_builder --config /opt/config_builder.conf --service={{ include "castle.serviceParameter" ( dict "flavor" $flavor ) }} --jobs={{ $.Values.castle.jobs | default 1 | int }}
{{- end }}
{{- end }}
exec /usr/local/bin/supercronic \
-json \
-prometheus-listen-address \
0.0.0.0:{{ .Values.cron.prometheusPort | int }} \
{{- if .Values.persistentVolume.enabled }}
/opt/update_services
{{- else }}{{- /* hang indefinitely if imports scheduled as k8s cronjob */}}
/dev/null
{{- end }}
Loading

0 comments on commit 69e22e4

Please sign in to comment.