diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f13afbd06f..de5c0aa721 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,16 @@ .. _changelog: +0.42.0 +------ + +Renku ``0.42.0`` is a release that exclusively changes internal components and has no effect on the end-user. +Upgrades the PostgreSQL Helm chart version that is shipped with the Renku Helm chart. + +NOTE for administrators: make sure to check `helm-chart/values.yaml.changelog.md` for instructions on how to +upgrade to this version of Renku. +**Improvements** + +- **Infrastructure**: (BREAKING CHANGE) Upgrade the version of PostgreSQL to 15.3.0. This requires modifying your current values file to work with the new PostgreSQL Helm chart, see (`the helm chart values changelog `_) for instructions. 0.41.0 ------ @@ -621,11 +632,12 @@ Individual components - `renku-ui 3.10.0 `_ - `renku-notebooks 1.17.0 `_ - `amalthea 0.8.0 `_ +======= 0.32.0 ------ -Renku ``0.32.0`` introduces improvements in the KG services, enhancing KG overall performance. +Renku ``0.32.0`` introduces improvements in the KG services, enhancing KG overall performance. User-Facing Changes ~~~~~~~~~~~~~~~~~~~ diff --git a/helm-chart/renku/requirements.yaml b/helm-chart/renku/requirements.yaml index f7dcf199ae..32cefd6f4a 100644 --- a/helm-chart/renku/requirements.yaml +++ b/helm-chart/renku/requirements.yaml @@ -4,8 +4,8 @@ dependencies: version: 0.8.0 condition: gitlab.enabled - name: postgresql - version: 9.1.1 - repository: "https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami" + version: 12.6.8 + repository: "https://charts.bitnami.com/bitnami" condition: postgresql.enabled - name: keycloakx version: 2.1.0 diff --git a/helm-chart/renku/templates/setup-job-gitlab.yaml b/helm-chart/renku/templates/setup-job-gitlab.yaml index f01a4747d5..b6fc4cc58c 100644 --- a/helm-chart/renku/templates/setup-job-gitlab.yaml +++ b/helm-chart/renku/templates/setup-job-gitlab.yaml @@ -35,14 +35,14 @@ spec: {{ if .Values.global.externalServices.postgresql.enabled }} value: {{ .Values.global.externalServices.postgresql.username }} {{- else -}} - value: {{ .Values.postgresql.postgresqlUsername }} + value: {{ .Values.postgresql.auth.username }} {{- end }} {{- if not .Values.global.externalServices.postgresql.enabled }} - name: DB_ADMIN_PASSWORD valueFrom: secretKeyRef: name: "{{ template "postgresql.fullname" . }}" - key: postgresql-password + key: postgres-password {{- else if .Values.global.externalServices.postgresql.password }} - name: DB_ADMIN_PASSWORD value: {{ .Values.global.externalServices.postgresql.password }} @@ -51,7 +51,7 @@ spec: valueFrom: secretKeyRef: name: {{ .Values.global.externalServices.postgresql.existingSecret }} - key: postgresql-password + key: postgres-password {{- end }} - name: GITLAB_ENABLED value: {{ .Values.gitlab.enabled | quote }} diff --git a/helm-chart/renku/templates/setup-job-keycloak-db.yaml b/helm-chart/renku/templates/setup-job-keycloak-db.yaml index 4d3229b2f0..68736d5441 100644 --- a/helm-chart/renku/templates/setup-job-keycloak-db.yaml +++ b/helm-chart/renku/templates/setup-job-keycloak-db.yaml @@ -35,14 +35,14 @@ spec: {{ if .Values.global.externalServices.postgresql.enabled }} value: {{ .Values.global.externalServices.postgresql.username }} {{- else -}} - value: {{ .Values.postgresql.postgresqlUsername }} + value: {{ .Values.postgresql.auth.username }} {{- end }} {{- if not .Values.global.externalServices.postgresql.enabled }} - name: DB_ADMIN_PASSWORD valueFrom: secretKeyRef: name: "{{ template "postgresql.fullname" . }}" - key: postgresql-password + key: postgres-password {{- else if .Values.global.externalServices.postgresql.password }} - name: DB_ADMIN_PASSWORD value: {{ .Values.global.externalServices.postgresql.password }} @@ -51,7 +51,7 @@ spec: valueFrom: secretKeyRef: name: {{ .Values.global.externalServices.postgresql.existingSecret }} - key: postgresql-password + key: postgres-password {{- end }} - name: KEYCLOAK_DB_USERNAME value: {{ .Values.global.keycloak.postgresUser | quote }} diff --git a/helm-chart/renku/templates/setup-job-renku-dbs.yaml b/helm-chart/renku/templates/setup-job-renku-dbs.yaml index 50a49b7a7a..45dda94363 100644 --- a/helm-chart/renku/templates/setup-job-renku-dbs.yaml +++ b/helm-chart/renku/templates/setup-job-renku-dbs.yaml @@ -34,14 +34,14 @@ spec: {{ if .Values.global.externalServices.postgresql.enabled }} value: {{ .Values.global.externalServices.postgresql.username }} {{- else -}} - value: {{ .Values.postgresql.postgresqlUsername }} + value: {{ .Values.postgresql.auth.username }} {{- end }} {{- if not .Values.global.externalServices.postgresql.enabled }} - name: DB_ADMIN_PASSWORD valueFrom: secretKeyRef: name: "{{ template "postgresql.fullname" . }}" - key: postgresql-password + key: postgres-password {{- else if .Values.global.externalServices.postgresql.password }} - name: DB_ADMIN_PASSWORD value: {{ .Values.global.externalServices.postgresql.password }} @@ -50,7 +50,7 @@ spec: valueFrom: secretKeyRef: name: {{ .Values.global.externalServices.postgresql.existingSecret }} - key: postgresql-password + key: postgres-password {{- end }} - name: EVENTLOG_DB_USERNAME value: {{ .Values.global.graph.dbEventLog.postgresUser | quote }} diff --git a/helm-chart/renku/values.yaml b/helm-chart/renku/values.yaml index 0773742e74..633fe96086 100644 --- a/helm-chart/renku/values.yaml +++ b/helm-chart/renku/values.yaml @@ -83,9 +83,9 @@ global: version: 0.4.0 ## The CLI version used for newly created projects by the core service, ## if this is left blank then the core service will derive the CLI version - ## for a new project based on its own version. + ## for a new project based on its own version. ## NOTE should only be set for CI deployments and development purposes. - cli_version: + cli_version: ## Note that the graph will not turned on by default until renku 0.4.0 graph: dbEventLog: @@ -188,8 +188,12 @@ global: image: repository: renku/certificates tag: "0.0.2" - customCAs: [] + customCAs: + [] # - secret: + crc: + serviceName: renku-crc + ## Database credentials for postgres db: ## Used by the renku-data-services and potentially other backend services @@ -200,9 +204,6 @@ global: ## The secret is not re-generated or modified in any way if it already exists. passwordSecretName: renku-db-common-password - crc: - serviceName: renku-crc - ## Ingress configuration ## See: https://kubernetes.io/docs/concepts/services-networking/ingress/ ingress: @@ -364,41 +365,42 @@ keycloakx: # For production deployments check out # https://github.com/bitnami/charts/blob/master/bitnami/postgresql/values-production.yaml postgresql: - # If an external Postgres database is defined in global.externalServices.postgresql, - # postgresql.enabled should be false, and global.externalServices.postgresql.enabled should be true. - # By default, Renku-bundled Postgres is enabled. - enabled: true + ## We use the defaults here. Note that these basic configs could also be set as + ## global values such that sub-charts can access them too. - ## We use the defaults here. - postgresqlDatabase: postgres - postgresqlUsername: postgres + auth: + username: postgres + database: postgres - ## The admin password should be set explicitly, otherwise a random string will be created. - ## Alternatively an existing secret can be provided. Note that postgres - ## DOES NOT tolerate a change of the admin password when upgrading. - # postgresqlPassword: + ## The admin password should be set explicitly, otherwise a random string will be + ## created. Alternatively an existing secret can be provided. Note that postgres + ## DOES NOT tolerate a change of the admin password when upgrading. + # postgresqlPassword: - ## Use an existing secret instead of creating a new one. It must have a - ## postgresql-password key containing the password for the posgres user. - # existingSecret: + ## Use an existing secret instead of creating a new one. It must have a + ## postgresql-password key containing the password for the postgres user. + # existingSecret: - image: - repository: bitnami/postgresql - tag: 12.8.0 + # Consider replication. These are the defaults for the basic settings. + # replicationUsername: repl_user + # replicationPassword: repl_password # generate a random password `openssl rand -hex 32` - persistence: - ## We use the defaults here, but they will probably be modified for most deployments. - enabled: true - size: 8Gi - ## Provide an existing PersistentVolumeClaim to be reused. - # existingClaim: + # image: + # repository: bitnami/postgresql + # tag: - # Consider replication. These are the defaults for the basic settings. - replication: - enabled: false - user: repl_user - password: repl_password # generate a random password `openssl rand -hex 32` - slaveReplicas: 1 + primary: + persistence: + ## We use the defaults here, but they will probably be modified for most deployments. + enabled: true + size: 8Gi + ## Provide an existing PersistentVolumeClaim to be reused. + # existingClaim: + + # Consider replication. These are the defaults for the basic settings. + readReplicas: + enabled: false + replicaCount: 1 redis: ########################################################################### @@ -687,7 +689,8 @@ ui: ingress: enabled: false - resources: {} + resources: + {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following @@ -814,10 +817,8 @@ ui: # To showcase projects, provide the identifier following the structure below # title, description, and imageUrl can be overridden, as illustrated below, if desired. projects: - - - identifier: hdbi/data-management/cccooci - - - identifier: renku-ui-tests/stable-project + - identifier: hdbi/data-management/cccooci + - identifier: renku-ui-tests/stable-project overrideTitle: "Stable Project: A project for testing" overrideDescription: "This is a project for **testing**. You may find it useful to look at." overrideImageUrl: https://gitlab.renkulab.io/uploads/-/system/project/avatar/36159/graphical_abstract.png @@ -873,7 +874,8 @@ ui: ingress: enabled: false - annotations: {} + annotations: + {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" hosts: @@ -1167,7 +1169,8 @@ notebooks: ingress: enabled: false - annotations: {} + annotations: + {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" path: / @@ -1178,7 +1181,8 @@ notebooks: # hosts: # - chart-example.local - resources: {} + resources: + {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following @@ -1264,7 +1268,6 @@ notebooks: ## Used for testing - should be set to false for production dummyStores: false - tests: enabled: false image: @@ -1338,7 +1341,8 @@ gateway: type: ClusterIP port: 80 - resources: {} + resources: + {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following @@ -1430,7 +1434,7 @@ graph: webhookService: image: repository: renku/webhook-service - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1450,7 +1454,7 @@ graph: tokenRepository: image: repository: renku/token-repository - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1462,10 +1466,10 @@ graph: jvmXmx: 128M gitlab: rateLimit: 50/sec - projectTokenTTL: '365 days' + projectTokenTTL: "365 days" # name of the Project Access Tokens to be created on behalf of the user in GitLab; defaults to .Release.Name projectTokenName: - projectTokenDuePeriod: '184 days' + projectTokenDuePeriod: "184 days" connectionPool: 2 tokenEncryption: ## A secret for signing access tokens stored in the database @@ -1476,7 +1480,7 @@ graph: replicas: 1 image: repository: renku/triples-generator - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1499,7 +1503,7 @@ graph: replicas: 1 image: repository: renku/knowledge-graph - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1519,7 +1523,7 @@ graph: eventLog: image: repository: renku/event-log - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1535,7 +1539,7 @@ graph: commitEventService: image: repository: renku/commit-event-service - tag: '2.43.0' + tag: "2.43.0" pullPolicy: IfNotPresent service: type: ClusterIP @@ -1549,9 +1553,9 @@ graph: sentry: enabled: false - dsn: '' # Sentry dsn - sentryDsnRenkuPython: '' # Sentry dsn for renku CLI - environment: '' # Environment name e.g. renkulabio + dsn: "" # Sentry dsn + sentryDsnRenkuPython: "" # Sentry dsn for renku CLI + environment: "" # Environment name e.g. renkulabio persistence: enabled: true @@ -1565,7 +1569,6 @@ graph: accessMode: ReadWriteOnce size: 2Gi - ## Configuration for renku-core service core: apiBasePath: /api diff --git a/helm-chart/utils/postgres_migrations/version_upgrades/psql_dump.yaml b/helm-chart/utils/postgres_migrations/version_upgrades/psql_dump.yaml index 393c415139..c630909dbf 100644 --- a/helm-chart/utils/postgres_migrations/version_upgrades/psql_dump.yaml +++ b/helm-chart/utils/postgres_migrations/version_upgrades/psql_dump.yaml @@ -27,7 +27,7 @@ spec: valueFrom: secretKeyRef: name: renku-postgresql ## EDIT(optional) - most likely -postgresql - key: postgresql-password + key: postgres-password ports: - containerPort: 5432 volumeMounts: @@ -81,7 +81,7 @@ spec: valueFrom: secretKeyRef: name: renku-postgresql ## EDIT(optional) - most likely -postgresql - key: postgresql-password + key: postgres-password volumeMounts: - mountPath: /psql-dump-data/ name: pg-vol-tmp diff --git a/helm-chart/utils/postgres_migrations/version_upgrades/psql_load.yaml b/helm-chart/utils/postgres_migrations/version_upgrades/psql_load.yaml index d4395019f2..1ad02e0d18 100644 --- a/helm-chart/utils/postgres_migrations/version_upgrades/psql_load.yaml +++ b/helm-chart/utils/postgres_migrations/version_upgrades/psql_load.yaml @@ -28,7 +28,7 @@ spec: valueFrom: secretKeyRef: name: renku-postgresql ## EDIT(optional) - most likely -postgresql - key: postgresql-password + key: postgres-password volumeMounts: - mountPath: /bitnami/postgresql name: pg-vol-new @@ -80,7 +80,7 @@ spec: valueFrom: secretKeyRef: name: renku-postgresql ## EDIT(optional) - most likely -postgresql - key: postgresql-password + key: postgres-password volumeMounts: - mountPath: /psql-dump-data/ name: pg-vol-tmp diff --git a/helm-chart/values.yaml.changelog.md b/helm-chart/values.yaml.changelog.md index b59cb3e684..1650574a15 100644 --- a/helm-chart/values.yaml.changelog.md +++ b/helm-chart/values.yaml.changelog.md @@ -5,6 +5,47 @@ For changes that require manual steps other than changing values, please check o Please follow this convention when adding a new row * ` - **:
` +## Upgrading to Renku 0.42.0 +* NEW/EDIT - *postgresql.persistence.existingClaim*: Renku `0.33.0` upgrades the postgres chart dependency, which requires modification of the postgres data volume of existing deployments. See [these instructions](https://github.com/SwissDataScienceCenter/renku/tree/master/helm-chart/utils/postgres_migrations/version_upgrades/README.md) +* EDIT - *postgresql*: The upgrade of the postgres chart dependency requires some restructuring of the postgres subchart values to match those of bitnami/postgresql chart version 12.6.8, namely: + +Old + ``` + postgresql: + postgresqlDatabase: + postgresqlUsername: + postgresqlPassword: + existingSecret: + persistence: + enabled: + size: + existingClaim: + replication: + enabled: + user: + password: + slaveReplicas: + ``` +New + ``` + postgresql: + auth: + username: + database: + postgresqlPassword: + existingSecret: + replicationUsername: + replicationPassword: + primary: + persistence: + enabled: + size: + existingClaim: + readReplicas: + enabled: + replicaCount: + ``` + ## Upgrading to Renku 0.41.0 The UI includes a feature that allows projects to be displayed in the _Showcase_ section of the RenkuLab home page.