From e0a359f659d5a9b88ddcd7756f1d2f6cf185f8ab Mon Sep 17 00:00:00 2001 From: ali Date: Tue, 24 Feb 2026 13:58:14 -0800 Subject: [PATCH 1/2] fix: Postgres image tag --- bin/postgres17-pgroonga.dockerfile | 37 +++++++++--------------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/bin/postgres17-pgroonga.dockerfile b/bin/postgres17-pgroonga.dockerfile index 04369728a68..f799c69e8ec 100644 --- a/bin/postgres17-pgroonga.dockerfile +++ b/bin/postgres17-pgroonga.dockerfile @@ -15,36 +15,21 @@ # specific language governing permissions and limitations # under the License. -FROM bitnami/postgresql:17.4.0-debian-12-r11 +FROM postgres:17-bookworm -USER root - -# Install build tools and Groonga APT repo -RUN install_packages \ - build-essential \ - git \ +# 1. Install prerequisites for adding the Groonga repository +RUN apt-get update && apt-get install -y --no-install-recommends \ wget \ - curl \ ca-certificates \ - pkg-config \ - libmecab-dev \ - mecab \ - gnupg \ - libpq-dev + && rm -rf /var/lib/apt/lists/* -# Add Groonga official APT repo +# 2. Add Groonga official APT repo and install pre-compiled PGroonga for PGDG RUN wget https://packages.groonga.org/debian/groonga-apt-source-latest-bookworm.deb && \ dpkg -i groonga-apt-source-latest-bookworm.deb && \ apt-get update && \ - apt-get install -y \ - libgroonga-dev \ - groonga-tokenizer-mecab - -# Clone PGroonga with submodules and build it using Bitnami's pg_config -RUN git clone --recursive https://github.com/pgroonga/pgroonga.git /tmp/pgroonga && \ - cd /tmp/pgroonga && \ - PG_CONFIG=/opt/bitnami/postgresql/bin/pg_config make && \ - PG_CONFIG=/opt/bitnami/postgresql/bin/pg_config make install && \ - rm -rf /tmp/pgroonga - -USER 1001 + apt-get install -y --no-install-recommends \ + postgresql-17-pgdg-pgroonga \ + groonga-tokenizer-mecab \ + mecab \ + && rm -rf /var/lib/apt/lists/* \ + && rm groonga-apt-source-latest-bookworm.deb \ No newline at end of file From 85a18f38dbb26f0690d720ffa8da1fc9ba7aa835 Mon Sep 17 00:00:00 2001 From: ali Date: Wed, 25 Feb 2026 12:23:47 -0800 Subject: [PATCH 2/2] fix: Postgres image tag and registry --- .../access-control-service-deployment.yaml | 2 +- .../templates/config-service-deployment.yaml | 2 +- .../templates/example-data-loader-job.yaml | 2 +- .../templates/file-service-deployment.yaml | 2 +- bin/k8s/templates/webserver-deployment.yaml | 2 +- ...workflow-compiling-service-deployment.yaml | 2 +- ...low-computing-unit-manager-deployment.yaml | 4 +-- ...mputing-unit-master-prepull-daemonset.yaml | 2 +- bin/k8s/values.yaml | 12 +++++-- bin/postgres17-pgroonga.dockerfile | 35 ------------------- 10 files changed, 18 insertions(+), 47 deletions(-) delete mode 100644 bin/postgres17-pgroonga.dockerfile diff --git a/bin/k8s/templates/access-control-service-deployment.yaml b/bin/k8s/templates/access-control-service-deployment.yaml index adeca0b8bbf..1d6739e0349 100644 --- a/bin/k8s/templates/access-control-service-deployment.yaml +++ b/bin/k8s/templates/access-control-service-deployment.yaml @@ -34,7 +34,7 @@ spec: spec: containers: - name: {{ .Values.accessControlService.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.accessControlService.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.accessControlService.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.accessControlService.service.port }} diff --git a/bin/k8s/templates/config-service-deployment.yaml b/bin/k8s/templates/config-service-deployment.yaml index 45f081b11d7..f0748785c3a 100644 --- a/bin/k8s/templates/config-service-deployment.yaml +++ b/bin/k8s/templates/config-service-deployment.yaml @@ -34,7 +34,7 @@ spec: spec: containers: - name: {{ .Values.configService.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.configService.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.configService.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.configService.service.port }} diff --git a/bin/k8s/templates/example-data-loader-job.yaml b/bin/k8s/templates/example-data-loader-job.yaml index 9c5e0491389..15759be4097 100644 --- a/bin/k8s/templates/example-data-loader-job.yaml +++ b/bin/k8s/templates/example-data-loader-job.yaml @@ -30,7 +30,7 @@ spec: restartPolicy: Never containers: - name: example-data-loader - image: {{ .Values.global.imageRegistry }}/{{ .Values.exampleDataLoader.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.exampleDataLoader.imageName }}:{{ .Values.texera.imageTag }} env: - name: TEXERA_EXAMPLE_USERNAME value: {{ .Values.exampleDataLoader.username }} diff --git a/bin/k8s/templates/file-service-deployment.yaml b/bin/k8s/templates/file-service-deployment.yaml index d7cfb7c1995..6c9a4041f98 100644 --- a/bin/k8s/templates/file-service-deployment.yaml +++ b/bin/k8s/templates/file-service-deployment.yaml @@ -34,7 +34,7 @@ spec: spec: containers: - name: {{ .Values.fileService.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.fileService.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.fileService.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.fileService.service.port }} diff --git a/bin/k8s/templates/webserver-deployment.yaml b/bin/k8s/templates/webserver-deployment.yaml index 0c8656bfe8f..56642c54785 100644 --- a/bin/k8s/templates/webserver-deployment.yaml +++ b/bin/k8s/templates/webserver-deployment.yaml @@ -34,7 +34,7 @@ spec: spec: containers: - name: {{ .Values.webserver.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.webserver.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.webserver.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.webserver.service.port }} diff --git a/bin/k8s/templates/workflow-compiling-service-deployment.yaml b/bin/k8s/templates/workflow-compiling-service-deployment.yaml index 4ab10e3f9bc..50a0a04e1b7 100644 --- a/bin/k8s/templates/workflow-compiling-service-deployment.yaml +++ b/bin/k8s/templates/workflow-compiling-service-deployment.yaml @@ -34,7 +34,7 @@ spec: spec: containers: - name: {{ .Values.workflowCompilingService.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.workflowCompilingService.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.workflowCompilingService.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.workflowCompilingService.service.port }} diff --git a/bin/k8s/templates/workflow-computing-unit-manager-deployment.yaml b/bin/k8s/templates/workflow-computing-unit-manager-deployment.yaml index 75e5e76b30a..5241d9160a3 100644 --- a/bin/k8s/templates/workflow-computing-unit-manager-deployment.yaml +++ b/bin/k8s/templates/workflow-computing-unit-manager-deployment.yaml @@ -35,7 +35,7 @@ spec: serviceAccountName: {{ .Values.workflowComputingUnitManager.serviceAccountName }} containers: - name: {{ .Values.workflowComputingUnitManager.name }} - image: {{ .Values.global.imageRegistry }}/{{ .Values.workflowComputingUnitManager.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.workflowComputingUnitManager.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: {{ .Values.texeraImages.pullPolicy }} ports: - containerPort: {{ .Values.workflowComputingUnitManager.service.port }} @@ -46,7 +46,7 @@ spec: - name: KUBERNETES_COMPUTE_UNIT_SERVICE_NAME value: {{ .Values.workflowComputingUnitPool.name }}-svc - name: KUBERNETES_IMAGE_NAME - value: {{ .Values.global.imageRegistry }}/{{ .Values.workflowComputingUnitPool.imageName }}:{{ .Values.global.imageTag }} + value: {{ .Values.texera.imageRegistry }}/{{ .Values.workflowComputingUnitPool.imageName }}:{{ .Values.texera.imageTag }} # TexeraDB Access - name: STORAGE_JDBC_URL value: jdbc:postgresql://{{ .Release.Name }}-postgresql:5432/texera_db?currentSchema=texera_db,public diff --git a/bin/k8s/templates/workflow-computing-unit-master-prepull-daemonset.yaml b/bin/k8s/templates/workflow-computing-unit-master-prepull-daemonset.yaml index b4a8d6634db..4edc0104a89 100644 --- a/bin/k8s/templates/workflow-computing-unit-master-prepull-daemonset.yaml +++ b/bin/k8s/templates/workflow-computing-unit-master-prepull-daemonset.yaml @@ -36,7 +36,7 @@ spec: - operator: "Exists" initContainers: - name: prepuller - image: {{ .Values.global.imageRegistry }}/{{ .Values.workflowComputingUnitPool.imageName }}:{{ .Values.global.imageTag }} + image: {{ .Values.texera.imageRegistry }}/{{ .Values.workflowComputingUnitPool.imageName }}:{{ .Values.texera.imageTag }} imagePullPolicy: Always command: ["sh", "-c", "true"] containers: diff --git a/bin/k8s/values.yaml b/bin/k8s/values.yaml index 3e612ef40f5..7558591c4dd 100644 --- a/bin/k8s/values.yaml +++ b/bin/k8s/values.yaml @@ -15,13 +15,16 @@ # specific language governing permissions and limitations # under the License. -global: +texera: # Container image registry and tag for all Texera services # Override these to use a different registry or version imageRegistry: ghcr.io/apache imageTag: latest + +global: + # Required by Bitnami sub-charts (postgresql, minio) to allow custom images security: - allowInsecureImages: true # for custom postgres image + allowInsecureImages: true # Persistence Configuration # This controls how Persistent Volumes (PVs) and Persistent Volume Claims (PVCs) are managed @@ -37,12 +40,15 @@ persistence: # Part 1: the configuration of Postgres, Minio and LakeFS postgresql: image: - repository: texera/postgres17-pgroonga + repository: groonga/pgroonga tag: latest debug: true auth: postgresPassword: root_password # for executing init script with superuser primary: + containerSecurityContext: + # Disabled because groonga/pgroonga needs to write a lock/socket file to /var/run/postgresql + readOnlyRootFilesystem: false livenessProbe: initialDelaySeconds: 30 # increase this if the launching of postgresql is slow on the cluster readinessProbe: diff --git a/bin/postgres17-pgroonga.dockerfile b/bin/postgres17-pgroonga.dockerfile deleted file mode 100644 index f799c69e8ec..00000000000 --- a/bin/postgres17-pgroonga.dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -FROM postgres:17-bookworm - -# 1. Install prerequisites for adding the Groonga repository -RUN apt-get update && apt-get install -y --no-install-recommends \ - wget \ - ca-certificates \ - && rm -rf /var/lib/apt/lists/* - -# 2. Add Groonga official APT repo and install pre-compiled PGroonga for PGDG -RUN wget https://packages.groonga.org/debian/groonga-apt-source-latest-bookworm.deb && \ - dpkg -i groonga-apt-source-latest-bookworm.deb && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - postgresql-17-pgdg-pgroonga \ - groonga-tokenizer-mecab \ - mecab \ - && rm -rf /var/lib/apt/lists/* \ - && rm groonga-apt-source-latest-bookworm.deb \ No newline at end of file