From 41698ec8d53a1f8c9897e9ef69d5e5dca21a352e Mon Sep 17 00:00:00 2001 From: Steve Salas Date: Wed, 25 Mar 2026 16:08:26 -0400 Subject: [PATCH 1/2] feat: Upgrade to MariaDB v1.41.0 - Unpin MariaDB v1.38.0 --- .version/Jenkinsfile | 2 +- setup/core/setup.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.version/Jenkinsfile b/.version/Jenkinsfile index 6a9eceb..3a168ad 100644 --- a/.version/Jenkinsfile +++ b/.version/Jenkinsfile @@ -112,7 +112,7 @@ pipeline { } codeDxVersion = currentVersions[0] - mariaDBVersion = 'v1.38.0' // currentVersions[1] + mariaDBVersion = currentVersions[1] // Note: v1.34.0 is the most recent TO version that the legacy K8s chart (codedx-kubernetes) supports toolOrchestrationVersion = 'v1.34.0' // Note: v1.34.0 is the most recent Workflow version that the legacy K8s chart (codedx-kubernetes) supports diff --git a/setup/core/setup.ps1 b/setup/core/setup.ps1 index 20cd759..07f3d19 100644 --- a/setup/core/setup.ps1 +++ b/setup/core/setup.ps1 @@ -1,5 +1,5 @@ <#PSScriptInfo -.VERSION 2.17.1 +.VERSION 2.18.0 .GUID 47733b28-676e-455d-b7e8-88362f442aa3 .AUTHOR Black Duck .COPYRIGHT Copyright 2024 Black Duck Software, Inc. All rights reserved. @@ -66,7 +66,7 @@ param ( [string] $imagePreDelete = 'codedx/codedx-cleanup:v1.34.0', [string] $imageCodeDxTomcatInit = 'codedx/codedx-tomcat:v2026.3.1', - [string] $imageMariaDB = 'codedx/codedx-mariadb:v1.38.0', + [string] $imageMariaDB = 'codedx/codedx-mariadb:v1.41.0', [string] $imageMinio = 'bitnami/minio:2021.4.6-debian-10-r11', [string] $imageWorkflowController = 'codedx/codedx-workflow-controller:v2.18.0', [string] $imageWorkflowExecutor = 'codedx/codedx-argoexec:v2.18.0', From 28c58d4c52b2e96ba534eb87aeaae9818847c37c Mon Sep 17 00:00:00 2001 From: Steve Salas Date: Mon, 30 Mar 2026 13:24:34 -0400 Subject: [PATCH 2/2] feat: Upgrade to MariaDB v1.41.0 --- setup/core/README.md | 2 +- setup/core/charts/codedx/Chart.yaml | 4 +-- setup/core/charts/codedx/values.yaml | 45 ++++++++++++++++---------- setup/core/common/codedx.ps1 | 47 +++++++++++++++++----------- setup/core/common/mariadb.ps1 | 2 +- setup/core/common/velero.ps1 | 2 +- setup/core/setup.ps1 | 15 ++++++--- setup/steps/ephemeralstorage.ps1 | 2 +- 8 files changed, 74 insertions(+), 45 deletions(-) diff --git a/setup/core/README.md b/setup/core/README.md index 19bfdd6..fa50a55 100644 --- a/setup/core/README.md +++ b/setup/core/README.md @@ -43,7 +43,7 @@ This section describes the setup.ps1 script parameters, which you can specify by | `minioCPUReservation` | CPU request and limit for MinIO | `2` (example) | | `workflowCPUReservation` | CPU request and limit for workflow controller | `2` (example) | | | | | -| `codeDxEphemeralStorageReservation` | storage request and limit for Code Dx | `2868Mi` | +| `codeDxEphemeralStorageReservation` | storage request and limit for Code Dx | `3368Mi` | | `dbMasterEphemeralStorageReservation` | storage request and limit for the master database | `2Gi` (example) | | `dbSlaveEphemeralStorageReservation` | storage request and limit for slave databases | `2Gi` (example) | | `toolServiceEphemeralStorageReservation` | storage request and limit for the tool service | `2Gi` (example) | diff --git a/setup/core/charts/codedx/Chart.yaml b/setup/core/charts/codedx/Chart.yaml index fa3a4c6..b64d05f 100644 --- a/setup/core/charts/codedx/Chart.yaml +++ b/setup/core/charts/codedx/Chart.yaml @@ -17,8 +17,8 @@ sources: - https://hub.docker.com/r/bitnami/mariadb dependencies: - name: mariadb - version: 7.4.3 - repository: https://codedx.github.io/codedx-kubernetes + version: 7.10.0 + repository: https://codedx.github.io/srm-k8s condition: mariadb.enabled maintainers: - name: tylercamp diff --git a/setup/core/charts/codedx/values.yaml b/setup/core/charts/codedx/values.yaml index 129ec6a..eb79629 100644 --- a/setup/core/charts/codedx/values.yaml +++ b/setup/core/charts/codedx/values.yaml @@ -564,31 +564,39 @@ mariadb: maxUnavailable: 0 config: |- [mysqld] + init_file=/docker-entrypoint-initdb.d/runalways-setup.sql skip-name-resolve explicit_defaults_for_timestamp - basedir=/opt/bitnami/mariadb + basedir=/usr + datadir=/mariadb/data/ port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - tmpdir=/opt/bitnami/mariadb/tmp + socket=/usr/tmp/mysqld.sock + tmpdir=/usr/tmp max_allowed_packet=16M bind-address=0.0.0.0 - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid - log-error=/opt/bitnami/mariadb/logs/mysqld.log + pid-file=/usr/tmp/mysqld.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci optimizer_search_depth=0 lower_case_table_names=1 innodb_flush_log_at_trx_commit=0 + log_bin_trust_function_creators=1 + expire_logs_days=5 + server-id=1 + log-bin=mysql-bin [client] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock + socket=/usr/tmp/mysqld.sock [manager] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid + socket=/usr/tmp/mysqld.sock + pid-file=/usr/tmp/mysqld.pid slave: + extraEnvVars: + - name: MARIADB_ROOT_PASSWORD_FILE + value: /usr/secrets/mariadb-root-password persistence: # Use default storage class for master/slave PVCs storageClass: @@ -606,25 +614,30 @@ mariadb: [mysqld] skip-name-resolve explicit_defaults_for_timestamp - basedir=/opt/bitnami/mariadb + basedir=/usr + datadir=/mariadb/data/ port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - tmpdir=/opt/bitnami/mariadb/tmp + socket=/usr/tmp/mysqld.sock + tmpdir=/usr/tmp max_allowed_packet=16M bind-address=0.0.0.0 - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid - log-error=/opt/bitnami/mariadb/logs/mysqld.log + pid-file=/usr/tmp/mysqld.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci optimizer_search_depth=0 lower_case_table_names=1 innodb_flush_log_at_trx_commit=0 + log_bin_trust_function_creators=1 + expire_logs_days=5 + server-id=2 + log-bin=mysql-bin + relay-log=mysql-relay-bin [client] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock + socket=/usr/tmp/mysqld.sock [manager] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid + socket=/usr/tmp/mysqld.sock + pid-file=/usr/tmp/mysqld.pid diff --git a/setup/core/common/codedx.ps1 b/setup/core/common/codedx.ps1 index 51af7b4..a3d8086 100644 --- a/setup/core/common/codedx.ps1 +++ b/setup/core/common/codedx.ps1 @@ -167,15 +167,15 @@ function New-CodeDxDeploymentValuesFile([string] $codeDxDnsName, $masterDatabaseTlsConfig = '' if ('' -ne $dbMasterTlsSecretName) { $masterDatabaseTlsConfig = @' - ssl_cert=/bitnami/mariadb/tls/cert/tls.crt - ssl_key=/bitnami/mariadb/tls/cert/tls.key + ssl_cert=/mariadb/tls/cert/tls.crt + ssl_key=/mariadb/tls/cert/tls.key '@ } $masterDatabaseTlsCaConfig = '' if ('' -ne $dbMasterTlsCaConfigMapName) { $masterDatabaseTlsCaConfig = @' - ssl_ca=/bitnami/mariadb/tls/ca/ca.crt + ssl_ca=/mariadb/tls/ca/ca.crt '@ } @@ -280,16 +280,17 @@ mariadb: size: {10}Gi config: |- [mysqld] + init_file=/docker-entrypoint-initdb.d/runalways-setup.sql skip-name-resolve explicit_defaults_for_timestamp - basedir=/opt/bitnami/mariadb + basedir=/usr + datadir=/mariadb/data/ port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - tmpdir=/opt/bitnami/mariadb/tmp + socket=/usr/tmp/mysqld.sock + tmpdir=/usr/tmp max_allowed_packet=16M bind-address=0.0.0.0 - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid - log-error=/opt/bitnami/mariadb/logs/mysqld.log + pid-file=/usr/tmp/mysqld.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci optimizer_search_depth=0 @@ -297,22 +298,27 @@ mariadb: innodb_flush_log_at_trx_commit=0 log_bin_trust_function_creators=1 expire_logs_days=5 + server-id=1 + log-bin=mysql-bin {50} {51} [client] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock + socket=/usr/tmp/mysqld.sock [manager] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid + socket=/usr/tmp/mysqld.sock + pid-file=/usr/tmp/mysqld.pid annotations: {45} nodeSelector: {32} tolerations: {35} {19} slave: + extraEnvVars: + - name: MARIADB_ROOT_PASSWORD_FILE + value: /usr/secrets/mariadb-root-password replicas: {15} persistence: storageClass: {52} @@ -323,14 +329,14 @@ mariadb: [mysqld] skip-name-resolve explicit_defaults_for_timestamp - basedir=/opt/bitnami/mariadb + basedir=/usr + datadir=/mariadb/data/ port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - tmpdir=/opt/bitnami/mariadb/tmp + socket=/usr/tmp/mysqld.sock + tmpdir=/usr/tmp max_allowed_packet=16M bind-address=0.0.0.0 - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid - log-error=/opt/bitnami/mariadb/logs/mysqld.log + pid-file=/usr/tmp/mysqld.pid character-set-server=utf8mb4 collation-server=utf8mb4_general_ci optimizer_search_depth=0 @@ -338,16 +344,19 @@ mariadb: innodb_flush_log_at_trx_commit=0 log_bin_trust_function_creators=1 expire_logs_days=5 + server-id=2 + log-bin=mysql-bin + relay-log=mysql-relay-bin [client] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock + socket=/usr/tmp/mysqld.sock {51} [manager] port=3306 - socket=/opt/bitnami/mariadb/tmp/mysql.sock - pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid + socket=/usr/tmp/mysqld.sock + pid-file=/usr/tmp/mysqld.pid annotations: {46} nodeSelector: {33} tolerations: {36} diff --git a/setup/core/common/mariadb.ps1 b/setup/core/common/mariadb.ps1 index e14ae42..09633fe 100644 --- a/setup/core/common/mariadb.ps1 +++ b/setup/core/common/mariadb.ps1 @@ -43,7 +43,7 @@ spec: command: ["/bin/bash"] args: ["-c", "/home/sdb/restore"] volumeMounts: - - mountPath: /bitnami/mariadb + - mountPath: /mariadb name: data - mountPath: /home/sdb/cfg name: rootpwd diff --git a/setup/core/common/velero.ps1 b/setup/core/common/velero.ps1 index d584320..cd6810f 100644 --- a/setup/core/common/velero.ps1 +++ b/setup/core/common/velero.ps1 @@ -86,7 +86,7 @@ spec: command: - /bin/bash - -c - - /bitnami/mariadb/scripts/backup.sh && sleep {1} + - /mariadb/scripts/backup.sh && sleep {1} timeout: '{2}' '@ -f $codeDxNamespace, ` $backupLagTime, ` diff --git a/setup/core/setup.ps1 b/setup/core/setup.ps1 index 07f3d19..05a904a 100644 --- a/setup/core/setup.ps1 +++ b/setup/core/setup.ps1 @@ -47,7 +47,7 @@ param ( [string] $minioCPUReservation, [string] $workflowCPUReservation, - [string] $codeDxEphemeralStorageReservation = '2868Mi', + [string] $codeDxEphemeralStorageReservation = '3368Mi', [string] $dbMasterEphemeralStorageReservation, [string] $dbSlaveEphemeralStorageReservation, [string] $toolServiceEphemeralStorageReservation, @@ -178,6 +178,7 @@ param ( [Tuple`2[string,string]] $toolNoScheduleExecuteToleration, [switch] $pauseAfterGitClone, + [switch] $skipGitClone, [switch] $useHelmOperator, [switch] $useHelmController, @@ -606,9 +607,15 @@ $repoDirectory,$oldRepoDirectory | ForEach-Object { } } -Invoke-GitClone $codedxGitRepo $codedxGitRepoBranch $repoDirectory -if ($pauseAfterGitClone) { - Read-Host -Prompt 'git clone complete, press Enter to continue...' | Out-Null +if ($skipGitClone) { + $localRepoRoot = join-path $PSScriptRoot '../..' + Write-Verbose "Copying local repo from $localRepoRoot to $repoDirectory..." + Copy-Item -Path $localRepoRoot -Destination $repoDirectory -Recurse -Force +} else { + Invoke-GitClone $codedxGitRepo $codedxGitRepoBranch $repoDirectory + if ($pauseAfterGitClone) { + Read-Host -Prompt 'git clone complete, press Enter to continue...' | Out-Null + } } $defaultHelmRepo = 'https://codedx.github.io/codedx-kubernetes' diff --git a/setup/steps/ephemeralstorage.ps1 b/setup/steps/ephemeralstorage.ps1 index 1b8068d..f36d412 100644 --- a/setup/steps/ephemeralstorage.ps1 +++ b/setup/steps/ephemeralstorage.ps1 @@ -162,7 +162,7 @@ class CodeDxEphemeralStorage : EphemeralStorageStep { } [string]GetDefault() { - return '2868Mi' + return '3368Mi' } }