From 8981f2de52f2a8721693d093062871c54d62caa3 Mon Sep 17 00:00:00 2001 From: Vaibhav Pathak Date: Thu, 29 Jan 2026 15:45:07 +0530 Subject: [PATCH] mysql helm chart issue fixed --- catalog-info.yaml | 3 +-- helm/schedulerservice/Chart.yaml | 2 -- helm/schedulerservice/templates/deployment.yaml | 15 +++++++++++++++ helm/schedulerservice/values-local.yaml | 6 +++--- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/catalog-info.yaml b/catalog-info.yaml index b2af372..efb40db 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -15,8 +15,7 @@ metadata: helm.cnoe.io/chart-path: "helm/schedulerservice" helm.cnoe.io/values-file: "values-local.yaml" helm.cnoe.io/available-values-files: '["values.yaml", "values-local.yaml"]' - helm.cnoe.io/dependencies: '{"scheduling-mysql": {"name": "Scheduling MySQL Database", "required": true, "default": false, "shared": true, "sharedKey": "os-scheduling-db", "externalParams": [{"param": "externalDatabase.host", "label": "Database Host", "placeholder": "scheduling-mysql"}, {"param": "externalDatabase.port", "label": "Database Port", "placeholder": "3306"}, {"param": "externalDatabase.database", "label": "Database Name", "placeholder": "os_scheduling_db"}, {"param": "externalDatabase.username", "label": "Username", "placeholder": "scheduler_user"}, {"param": "externalDatabase.password", "label": "Password", "placeholder": "", "secret": true}]}}' - helm.cnoe.io/dependency-urls: '{}' + helm.cnoe.io/dependencies: '{}' tags: - java - kubernetes diff --git a/helm/schedulerservice/Chart.yaml b/helm/schedulerservice/Chart.yaml index 2461cf8..c3d3370 100644 --- a/helm/schedulerservice/Chart.yaml +++ b/helm/schedulerservice/Chart.yaml @@ -16,5 +16,3 @@ maintainers: home: https://github.com/onlinesales-ai/schedulerService sources: - https://github.com/onlinesales-ai/schedulerService -# MySQL is deployed as a shared dependency, not as a subchart -# Configure externalDatabase values to connect to the shared MySQL instance diff --git a/helm/schedulerservice/templates/deployment.yaml b/helm/schedulerservice/templates/deployment.yaml index f5907a0..71a829f 100644 --- a/helm/schedulerservice/templates/deployment.yaml +++ b/helm/schedulerservice/templates/deployment.yaml @@ -30,6 +30,21 @@ spec: serviceAccountName: {{ include "schedulerservice.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.externalDatabase.host }} + initContainers: + - name: wait-for-mysql + image: busybox:1.36 + command: + - sh + - -c + - | + echo "Waiting for MySQL at {{ .Values.externalDatabase.host }}:{{ .Values.externalDatabase.port }}..." + until nc -z {{ .Values.externalDatabase.host }} {{ .Values.externalDatabase.port }}; do + echo "MySQL not ready, waiting..." + sleep 5 + done + echo "MySQL is available!" + {{- end }} containers: - name: {{ .Chart.Name }} securityContext: diff --git a/helm/schedulerservice/values-local.yaml b/helm/schedulerservice/values-local.yaml index 74fcaf7..7e3106e 100644 --- a/helm/schedulerservice/values-local.yaml +++ b/helm/schedulerservice/values-local.yaml @@ -102,10 +102,10 @@ env: value: "DEBUG" # External Database configuration for local development -# MySQL is deployed as a shared dependency (scheduling-mysql) -# The shared MySQL service is deployed separately and shared with osSchedulesArgoSyncer +# MySQL is deployed as a separate shared-mysql component +# Service name uses release name: shared-mysql externalDatabase: - host: "scheduling-mysql" + host: "shared-mysql" port: "3306" database: "os_scheduling_db" username: "scheduler_user"