From 85c8202266ce523696474f52d2beecf4eb88f9c4 Mon Sep 17 00:00:00 2001 From: Lorenzo Cavazzi <43481553+lorenzo-cavazzi@users.noreply.github.com> Date: Wed, 27 Mar 2024 09:50:50 +0100 Subject: [PATCH] feat: renku 2.0 search (#3478) * chore: Renku search helm charts (#3481) * feat: add Solr to the subcharts. * feat: add message queue Redis to data-services (#3508) * chore: add gateway config for search endpoint * chore: add redis values for users sync svc * chore: add redis access to user sync job --- CHANGELOG.rst | 18 ++++ helm-chart/renku/requirements.yaml | 4 + helm-chart/renku/templates/_helpers.tpl | 4 + .../templates/data-service/deployment.yaml | 16 +++ .../gateway/deployment-revproxy.yaml | 2 + helm-chart/renku/templates/ingress.yaml | 1 + .../keycloak-users-sync-cronjob.yaml | 33 +++++++ .../renku/templates/search/_helpers.tpl | 32 ++++++ .../search/search-api-deployment.yaml | 80 +++++++++++++++ .../templates/search/search-api-service.yaml | 23 +++++ .../search/search-provision-deployment.yaml | 93 ++++++++++++++++++ .../search/search-provision-service.yaml | 23 +++++ helm-chart/renku/templates/swagger.yaml | 3 +- helm-chart/renku/values.yaml | 97 ++++++++++++++++--- helm-chart/values.yaml.changelog.md | 1 + 15 files changed, 416 insertions(+), 14 deletions(-) create mode 100644 helm-chart/renku/templates/search/_helpers.tpl create mode 100644 helm-chart/renku/templates/search/search-api-deployment.yaml create mode 100644 helm-chart/renku/templates/search/search-api-service.yaml create mode 100644 helm-chart/renku/templates/search/search-provision-deployment.yaml create mode 100644 helm-chart/renku/templates/search/search-provision-service.yaml diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f87d60ce6e..f41da390c3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,24 @@ 0.50.x ------ +This release introduces new search functionality for Renku 2.0 + + +Internal Changes +~~~~~~~~~~~~~~~~ + +**New Features** + +- **Data services**: Initial support for project and user search for Renku 2.0 (alpha release) +- **Search services**: Initial support for project and user search for Renku 2.0 (alpha release) + +Individual Components +~~~~~~~~~~~~~~~~~~~~~ + +- `renku-data-services 0.6.0 `_ +- `renku-gateway 0.24.0 `_ +- `renku-search 0.0.37 `_ + 0.49.0 diff --git a/helm-chart/renku/requirements.yaml b/helm-chart/renku/requirements.yaml index b9b52d57cc..94ccd3df5e 100644 --- a/helm-chart/renku/requirements.yaml +++ b/helm-chart/renku/requirements.yaml @@ -32,3 +32,7 @@ dependencies: repository: "https://swissdatasciencecenter.github.io/helm-charts/" version: "0.1.7" condition: global.csi-rclone.install + - name: solr + repository: "oci://registry-1.docker.io/bitnamicharts" + version: "8.9.2" + condition: solr.enabled diff --git a/helm-chart/renku/templates/_helpers.tpl b/helm-chart/renku/templates/_helpers.tpl index b6c0a05df9..9dedf80850 100644 --- a/helm-chart/renku/templates/_helpers.tpl +++ b/helm-chart/renku/templates/_helpers.tpl @@ -57,6 +57,10 @@ Define subcharts full names {{- printf "%s-%s" .Release.Name "keycloakx" | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{- define "solr.fullname" -}} +{{- printf "%s-%s" .Release.Name "solr" | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + {{- define "gitlab.fullname" -}} {{- printf "%s-%s" .Release.Name "gitlab" | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} diff --git a/helm-chart/renku/templates/data-service/deployment.yaml b/helm-chart/renku/templates/data-service/deployment.yaml index 9c018bf973..470ff52d5b 100644 --- a/helm-chart/renku/templates/data-service/deployment.yaml +++ b/helm-chart/renku/templates/data-service/deployment.yaml @@ -22,6 +22,7 @@ spec: labels: app: renku-data-service release: {{ .Release.Name }} + {{ .Values.global.redis.clientLabel | toYaml | nindent 8 }} {{- with .Values.dataService.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} @@ -75,6 +76,21 @@ spec: value: {{ .Values.global.gitlab.url | quote }} - name: MAX_PINNED_PROJECTS value: {{ .Values.dataService.maxPinnedProjects | quote }} + - name: REDIS_HOST + value: {{ .Values.global.redis.host | quote }} + - name: REDIS_PORT + value: {{ .Values.global.redis.port | quote }} + - name: REDIS_DATABASE + value: {{ .Values.global.redis.dbIndex.events| quote }} + - name: REDIS_IS_SENTINEL + value: {{ .Values.global.redis.sentinel.enabled | quote }} + - name: REDIS_MASTER_SET + value: {{ .Values.global.redis.sentinel.masterSet | quote }} + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.redis.existingSecret }} + key: {{ .Values.global.redis.existingSecretPasswordKey }} {{- include "certificates.env.python" $ | nindent 12 }} volumeMounts: - name: server-options diff --git a/helm-chart/renku/templates/gateway/deployment-revproxy.yaml b/helm-chart/renku/templates/gateway/deployment-revproxy.yaml index 7ea68a8a1f..1cf3cc3419 100644 --- a/helm-chart/renku/templates/gateway/deployment-revproxy.yaml +++ b/helm-chart/renku/templates/gateway/deployment-revproxy.yaml @@ -69,6 +69,8 @@ spec: value: {{ printf "http://%s-gateway-auth" .Release.Name }} - name: REVPROXY_RENKU_SERVICES_DATA_SERVICE value: {{ printf "http://%s-data-service" .Release.Name | quote }} + - name: REVPROXY_RENKU_SERVICES_SEARCH + value: {{ printf "http://%s-search-api" .Release.Name | quote }} - name: REVPROXY_RENKU_SERVICES_KEYCLOAK value: {{ include "renku.keycloakUrl" . | quote }} - name: REVPROXY_PORT diff --git a/helm-chart/renku/templates/ingress.yaml b/helm-chart/renku/templates/ingress.yaml index 331fe98217..f19b563b91 100644 --- a/helm-chart/renku/templates/ingress.yaml +++ b/helm-chart/renku/templates/ingress.yaml @@ -12,6 +12,7 @@ {{- $graphEnabled := .Values.graph.enabled -}} {{- $webhookServiceFullname := include "renku.graph.webhookService.fullname" . -}} {{- $knowledgeGraphFullname := include "renku.graph.knowledgeGraph.fullname" . -}} +{{- $searchApiFullname := include "renku.search.searchApi.fullname" . -}} {{- $renkuFullname := include "renku.fullname" . -}} {{- if $graphEnabled }} {{- $jenaFullname := include "renku-jena.fullname" . -}} diff --git a/helm-chart/renku/templates/keycloak-users-sync-cronjob.yaml b/helm-chart/renku/templates/keycloak-users-sync-cronjob.yaml index c109f4875a..a8cfbac3b8 100644 --- a/helm-chart/renku/templates/keycloak-users-sync-cronjob.yaml +++ b/helm-chart/renku/templates/keycloak-users-sync-cronjob.yaml @@ -18,6 +18,7 @@ spec: metadata: labels: app: keycloak-sync + {{ .Values.global.redis.clientLabel | toYaml | nindent 12 }} spec: initContainers: {{- include "certificates.initContainer" . | nindent 12 }} @@ -48,6 +49,21 @@ spec: key: dataServiceKeycloakClientSecret - name: TOTAL_USER_SYNC value: "false" + - name: REDIS_HOST + value: {{ .Values.global.redis.host | quote }} + - name: REDIS_PORT + value: {{ .Values.global.redis.port | quote }} + - name: REDIS_DATABASE + value: {{ .Values.global.redis.dbIndex.events| quote }} + - name: REDIS_IS_SENTINEL + value: {{ .Values.global.redis.sentinel.enabled | quote }} + - name: REDIS_MASTER_SET + value: {{ .Values.global.redis.sentinel.masterSet | quote }} + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.redis.existingSecret }} + key: {{ .Values.global.redis.existingSecretPasswordKey }} {{- include "certificates.env.python" . | nindent 16 }} volumeMounts: {{- include "certificates.volumeMounts.system" . | nindent 16 }} @@ -64,6 +80,7 @@ metadata: heritage: {{ .Release.Service }} release: {{ .Release.Name }} chart: {{ template "renku.chart" . }} + {{ .Values.global.redis.clientLabel | toYaml | nindent 4 }} spec: schedule: "0 3 * * *" concurrencyPolicy: Forbid @@ -75,6 +92,7 @@ spec: metadata: labels: app: keycloak-sync + {{ .Values.global.redis.clientLabel | toYaml | nindent 12 }} spec: initContainers: {{- include "certificates.initContainer" . | nindent 12 }} @@ -105,6 +123,21 @@ spec: key: dataServiceKeycloakClientSecret - name: TOTAL_USER_SYNC value: "true" + - name: REDIS_HOST + value: {{ .Values.global.redis.host | quote }} + - name: REDIS_PORT + value: {{ .Values.global.redis.port | quote }} + - name: REDIS_DATABASE + value: {{ .Values.global.redis.dbIndex.events| quote }} + - name: REDIS_IS_SENTINEL + value: {{ .Values.global.redis.sentinel.enabled | quote }} + - name: REDIS_MASTER_SET + value: {{ .Values.global.redis.sentinel.masterSet | quote }} + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.redis.existingSecret }} + key: {{ .Values.global.redis.existingSecretPasswordKey }} {{- include "certificates.env.python" . | nindent 16 }} volumeMounts: {{- include "certificates.volumeMounts.system" . | nindent 16 }} diff --git a/helm-chart/renku/templates/search/_helpers.tpl b/helm-chart/renku/templates/search/_helpers.tpl new file mode 100644 index 0000000000..b37902d471 --- /dev/null +++ b/helm-chart/renku/templates/search/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "renku.search.searchApi.name" -}} +{{- "search-api" -}} +{{- end -}} + +{{- define "renku.search.searchProvision.name" -}} +{{- "search-provision" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "renku.search.searchApi.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- printf "%s-search-api" .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-search-api" .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} + +{{- define "renku.search.searchProvision.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- printf "%s-search-provision" .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-search-provision" .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} diff --git a/helm-chart/renku/templates/search/search-api-deployment.yaml b/helm-chart/renku/templates/search/search-api-deployment.yaml new file mode 100644 index 0000000000..106e1d2e35 --- /dev/null +++ b/helm-chart/renku/templates/search/search-api-deployment.yaml @@ -0,0 +1,80 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "renku.search.searchApi.fullname" . }} + labels: + app: {{ template "renku.search.searchApi.name" . }} + chart: {{ template "renku.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.search.searchApi.replicas }} + strategy: + type: Recreate + selector: + matchLabels: + app: {{ template "renku.search.searchApi.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "renku.search.searchApi.name" . }} + release: {{ .Release.Name }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + automountServiceAccountToken: {{ .Values.global.debug }} + containers: + - name: search-api + image: "{{ .Values.search.searchApi.image.repository }}:{{ .Values.search.searchApi.image.tag }}" + imagePullPolicy: {{ .Values.search.searchApi.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + env: + - name: RS_SOLR_URL + value: "http://{{ template "solr.fullname" . }}:{{ .Values.global.solr.port }}/solr" + - name: RS_SOLR_CORE + value: {{ first .Values.solr.coreNames }} + - name: RS_SOLR_USER + value: {{ default "admin" .Values.solr.auth.adminUsername | quote }} + - name: RS_SOLR_PASS + valueFrom: + secretKeyRef: + name: {{ template "solr.fullname" . }} + key: solr-password + - name: RS_SOLR_DEFAULT_COMMIT_WITHIN + value: "500ms" + - name: RS_SOLR_LOG_MESSAGE_BODIES + value: "false" + - name: JAVA_OPTS + value: "-Xmx{{ .Values.search.searchApi.jvmXmx }} -XX:+UseZGC -XX:+ZGenerational" + ports: + - name: http-search-api + containerPort: 8080 + protocol: TCP + livenessProbe: + httpGet: + path: /ping + port: http-search-api + readinessProbe: + httpGet: + path: /ping + port: http-search-api + resources: + {{- toYaml .Values.search.searchApi.resources | nindent 12 }} + volumeMounts: + {{- include "certificates.volumeMounts.javaCertsGeneral" . | nindent 12 }} + volumes: + {{- include "certificates.volumes" . | nindent 8 }} + {{- with .Values.nodeSelector }} +nodeSelector: + {{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} +affinity: + {{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} +tolerations: + {{ toYaml . | indent 8 }} + {{- end }} diff --git a/helm-chart/renku/templates/search/search-api-service.yaml b/helm-chart/renku/templates/search/search-api-service.yaml new file mode 100644 index 0000000000..0bff5aca6b --- /dev/null +++ b/helm-chart/renku/templates/search/search-api-service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "renku.search.searchApi.fullname" . }} + labels: + app: {{ template "renku.search.searchApi.name" . }} + chart: {{ template "renku.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: + prometheus.io/scrape: 'true' + prometheus.io/path: '/metrics' + prometheus.io/port: '8080' +spec: + type: {{ .Values.search.searchApi.service.type }} + ports: + - port: {{ .Values.search.searchApi.service.port }} + targetPort: http-search-api + protocol: TCP + name: http + selector: + app: {{ template "renku.search.searchApi.name" . }} + release: {{ .Release.Name }} diff --git a/helm-chart/renku/templates/search/search-provision-deployment.yaml b/helm-chart/renku/templates/search/search-provision-deployment.yaml new file mode 100644 index 0000000000..ce58800028 --- /dev/null +++ b/helm-chart/renku/templates/search/search-provision-deployment.yaml @@ -0,0 +1,93 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "renku.search.searchProvision.fullname" . }} + labels: + app: {{ template "renku.search.searchProvision.name" . }} + chart: {{ template "renku.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.search.searchProvision.replicas }} + strategy: + type: Recreate + selector: + matchLabels: + app: {{ template "renku.search.searchProvision.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "renku.search.searchProvision.name" . }} + release: {{ .Release.Name }} + # The label below enables to connect to redis + {{ .Values.global.redis.clientLabel | toYaml | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + automountServiceAccountToken: {{ .Values.global.debug }} + containers: + - name: search-provision + image: "{{ .Values.search.searchProvision.image.repository }}:{{ .Values.search.searchProvision.image.tag }}" + imagePullPolicy: {{ .Values.search.searchProvision.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + env: + - name: RS_REDIS_HOST + value: {{ .Values.global.redis.host | quote }} + - name: RS_REDIS_PORT + value: {{ .Values.global.redis.port | quote }} + - name: RS_REDIS_SENTINEL + value: {{ .Values.global.redis.sentinel.enabled | quote }} + - name: RS_REDIS_DB + value: {{ .Values.global.redis.dbIndex.events | quote }} + - name: RS_REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.redis.existingSecret }} + key: {{ .Values.global.redis.existingSecretPasswordKey }} + - name: RS_REDIS_MASTER_SET + value: {{ .Values.global.redis.sentinel.masterSet | quote }} + {{- range $k, $v := .Values.global.events.streams }} + - name: RS_REDIS_QUEUE_{{ $k }} + value: {{ $v }} + {{- end }} + - name: RS_SOLR_URL + value: "http://{{ template "solr.fullname" . }}:{{ .Values.global.solr.port }}/solr" + - name: RS_SOLR_CORE + value: {{ first .Values.solr.coreNames }} + - name: RS_SOLR_USER + value: {{ default "admin" .Values.solr.auth.adminUsername | quote }} + - name: RS_SOLR_PASS + valueFrom: + secretKeyRef: + name: {{ template "solr.fullname" . }} + key: solr-password + - name: RS_SOLR_DEFAULT_COMMIT_WITHIN + value: "500ms" + - name: RS_SOLR_LOG_MESSAGE_BODIES + value: "false" + - name: JAVA_OPTS + value: "-Xmx{{ .Values.search.searchProvision.jvmXmx }} -XX:+UseZGC -XX:+ZGenerational" + ports: + - name: http-searchprov + containerPort: 8081 + protocol: TCP + resources: + {{- toYaml .Values.search.searchProvision.resources | nindent 12 }} + volumeMounts: + {{- include "certificates.volumeMounts.javaCertsGeneral" . | nindent 12 }} + volumes: + {{- include "certificates.volumes" . | nindent 8 }} + {{- with .Values.nodeSelector }} +nodeSelector: + {{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} +affinity: + {{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} +tolerations: + {{ toYaml . | indent 8 }} + {{- end }} diff --git a/helm-chart/renku/templates/search/search-provision-service.yaml b/helm-chart/renku/templates/search/search-provision-service.yaml new file mode 100644 index 0000000000..b1aa6d4687 --- /dev/null +++ b/helm-chart/renku/templates/search/search-provision-service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "renku.search.searchProvision.fullname" . }} + labels: + app: {{ template "renku.search.searchProvision.name" . }} + chart: {{ template "renku.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: + prometheus.io/scrape: 'true' + prometheus.io/path: '/metrics' + prometheus.io/port: '8081' +spec: + type: {{ .Values.search.searchProvision.service.type }} + ports: + - port: {{ .Values.search.searchProvision.service.port }} + targetPort: http-searchprov + protocol: TCP + name: http + selector: + app: {{ template "renku.search.searchProvision.name" . }} + release: {{ .Release.Name }} diff --git a/helm-chart/renku/templates/swagger.yaml b/helm-chart/renku/templates/swagger.yaml index 370b6660da..17446ae4a8 100644 --- a/helm-chart/renku/templates/swagger.yaml +++ b/helm-chart/renku/templates/swagger.yaml @@ -29,7 +29,8 @@ spec: {"url": "/api/renku/spec.json", "name": "core service"}, {"url": "/api/kg/spec.json", "name": "knowledge graph"}, {"url": "/api/notebooks/spec.json", "name": "notebooks service"}, - {"url": "/api/data/spec.json", "name": "data service"} + {"url": "/api/data/spec.json", "name": "data service"}, + {"url": "/api/search/spec.json", "name": "search service"} ] - name: OAUTH2_REDIRECT_URL value: https://{{ .Values.global.renku.domain }}/swagger/oauth2-redirect.html diff --git a/helm-chart/renku/values.yaml b/helm-chart/renku/values.yaml index 754c358a4d..48453e5b74 100644 --- a/helm-chart/renku/values.yaml +++ b/helm-chart/renku/values.yaml @@ -79,6 +79,18 @@ global: ## for a new project based on its own version. ## NOTE should only be set for CI deployments and development purposes. cli_version: + ## Events related values definitions + events: + streams: + projectCreated: "project.created" + projectUpdated: "project.updated" + projectRemoved: "project.removed" + projectAuthAdded: "projectAuth.added" + projectAuthUpdated: "projectAuth.updated" + projectAuthRemoved: "projectAuth.removed" + userAdded: "user.added" + userUpdated: "user.updated" + userRemoved: "user.removed" ## Note that the graph will not turned on by default until renku 0.4.0 graph: dbEventLog: @@ -129,6 +141,10 @@ global: ## postgresql-password key containing the password for the posgres user. # existingSecret: + # Globally available solr (TBD) + solr: + port: 8983 + # Connection details for a globally used redis instance for the # entire platform. For specifying an actual instance as part of # this chart, check out the non-global "redis" section. @@ -138,6 +154,7 @@ global: gateway: "0" coreService: "1" uiServer: "2" + events: "3" # Note: these two entries MUST match the ones in the top level redis section. existingSecret: redis-secret existingSecretPasswordKey: redis-password @@ -472,6 +489,31 @@ redis: # default - making explicit sysctl: enabled: false +solr: + enabled: true + cloudEnabled: false + collectionReplicas: 0 + replicaCount: 1 + coreNames: + - renku-search + javaMem: "-Xmx512M" + networkPolicy: + allowExternal: false + extraIngress: + - ports: + - port: 8983 + from: + - podSelector: + matchLabels: + app: search-api + - podSelector: + matchLabels: + app: search-provision + persistence: + enabled: true + size: 8Gi + zookeeper: + enabled: false ## Gitlab configuration gitlab: ## Spawn a gitlab instance @@ -618,7 +660,7 @@ ui: replicaCount: 1 image: repository: renku/renku-ui - tag: "3.20.1" + tag: "3.21.0" pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. @@ -777,7 +819,7 @@ ui: keepCookies: [] image: repository: renku/renku-ui-server - tag: "3.20.1" + tag: "3.21.0" pullPolicy: IfNotPresent imagePullSecrets: [] nameOverride: "" @@ -922,7 +964,7 @@ notebooks: targetCPUUtilizationPercentage: 50 image: repository: renku/renku-notebooks - tag: "1.21.0" + tag: "1.22.0" pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. @@ -1040,15 +1082,15 @@ notebooks: gitRpcServer: image: name: renku/git-rpc-server - tag: "1.21.0" + tag: "1.22.0" gitHttpsProxy: image: name: renku/git-https-proxy - tag: "1.21.0" + tag: "1.22.0" gitClone: image: name: renku/git-clone - tag: "1.21.0" + tag: "1.22.0" service: type: ClusterIP port: 80 @@ -1101,12 +1143,12 @@ notebooks: sessionTypes: ["registered"] image: repository: renku/renku-notebooks-tests - tag: "1.21.0" + tag: "1.22.0" pullPolicy: IfNotPresent k8sWatcher: image: repository: renku/k8s-watcher - tag: "1.21.0" + tag: "1.22.0" pullPolicy: IfNotPresent resources: {} replicaCount: 1 @@ -1119,7 +1161,7 @@ notebooks: enabled: false image: repository: renku/ssh-jump-host - tag: "1.21.0" + tag: "1.22.0" pullPolicy: IfNotPresent resources: {} replicaCount: 1 @@ -1209,7 +1251,7 @@ gateway: ## Define the image for the auth middleware auth: repository: renku/renku-gateway - tag: "0.23.1" + tag: "0.24.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1245,7 +1287,7 @@ gateway: reverseProxy: image: repository: renku/renku-revproxy - tag: "0.23.0" + tag: "0.24.0" pullPolicy: IfNotPresent metrics: enabled: true @@ -1302,6 +1344,35 @@ jena: additionalInitContainerScript: "find /fuseki -name tdb.lock -type f -delete && find /fuseki/configuration -name *.ttl -type f -empty -delete && echo clean-up done" test: enabled: false +## Configuration for renku-search services +search: + searchApi: + replicas: 1 + image: + repository: renku/search-api + tag: "0.0.37" + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 80 + resources: + requests: + memory: 256Mi + jvmXmx: 256M + searchProvision: + replicas: 1 + image: + repository: renku/search-provision + tag: "0.0.37" + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 8081 + resources: + requests: + memory: 256Mi + jvmXmx: 256M +## Configuration for renku-graph services graph: webhookService: aesEncryptionKey: # A 8, 16 or 32 bytes string used for AES encryption of the project tokens @@ -1486,12 +1557,12 @@ initDb: dataService: image: repository: renku/renku-data-service - tag: "0.5.0" + tag: "0.6.0" pullPolicy: IfNotPresent keycloakSync: image: repository: renku/keycloak-sync - tag: "0.5.0" + tag: "0.6.0" pullPolicy: IfNotPresent service: type: ClusterIP diff --git a/helm-chart/values.yaml.changelog.md b/helm-chart/values.yaml.changelog.md index d2e57890a5..5f598defbd 100644 --- a/helm-chart/values.yaml.changelog.md +++ b/helm-chart/values.yaml.changelog.md @@ -74,6 +74,7 @@ it more flexible. * NEW `ui.client.privacy.page.configMapPolicyKey` the key in the ConfigMap where the content for the privacy policy is located. * NEW `ui.client.privacy.page.configMapTermsKey` the key in the ConfigMap where the content for the terms of use is located. + ## Upgrading to Renku 0.47.0 We completely overhauled how mounting cloud storage in sessions works, relying on a new CSI driver based on RClone