Skip to content

Commit

Permalink
Release 1.25.0 (#461)
Browse files Browse the repository at this point in the history
* fix pro-api/values.yaml doc (#432)

* [tiles-api] Upgrade to 4.54.0 (#428)

* Add missing default for enabled_modules->predictors in citylens-web configmap (#433)

* navi-router 6.17.0.8 -> 6.17.1.2 (#434)

* [PRO-5009] Changed helm/hooks. (#436)

* pro-ui: New external style manager config (#426)

* pro-ui: New external style manager config

* 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 <d.moskalev@2gis.ru>

* 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 <d.moskalev@2gis.ru>

* PRO-UI 2.14.0 (#441)

* PRO-UI fix hooks (#443)

* [PRO-5181] Обновление pro-api до версии 1.22.0 и pro-ui до версии 2.15.1 (#435)

* [PRO-5181] Обновление pro-api до версии 1.17

* [PRO-5181] Поправлены замечания по ревью

* [PRO-5181] Поправлен url для catalog

* [PRO-5181] обновил образ до 1.22.0

* [PRO-5181] Обновление pro-api до версии 1.17

* [PRO-5181] Поправлены замечания по ревью

* [PRO-5181] Поправлен url для catalog

* [PRO-5181] обновил образ до 1.22.0

* Add new version for PRO-UI

* Fix readme

* Citylens 1.9.0 & custom CA support (#439)

* Added custom CA support

* Update version to 1.9.0

* Fix customCA documentation

* Update readme

* Fix broken templating

* Fix citylens-web configmap (#448)

* Gis-platform. Мелкие правки по дефолтным параметрам (#450)

* [license] Fixed issue with k8s ca automount (#444)

* WAPI-23444 custom ca twins api (#437)

* WAPI-23444 custom ca twins api

* WAPI-23444 custom ca twins api

* WAPI-23444 custom ca twins api

* Bump citylens to 1.10.0 (#453)

* Bump citylens to 1.10.0

* Complete renaming pro.url to pro.baseUrl

* PRO-5559: upgrade key ui to latest (#449)

* PRO-5559: upgrade key ui to latest

* WAPI-23482 Add configuration for Public API sign (#429)

* WAPI-23482 Add configuration for Public API sign

* impr

* disabled by default

* optional signkey in secret

* optional signkey in secret

* upd image version

* reset chart version

---------

Co-authored-by: Kirill Salnikov <k.salnikov@2gis.ru>

* Правки в чартах mapgl-js-api  и floors-api (#420)

* Add ability to add extra env vars to citylens-web deployment (#455)

* Add ability to add extra env vars to citylens-web deployment

* Fix missing end tag

* chart/generic-chart syncup (#452)

* pro-api serviceAccountOverride support (#456)

* changes

* update

* value description added

* readme update

* readme update

---------

Co-authored-by: Dmitrii Moskalev <d.moskalev@2gis.ru>

* [chart/navi-back] 7.23.0.5 release (#451)

* release 1.25.0 related changes

---------

Co-authored-by: Igor Sheykin <49325415+Ashigo@users.noreply.github.com>
Co-authored-by: FreakyGranny <mora378@rambler.ru>
Co-authored-by: Петр Беклемишев <pbekl@bk.ru>
Co-authored-by: i-bogomazov <106957509+i-bogomazov@users.noreply.github.com>
Co-authored-by: Andrew Mikhailov <Andrew.Mikhailov.18.01@gmail.com>
Co-authored-by: Konstantin Lobov <lobovke@gmail.com>
Co-authored-by: Dmitrii Moskalev <d.moskalev@2gis.ru>
Co-authored-by: Aveldin1 <164148461+Aveldin1@users.noreply.github.com>
Co-authored-by: Денис Беляев <d.belyaev@2gis.ru>
Co-authored-by: Denis Belyaev <74010851+dbelyaev-nsk@users.noreply.github.com>
Co-authored-by: v-loboda <111125664+v-loboda@users.noreply.github.com>
Co-authored-by: Sergey Ordin <61708156+sergeLeLe@users.noreply.github.com>
Co-authored-by: Voronkov Alexander <voronkov.alexander@gmail.com>
Co-authored-by: Vladimir Popov <v.popov@2gis.ru>
Co-authored-by: Dmitriy Donov <dmitriy@donov.ru>
Co-authored-by: ostrovskiy2gis <108522609+ostrovskiy2gis@users.noreply.github.com>
Co-authored-by: Kirill Salnikov <k.salnikov@2gis.ru>
Co-authored-by: Michel Beloshitsky <itano@yandex.ru>
Co-authored-by: Полозов Игорь Сергеевич <i.polozov@2gis.ru>
Co-authored-by: uk-navi-ci <161344134+uk-navi-ci@users.noreply.github.com>
  • Loading branch information
21 people authored Jun 27, 2024
1 parent 74d8d15 commit 1e68f3f
Show file tree
Hide file tree
Showing 58 changed files with 1,312 additions and 1,041 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.idea
.DS_Store
readme-generator-for-helm
Chart.lock
/charts/*/charts
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# 2GIS On-Premise Changelog

## [1.25.0] (2024-06-26)
#### Images
```
navi-back
- frozen-data:
- navi-back:7.15.2.4
+ navi-back:7.23.0.5
search-api
- search-api:7.76.1
+ search-api:7.77.2
```

## [1.24.0] (2024-06-19)
#### [Breaking-Changes](Breaking-Changes.md#1240)
#### 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.24.0
version: 1.25.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.24.0
version: 1.25.0
appVersion: 1.10.0

maintainers:
Expand Down
6 changes: 6 additions & 0 deletions charts/citylens/templates/web/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ spec:
- name: SSL_CERT_DIR
value: {{ include "citylens.customCA.mountPath" $ }}
{{- end }}
{{- if .Values.web.extraEnvVars }}
{{- range $env_name, $env_value := .Values.web.extraEnvVars }}
- name: {{ $env_name }}
value: {{ $env_value | squote }}
{{- end }}
{{- end }}
resources:
{{- toYaml .Values.web.resources | nindent 12 }}
volumeMounts:
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.24.0
version: 1.25.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.24.0
version: 1.25.0
appVersion: 1.0.4

maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/generic-chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Generic library Helm chart for 2Gis
type: library
keywords:
- library
version: 1.24.0
version: 1.25.0
maintainers:
- name: 2gis
url: https://github.com/2gis
Expand Down
69 changes: 50 additions & 19 deletions charts/generic-chart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ For other templates re-use named definitions as follows:

Below are supported parameters.

## Test chart

Test chart based on generic-chart is located in resources.

Chart is tested using [pipeline](https://gitlab.2gis.ru/traffic/cicd-pipelines/-/blob/master/pipelines/single-chart.yml). See `.gitlab-ci.yml`.

### Values

#### Common settings
Expand All @@ -47,23 +53,25 @@ Below are supported parameters.
| `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. | `""` |

#### Deployment settings

| Name | Description | Value |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----- |
| `labels` | Custom labels to set to Deployment resource | `{}` |
| `annotations` | Custom annotations to set to Deployment resource | `{}` |
| `replicaCount` | A replica count for the pod | `1` |
| `revisionHistoryLimit` | Number of replica sets to keep for deployment rollbacks | `1` |
| `strategy` | Deployment [strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy). Undergoes template rendering | `{}` |
| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` |
| `imagePullSecrets` | Kubernetes image pull secrets | `[]` |
| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | `{}` |
| `priorityClassName` | Kubernetes [Pod Priority](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) class name | `""` |
| `terminationGracePeriodSeconds` | Maximum time allowed for graceful shutdown | `60` |
| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) | `{}` |
| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) | `{}` |
| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings | `[]` |
#### [Deployment](https://kubernetes.io/docs/tasks/run-application/run-stateless-application-deployment/) settings

| Name | Description | Value |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------- |
| `labels` | Custom labels to set to Deployment resource | `{}` |
| `annotations` | Custom annotations to set to Deployment resource | `{}` |
| `replicaCount` | A replica count for the pod | `1` |
| `revisionHistoryLimit` | Number of replica sets to keep for deployment rollbacks | `1` |
| `strategy` | Deployment [strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy). Undergoes template rendering | `{}` |
| `podAnnotations` | Kubernetes [pod annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) | `{}` |
| `imagePullSecrets` | Kubernetes image pull secrets | `[]` |
| `podSecurityContext` | Kubernetes [pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | `{}` |
| `priorityClassName` | Kubernetes [Pod Priority](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) class name | `""` |
| `terminationGracePeriodSeconds` | Maximum time allowed for graceful shutdown | `60` |
| `nodeSelector` | Kubernetes [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) | `{}` |
| `affinity` | Kubernetes pod [affinity settings](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) | `{}` |
| `tolerations` | Kubernetes [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) settings | `[]` |
| `enableServiceLinks` | Services injection into containers environment | `false` |
| `restartPolicy` | Kubernetes pod [restart policy](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy) | `""` |

#### Kubernetes [Horizontal Pod Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) settings

Expand Down Expand Up @@ -97,7 +105,7 @@ Below are supported parameters.
| `pdb.minAvailable` | How many pods must be available after the eviction. | `""` |
| `pdb.maxUnavailable` | How many pods can be unavailable after the eviction. | `1` |

#### Service settings
#### [Service](https://kubernetes.io/docs/concepts/services-networking/service/) settings

| Name | Description | Value |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
Expand All @@ -107,10 +115,33 @@ Below are supported parameters.
| `service.clusterIP` | Controls Service cluster IP allocation. Cannot be changed after resource creation. | `""` |
| `service.port` | Service port. | `80` |

#### Service account settings
#### [Service account](https://kubernetes.io/docs/concepts/security/service-accounts/) settings

| Name | Description | Value |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------ |
| `serviceAccount.create` | Specifies whether a service account should be created. | `true` |
| `serviceAccount.annotations` | Annotations to add to the service account. | `{}` |
| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` |

#### [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) settings

| Name | Description | Value |
| ------------------------------------ | --------------------------------------------------------------- | ------- |
| `cronJob.suspend` | Suspend execution of Jobs. | `false` |
| `cronJob.schedule` | Schedule follows the Cron syntax. | `""` |
| `cronJob.startingDeadlineSeconds` | Defines a deadline (in whole seconds) for starting the Job. | `""` |
| `cronJob.concurrencyPolicy` | Concurrent executions of a Job that is created by this CronJob. | `""` |
| `cronJob.successfulJobsHistoryLimit` | How many completed Jobs should be kept. | `""` |
| `cronJob.failedJobsHistoryLimit` | How many failed Jobs should be kept. | `""` |

#### [Job](https://kubernetes.io/docs/concepts/workloads/controllers/job/) settings

| Name | Description | Value |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----- |
| `job.backoffLimit` | Number of retries before considering a Job as failed. | `""` |
| `job.backoffLimitPerIndex` | Maximal number of pod failures per index. | `""` |
| `job.podFailurePolicy` | Pod failure policy. | `""` |
| `job.completions` | Number of successful pods for completion Job. | `""` |
| `job.completionMode` | Completion mode (NonIndexed or Indexed). | `""` |
| `job.parallelism` | Number of pods running at any instant. | `""` |
| `job.restartPolicy` | Kubernetes pod [restart policy](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy) | `""` |
34 changes: 34 additions & 0 deletions charts/generic-chart/templates/_cronjob.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{{- define "generic-chart.cronjob.tpl" }}
{{ $ctx := .ctx }}
{{ $cronJob := .cronJob }}
apiVersion: {{ include "generic-chart.capabilities.cronjob.apiVersion" $ctx }}
kind: CronJob
metadata:
name: {{ include "generic-chart.fullname" $ctx }}{{ include "generic-chart.getSuffix" $cronJob }}
labels:
{{- include "generic-chart.labels" $ctx | nindent 4 }}
{{- with $ctx.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}{{- /* labels */}}
{{- with $ctx.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}{{- /* annotations */}}
spec:
schedule: {{ required "A valid cronJob.schedule entry required" $cronJob.schedule | quote }}
suspend: {{ ($cronJob).suspend }}
{{- if ($cronJob).startingDeadlineSeconds }}
startingDeadlineSeconds: {{ ($cronJob).startingDeadlineSeconds }}
{{- end }}
{{- if ($cronJob).concurrencyPolicy }}
concurrencyPolicy: {{ ($cronJob).concurrencyPolicy }}
{{- end }}
{{- if ($cronJob).successfulJobsHistoryLimit }}
successfulJobsHistoryLimit: {{ ($cronJob).successfulJobsHistoryLimit }}
{{- end }}
{{- if ($cronJob).failedJobsHistoryLimit }}
failedJobsHistoryLimit: {{ ($cronJob).failedJobsHistoryLimit }}
{{- end }}
jobTemplate:
{{- include "generic-chart.job_spec.tpl" . | nindent 4 }}
{{- end }}
39 changes: 4 additions & 35 deletions charts/generic-chart/templates/_deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,39 +29,8 @@ spec:
matchLabels:
{{- include "generic-chart.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* podAnnotations */}}
labels:
{{- include "generic-chart.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* imagePullSecrets */}}
serviceAccountName: {{ include "generic-chart.serviceAccountName" . }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* podSecurityContext */}}
{{- with .Values.priorityClassName }}
priorityClassName: {{ . }}
{{- end }}{{- /* priorityClassName */}}
{{- with .Values.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ . | default 60 }}
{{- end }}{{- /* terminationGracePeriodSeconds */}}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* nodeSelector */}}
{{- if .Values.affinity }}
affinity:
{{- include "tplvalues.render" ( dict "value" .Values.affinity "context" . ) | nindent 8 }}
{{- end }}{{- /* affinity */}}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* tolerations */}}
{{ include "generic-chart.pod_spec.tpl" . | nindent 4 }}
{{- with .Values.restartPolicy }}
restartPolicy: {{ . }}
{{- end }}{{- /* restartPolicy */}}
{{- end }} {{- /* define */}}
22 changes: 21 additions & 1 deletion charts/generic-chart/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Usage:
"value" .Values.vpa.containerName
"context" .) }}
{{- else }}
{{- .Chart.Name }}
{{- .Chart.Name | replace "_" "-" }}
{{- end }}
{{- end -}}

Expand Down Expand Up @@ -145,3 +145,23 @@ containerResource:
container: {{ include "generic-chart.containerName" . }}
{{- end -}}
{{- end -}}

{{/*
Return the appropriate apiVersion for cronjob.
*/}}
{{- define "generic-chart.capabilities.cronjob.apiVersion" -}}
{{- if semverCompare "<1.21-0" (include "generic-chart.capabilities.kubeVersion" .) -}}
{{- print "batch/v1beta1" -}}
{{- else -}}
{{- print "batch/v1" -}}
{{- end -}}
{{- end -}}

{{/*
Return the suffix from .suffix.
*/}}
{{- define "generic-chart.getSuffix" -}}
{{- if .suffix -}}
{{- printf "-%s" (toString .suffix) -}}
{{- end -}}
{{- end -}}
18 changes: 18 additions & 0 deletions charts/generic-chart/templates/_job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- define "generic-chart.job.tpl" -}}
{{ $ctx := .ctx }}
{{ $job := .job }}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "generic-chart.fullname" $ctx }}{{ include "generic-chart.getSuffix" $job }}
labels:
{{- include "generic-chart.labels" $ctx | nindent 4 }}
{{- with $ctx.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}{{- /* labels */}}
{{- with $ctx.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}{{- /* annotations */}}
{{ include "generic-chart.job_spec.tpl" . }}
{{- end }}
28 changes: 28 additions & 0 deletions charts/generic-chart/templates/_job_spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{{- define "generic-chart.job_spec.tpl" -}}
{{ $ctx := .ctx }}
{{ $job := .job }}
spec:
{{- if ($job).backoffLimit }}
backoffLimit: {{ ($job).backoffLimit }}
{{- end }}
{{- if ($job).backoffLimitPerIndex }}
backoffLimitPerIndex: {{ ($job).backoffLimitPerIndex }}
{{- end }}
{{- if ($job).podFailurePolicy }}
podFailurePolicy: {{ ($job).podFailurePolicy }}
{{- end }}
{{- if ($job).completions }}
completions: {{ ($job).completions }}
{{- end }}
{{- if ($job).completionMode }}
completionMode: {{ ($job).completionMode }}
{{- end }}
{{- if ($job).parallelism }}
parallelism: {{ ($job).parallelism }}
{{- end }}
template:
{{- include "generic-chart.pod_spec.tpl" $ctx | nindent 4 }}
{{- with ($job).restartPolicy }}
restartPolicy: {{ . }}
{{- end }}{{- /* restartPolicy */}}
{{- end }}
43 changes: 43 additions & 0 deletions charts/generic-chart/templates/_pod_spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{{- define "generic-chart.pod_spec.tpl" -}}
{{- /*
apiVersion: v1
kind: Pod
metadata:
*/ -}}
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* podAnnotations */}}
labels:
{{- include "generic-chart.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* imagePullSecrets */}}
serviceAccountName: {{ include "generic-chart.serviceAccountName" . }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* podSecurityContext */}}
{{- with .Values.priorityClassName }}
priorityClassName: {{ . }}
{{- end }}{{- /* priorityClassName */}}
{{- with .Values.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ . | default 60 }}
{{- end }}{{- /* terminationGracePeriodSeconds */}}
enableServiceLinks: {{ .Values.enableServiceLinks | default false }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* nodeSelector */}}
{{- if .Values.affinity }}
affinity:
{{- include "tplvalues.render" ( dict "value" .Values.affinity "context" . ) | nindent 8 }}
{{- end }}{{- /* affinity */}}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}{{- /* tolerations */}}
{{- end }} {{- /* define */}}
Loading

0 comments on commit 1e68f3f

Please sign in to comment.