From d2c6ba484fff60086617f86739125ca40b9f7f36 Mon Sep 17 00:00:00 2001 From: Ondrej Metelka Date: Fri, 10 Oct 2025 16:43:53 +0200 Subject: [PATCH 1/2] Add dataverse-exporter to bundle --- Makefile | 4 +++- bundle.Dockerfile | 2 ++ .../lightspeed-operator.clusterserviceversion.yaml | 1 + cmd/main.go | 10 ++++++++-- config/default/kustomization.yaml | 3 +++ .../lightspeed-operator.clusterserviceversion.yaml | 10 ++++++---- hack/snapshot_to_image_list.sh | 11 +++++++++++ hack/template_bundle.Containerfile | 2 ++ hack/update_bundle.sh | 9 ++++++++- internal/controller/constants.go | 2 ++ related_images.json | 4 ++++ 11 files changed, 50 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index da3f5c248..5155ed650 100644 --- a/Makefile +++ b/Makefile @@ -211,10 +211,12 @@ LIGHTSPEED_SERVICE_IMG ?= quay.io/openshift-lightspeed/lightspeed-service-api:la LIGHTSPEED_SERVICE_POSTGRES_IMG ?= registry.redhat.io/rhel9/postgresql-16@sha256:42f385ac3c9b8913426da7c57e70bc6617cd237aaf697c667f6385a8c0b0118b CONSOLE_PLUGIN_IMG ?= quay.io/openshift-lightspeed/lightspeed-console-plugin:latest OPENSHIFT_MCP_SERVER_IMG ?= quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 +DATAVERSE_EXPORTER_IMG ?= quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722 + .PHONY: run run: manifests generate fmt vet ## Run a controller from your host. #TODO: Update DB - go run ./cmd/main.go --service-image="$(LIGHTSPEED_SERVICE_IMG)" --postgres-image="$(LIGHTSPEED_SERVICE_POSTGRES_IMG)" --console-image="$(CONSOLE_PLUGIN_IMG)" --openshift-mcp-server-image="$(OPENSHIFT_MCP_SERVER_IMG)" + go run ./cmd/main.go --service-image="$(LIGHTSPEED_SERVICE_IMG)" --postgres-image="$(LIGHTSPEED_SERVICE_POSTGRES_IMG)" --console-image="$(CONSOLE_PLUGIN_IMG)" --openshift-mcp-server-image="$(OPENSHIFT_MCP_SERVER_IMG)" --dataverse-exporter-image="$(DATAVERSE_EXPORTER_IMG)" # If you wish built the manager image targeting other platforms you can use the --platform flag. # (i.e. docker build --platform linux/arm64 ). However, you must enable docker buildKit for it. diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 7fadfcee0..3cf47aad1 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -5,6 +5,7 @@ ARG OPERATOR_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-operator:lat ARG SERVICE_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-service-api:latest ARG CONSOLE_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-console-plugin:latest ARG OPENSHIFT_MCP_SERVER_IMAGE_ORIGINAL=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 +ARG DATAVERSE_EXPORTER_IMAGE_ORIGINAL=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722 RUN microdnf install -y jq @@ -15,6 +16,7 @@ RUN OPERATOR_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-operator") | .imag RUN SERVICE_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-service-api") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${SERVICE_IMAGE_ORIGINAL}|${SERVICE_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml RUN CONSOLE_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-console-plugin") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${CONSOLE_IMAGE_ORIGINAL}|${CONSOLE_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml RUN OPENSHIFT_MCP_SERVER_IMAGE=$(jq -r '.[] | select(.name == "openshift-mcp-server") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${OPENSHIFT_MCP_SERVER_IMAGE_ORIGINAL}|${OPENSHIFT_MCP_SERVER_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml +RUN DATAVERSE_EXPORTER_IMAGE=$(jq -r '.[] | select(.name == "dataverse-exporter") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${DATAVERSE_EXPORTER_IMAGE_ORIGINAL}|${DATAVERSE_EXPORTER_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml FROM registry.redhat.io/ubi9/ubi-minimal:9.6 diff --git a/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml b/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml index 0f5d32f7e..f65406090 100644 --- a/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml +++ b/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml @@ -589,6 +589,7 @@ spec: - --console-image=quay.io/openshift-lightspeed/lightspeed-console-plugin:latest - --postgres-image=registry.redhat.io/rhel9/postgresql-16@sha256:42f385ac3c9b8913426da7c57e70bc6617cd237aaf697c667f6385a8c0b0118b - --openshift-mcp-server-image=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 + - --dataverse-exporter-image=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722 command: - /manager env: diff --git a/cmd/main.go b/cmd/main.go index f68a4c859..ebf8a169c 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -66,6 +66,7 @@ var ( "postgres-image": controller.PostgresServerImageDefault, "console-plugin": controller.ConsoleUIImageDefault, "openshift-mcp-server-image": controller.OpenShiftMCPServerImageDefault, + "dataverse-exporter-image": controller.DataverseExporterImageDefault, } ) @@ -82,7 +83,7 @@ func init() { // overrideImages overides the default images with the images provided by the user // if an images is not provided, the default is used. -func overrideImages(serviceImage string, consoleImage string, consoleImage_pf5 string, postgresImage string, openshiftMCPServerImage string) map[string]string { +func overrideImages(serviceImage string, consoleImage string, consoleImage_pf5 string, postgresImage string, openshiftMCPServerImage string, dataverseExporterImage string) map[string]string { res := defaultImages if serviceImage != "" { res["lightspeed-service"] = serviceImage @@ -99,6 +100,9 @@ func overrideImages(serviceImage string, consoleImage string, consoleImage_pf5 s if openshiftMCPServerImage != "" { res["openshift-mcp-server-image"] = openshiftMCPServerImage } + if dataverseExporterImage != "" { + res["dataverse-exporter-image"] = dataverseExporterImage + } return res } @@ -130,6 +134,7 @@ func main() { var namespace string var postgresImage string var openshiftMCPServerImage string + var dataverseExporterImage string flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.") flag.BoolVar(&enableLeaderElection, "leader-elect", false, @@ -147,6 +152,7 @@ func main() { flag.StringVar(&namespace, "namespace", "", "The namespace where the operator is deployed.") flag.StringVar(&postgresImage, "postgres-image", controller.PostgresServerImageDefault, "The image of the PostgreSQL server.") flag.StringVar(&openshiftMCPServerImage, "openshift-mcp-server-image", controller.OpenShiftMCPServerImageDefault, "The image of the OpenShift MCP server container.") + flag.StringVar(&dataverseExporterImage, "dataverse-exporter-image", controller.DataverseExporterImageDefault, "The image of the dataverse exporter container.") opts := zap.Options{ Development: true, } @@ -159,7 +165,7 @@ func main() { namespace = getWatchNamespace() } - imagesMap := overrideImages(serviceImage, consoleImage, consoleImage_pf5, postgresImage, openshiftMCPServerImage) + imagesMap := overrideImages(serviceImage, consoleImage, consoleImage_pf5, postgresImage, openshiftMCPServerImage, dataverseExporterImage) setupLog.Info("Images setting loaded", "images", listImages()) setupLog.Info("Starting the operator", "metricsAddr", metricsAddr, "probeAddr", probeAddr, "reconcilerIntervalMinutes", reconcilerIntervalMinutes, "certDir", certDir, "certName", certName, "keyName", keyName, "namespace", namespace) // Get K8 client and context diff --git a/config/default/kustomization.yaml b/config/default/kustomization.yaml index 14f839b10..659e0ecc6 100644 --- a/config/default/kustomization.yaml +++ b/config/default/kustomization.yaml @@ -43,6 +43,9 @@ patches: - op: add path: /spec/template/spec/containers/0/args/- value: --openshift-mcp-server-image=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 + - op: add + path: /spec/template/spec/containers/0/args/- + value: --dataverse-exporter-image=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722 - op: replace path: /spec/template/spec/containers/0/image value: quay.io/openshift-lightspeed/lightspeed-operator:latest diff --git a/config/manifests/bases/lightspeed-operator.clusterserviceversion.yaml b/config/manifests/bases/lightspeed-operator.clusterserviceversion.yaml index 4ed5b3cb8..6943d27f5 100644 --- a/config/manifests/bases/lightspeed-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/lightspeed-operator.clusterserviceversion.yaml @@ -47,8 +47,9 @@ spec: - description: The name of the secret object that stores API provider credentials displayName: Credential Secret path: llm.providers[0].credentialsSecretRef - - description: 'Feature Gates holds list of features to be enabled explicitly, - otherwise they are disabled by default. possible values: MCPServer' + - description: |- + Feature Gates holds list of features to be enabled explicitly, otherwise they are disabled by default. + possible values: MCPServer displayName: Feature Gates path: featureGates - displayName: LLM Settings @@ -252,8 +253,9 @@ spec: - description: The configmap holding proxy CA certificate displayName: Proxy CA Certificate path: ols.proxyConfig.proxyCACertificate - - description: Proxy URL, e.g. https://proxy.example.com:8080 If not specified, - the cluster wide proxy will be used, though env var "https_proxy". + - description: |- + Proxy URL, e.g. https://proxy.example.com:8080 + If not specified, the cluster wide proxy will be used, though env var "https_proxy". displayName: Proxy URL path: ols.proxyConfig.proxyURL - description: Query filters diff --git a/hack/snapshot_to_image_list.sh b/hack/snapshot_to_image_list.sh index b6d2bbaa9..3ef76c091 100755 --- a/hack/snapshot_to_image_list.sh +++ b/hack/snapshot_to_image_list.sh @@ -124,16 +124,20 @@ SERVICE_IMAGE=$(${JQ} -r '.spec.components[]| select(.name=="lightspeed-service" SERVICE_REVISION=$(${JQ} -r '.spec.components[]| select(.name=="lightspeed-service") | .source.git.revision' "${TMP_SNAPSHOT_JSON}") OPENSHIFT_MCP_SERVER_IMAGE=$(${JQ} -r '.spec.components[]| select(.name=="openshift-mcp-server") | .containerImage' "${TMP_SNAPSHOT_JSON}") OPENSHIFT_MCP_SERVER_REVISION=$(${JQ} -r '.spec.components[]| select(.name=="openshift-mcp-server") | .source.git.revision' "${TMP_SNAPSHOT_JSON}") +DATAVERSE_EXPORTER_IMAGE=$(${JQ} -r '.spec.components[]| select(.name=="lightspeed-to-dataverse-exporter") | .containerImage' "${TMP_SNAPSHOT_JSON}") +DATAVERSE_EXPORTER_REVISION=$(${JQ} -r '.spec.components[]| select(.name=="lightspeed-to-dataverse-exporter") | .source.git.revision' "${TMP_SNAPSHOT_JSON}") if [ "${USE_REGISTRY}" = "preview" ]; then OPERATOR_IMAGE_BASE="registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rhel9-operator" CONSOLE_IMAGE_BASE="registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-console-plugin-rhel9" SERVICE_IMAGE_BASE="registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-service-api-rhel9" OPENSHIFT_MCP_SERVER_IMAGE_BASE="registry.redhat.io/openshift-lightspeed-tech-preview/openshift-mcp-server-rhel9" + DATAVERSE_EXPORTER_IMAGE_BASE="registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-to-dataverse-exporter-rhel9" OPERATOR_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-operator|'"${OPERATOR_IMAGE_BASE}"'|g' <<<${OPERATOR_IMAGE}) CONSOLE_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-console|'"${CONSOLE_IMAGE_BASE}"'|g' <<<${CONSOLE_IMAGE}) SERVICE_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-service|'"${SERVICE_IMAGE_BASE}"'|g' <<<${SERVICE_IMAGE}) OPENSHIFT_MCP_SERVER_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server|'"${OPENSHIFT_MCP_SERVER_IMAGE_BASE}"'|g' <<<${OPENSHIFT_MCP_SERVER_IMAGE}) + DATAVERSE_EXPORTER_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter|'"${DATAVERSE_EXPORTER_IMAGE_BASE}"'|g' <<<${DATAVERSE_EXPORTER_IMAGE}) POSTGRES_IMAGE=$(sed "s|quay\.io.*/lightspeed-postgresql|registry.redhat.io/rhel9/postgresql-16|g" <<<"${POSTGRES_IMAGE}") if [ -n "${BUNDLE_SNAPSHOT_REF}" ]; then @@ -147,11 +151,13 @@ if [ "${USE_REGISTRY}" = "stable" ]; then CONSOLE_IMAGE_BASE="registry.redhat.io/openshift-lightspeed/lightspeed-console-plugin-rhel9" SERVICE_IMAGE_BASE="registry.redhat.io/openshift-lightspeed/lightspeed-service-api-rhel9" OPENSHIFT_MCP_SERVER_IMAGE_BASE="registry.redhat.io/openshift-lightspeed/openshift-mcp-server-rhel9" + DATAVERSE_EXPORTER_IMAGE_BASE="registry.redhat.io/openshift-lightspeed/lightspeed-to-dataverse-exporter-rhel9" OPERATOR_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-operator|'"${OPERATOR_IMAGE_BASE}"'|g' <<<${OPERATOR_IMAGE}) CONSOLE_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-console|'"${CONSOLE_IMAGE_BASE}"'|g' <<<${CONSOLE_IMAGE}) SERVICE_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ols/lightspeed-service|'"${SERVICE_IMAGE_BASE}"'|g' <<<${SERVICE_IMAGE}) OPENSHIFT_MCP_SERVER_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server|'"${OPENSHIFT_MCP_SERVER_IMAGE_BASE}"'|g' <<<${OPENSHIFT_MCP_SERVER_IMAGE}) + DATAVERSE_EXPORTER_IMAGE=$(sed 's|quay\.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter|'"${DATAVERSE_EXPORTER_IMAGE_BASE}"'|g' <<<${DATAVERSE_EXPORTER_IMAGE}) POSTGRES_IMAGE=$(sed "s|quay\.io.*/lightspeed-postgresql|registry.redhat.io/rhel9/postgresql-16|g" <<<"${POSTGRES_IMAGE}") if [ -n "${BUNDLE_SNAPSHOT_REF}" ]; then @@ -194,6 +200,11 @@ RELATED_IMAGES=$( "image": "${OPENSHIFT_MCP_SERVER_IMAGE}", "revision": "${OPENSHIFT_MCP_SERVER_REVISION}" }, + { + "name": "lightspeed-to-dataverse-exporter", + "image": "${DATAVERSE_EXPORTER_IMAGE}", + "revision": "${DATAVERSE_EXPORTER_REVISION}" + }, { "name": "lightspeed-postgresql", "image": "${POSTGRES_IMAGE}" diff --git a/hack/template_bundle.Containerfile b/hack/template_bundle.Containerfile index 1dd518dc9..c54515189 100644 --- a/hack/template_bundle.Containerfile +++ b/hack/template_bundle.Containerfile @@ -5,6 +5,7 @@ ARG OPERATOR_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-operator:lat ARG SERVICE_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-service-api:latest ARG CONSOLE_IMAGE_ORIGINAL=quay.io/openshift-lightspeed/lightspeed-console-plugin:latest ARG OPENSHIFT_MCP_SERVER_IMAGE_ORIGINAL=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 +ARG DATAVERSE_EXPORTER_IMAGE_ORIGINAL=quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722 RUN microdnf install -y jq @@ -15,6 +16,7 @@ RUN OPERATOR_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-operator") | .imag RUN SERVICE_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-service-api") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${SERVICE_IMAGE_ORIGINAL}|${SERVICE_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml RUN CONSOLE_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-console-plugin") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${CONSOLE_IMAGE_ORIGINAL}|${CONSOLE_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml RUN OPENSHIFT_MCP_SERVER_IMAGE=$(jq -r '.[] | select(.name == "openshift-mcp-server") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${OPENSHIFT_MCP_SERVER_IMAGE_ORIGINAL}|${OPENSHIFT_MCP_SERVER_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml +RUN DATAVERSE_EXPORTER_IMAGE=$(jq -r '.[] | select(.name == "lightspeed-to-dataverse-exporter") | .image' /${RELATED_IMAGE_FILE}) && sed -i "s|${DATAVERSE_EXPORTER_IMAGE_ORIGINAL}|${DATAVERSE_EXPORTER_IMAGE}|g" /manifests/lightspeed-operator.clusterserviceversion.yaml ##__GENERATED_CONTAINER_FILE__## diff --git a/hack/update_bundle.sh b/hack/update_bundle.sh index 035775ff2..a81b5114d 100755 --- a/hack/update_bundle.sh +++ b/hack/update_bundle.sh @@ -111,7 +111,7 @@ BUNDLE_DOCKERFILE="bundle.Dockerfile" # if RELATED_IMAGES is not defined, extract related images or use default values if [ -f "${RELATED_IMAGES_FILENAME}" ]; then - RELATED_IMAGES=$(${JQ} '[ .[] | select(.name == "lightspeed-service-api" or .name == "lightspeed-operator" or .name == "lightspeed-console-plugin" or .name == "openshfit-mcp-server") ]' ${RELATED_IMAGES_FILENAME}) + RELATED_IMAGES=$(${JQ} '[ .[] | select(.name == "lightspeed-service-api" or .name == "lightspeed-operator" or .name == "lightspeed-console-plugin" or .name == "openshfit-mcp-server" or .name == "dataverse-exporter") ]' ${RELATED_IMAGES_FILENAME}) elif [ -f "${CSV_FILE}" ]; then RELATED_IMAGES=$(${YQ} ' .spec.relatedImages' -ojson ${CSV_FILE}) else @@ -133,6 +133,10 @@ else { "name": "openshift-mcp-server", "image": "quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43" + }, + { + "name": "dataverse-exporter", + "image": "quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722" } ] EOF @@ -147,6 +151,7 @@ OPERATOR_IMAGE=$(${JQ} '.[] | select(.name == "lightspeed-operator") | .image' < SERVICE_IMAGE=$(${JQ} '.[] | select(.name == "lightspeed-service-api") | .image' <<<${RELATED_IMAGES}) CONSOLE_IMAGE=$(${JQ} '.[] | select(.name == "lightspeed-console-plugin") | .image' <<<${RELATED_IMAGES}) OPENSHIFT_MCP_SERVER_IMAGE=$(${JQ} '.[] | select(.name == "openshift-mcp-server") | .image' <<<${RELATED_IMAGES}) +DATAVERSE_EXPORTER_IMAGE=$(${JQ} '.[] | select(.name == "dataverse-exporter") | .image' <<<${RELATED_IMAGES}) # Build the bundle image echo "Updating bundle artifacts for image ${OPERATOR_IMAGE}" @@ -161,6 +166,8 @@ ${YQ} "(.spec.install.spec.deployments[].spec.template.spec.containers[].args[] ${YQ} "(.spec.install.spec.deployments[].spec.template.spec.containers[].args[] |= sub(\"quay.io/openshift-lightspeed/lightspeed-console-plugin:latest\", ${CONSOLE_IMAGE}))" -i ${CSV_FILE} ${YQ} "(.spec.install.spec.deployments[].spec.template.spec.containers[].args[] |= sub(\"quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43\", ${OPENSHIFT_MCP_SERVER_IMAGE}))" -i ${CSV_FILE} ${YQ} "(.spec.install.spec.deployments[].spec.template.spec.containers[].image |= sub(\"quay.io/openshift-lightspeed/lightspeed-operator:latest\", ${OPERATOR_IMAGE}))" -i ${CSV_FILE} +${YQ} "(.spec.install.spec.deployments[].spec.template.spec.containers[].args[] |= sub(\"quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/ +lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722\", ${DATAVERSE_EXPORTER_IMAGE}))" -i ${CSV_FILE} # set related images to the CSV file ${YQ} eval -i '.spec.relatedImages='"${RELATED_IMAGES}" ${CSV_FILE} # add compatibility labels to the annotations file diff --git a/internal/controller/constants.go b/internal/controller/constants.go index 37f87f674..e27b0fa59 100644 --- a/internal/controller/constants.go +++ b/internal/controller/constants.go @@ -259,6 +259,8 @@ ssl_ca_file = '/etc/certs/cm-olspostgresca/service-ca.crt' MetricsReaderServiceAccountName = "lightspeed-operator-metrics-reader" // MCP server image OpenShiftMCPServerImageDefault = "quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43" + // Dataverse exporter image + DataverseExporterImageDefault = "quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722" // MCP server URL OpenShiftMCPServerURL = "http://localhost:%d/mcp" // MCP server port diff --git a/related_images.json b/related_images.json index 1a27e2206..03f6fb049 100644 --- a/related_images.json +++ b/related_images.json @@ -23,6 +23,10 @@ "name": "lightspeed-postgresql", "image": "registry.redhat.io/rhel9/postgresql-16@sha256:42f385ac3c9b8913426da7c57e70bc6617cd237aaf697c667f6385a8c0b0118b" }, + { + "name": "dataverse-exporter", + "image": "quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722" + }, { "name": "lightspeed-operator-bundle", "image": "registry.redhat.io/openshift-lightspeed/lightspeed-operator-bundle@sha256:2ca4638bfc967b0a623c7c6f4170765a38662189653a343b5de5cbd8e26d9595", From 2b22fd81501bdacd2a465c9dea7a17beea4c6c5f Mon Sep 17 00:00:00 2001 From: Ondrej Metelka Date: Mon, 13 Oct 2025 10:48:28 +0200 Subject: [PATCH 2/2] Add lightspeed-to-dataverse-exporter to related images --- bundle/manifests/lightspeed-operator.clusterserviceversion.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml b/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml index f65406090..0713448b7 100644 --- a/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml +++ b/bundle/manifests/lightspeed-operator.clusterserviceversion.yaml @@ -715,3 +715,5 @@ spec: image: quay.io/openshift-lightspeed/lightspeed-operator:latest - name: openshift-mcp-server image: quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/openshift-mcp-server@sha256:3a035744b772104c6c592acf8a813daced19362667ed6dab73a00d17eb9c3a43 + - name: lightspeed-to-dataverse-exporter + image: quay.io/redhat-user-workloads/crt-nshift-lightspeed-tenant/lightspeed-to-dataverse-exporter@sha256:ccb6705a5e7ff0c4d371dc72dc8cf319574a2d64bcc0a89ccc7130f626656722