From 8a0b87dd049778e9224526aea124d7dad067ee87 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 13:25:29 +0200 Subject: [PATCH 01/13] Added Opensearch image config --- functions/kubernetes/charts/shuffle/values.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index 57bccb31..00b53a29 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -1888,6 +1888,15 @@ volumePermissions: ## opensearch: enabled: true + + image: + registry: docker.io + repository: opensearchproject/opensearch + tag: "3.2.0" + digest: "" + pullPolicy: IfNotPresent + pullSecrets: [] + master: replicaCount: 1 data: From bd15bfd3640b2a6d64ad3b5b5fa99d20943b8506 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 13:28:03 +0200 Subject: [PATCH 02/13] Delete functions/kubernetes/all-in-one.yaml as it's handled in charts/shuffle instead --- functions/kubernetes/all-in-one.yaml | 894 --------------------------- 1 file changed, 894 deletions(-) delete mode 100644 functions/kubernetes/all-in-one.yaml diff --git a/functions/kubernetes/all-in-one.yaml b/functions/kubernetes/all-in-one.yaml deleted file mode 100644 index d9bec68d..00000000 --- a/functions/kubernetes/all-in-one.yaml +++ /dev/null @@ -1,894 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: shuffle - ---- -## ONLY for minikube -# apiVersion: storage.k8s.io/v1 -# kind: StorageClass -# metadata: -# name: standard-rwo -# provisioner: k8s.io/minikube-hostpath -# reclaimPolicy: Delete -# volumeBindingMode: Immediate - -# --- - -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: shuffle-data - namespace: shuffle -provisioner: kubernetes.io/no-provisioner -volumeBindingMode: WaitForFirstConsumer - ---- - -apiVersion: v1 -metadata: - namespace: shuffle - creationTimestamp: null - labels: - io.kompose.service: backend-env - name: env -data: - BACKEND_HOSTNAME: shuffle-backend - BACKEND_PORT: "5001" - BASE_URL: http://shuffle-backend:5001 - DATASTORE_EMULATOR_HOST: shuffle-database:8000 - DB_LOCATION: /mnt/shuffle-data/open-search - DOCKER_API_VERSION: "1.40" - ENVIRONMENT_NAME: Shuffle - FRONTEND_PORT: "3001" - FRONTEND_PORT_HTTPS: "3443" - HTTP_PROXY: "" - HTTPS_PROXY: "" - ORBORUS_CONTAINER_NAME: "\t\t\t\t" - ORG_ID: Shuffle - OUTER_HOSTNAME: shuffle-backend - SHUFFLE_APP_DOWNLOAD_LOCATION: https://github.com/shuffle/python-apps - SHUFFLE_APP_FORCE_UPDATE: "false" - SHUFFLE_APP_HOTLOAD_FOLDER: /shuffle-apps - SHUFFLE_APP_HOTLOAD_LOCATION: ./shuffle-apps - SHUFFLE_BASE_IMAGE_NAME: shuffle - SHUFFLE_BASE_IMAGE_REGISTRY: ghcr.io - SHUFFLE_BASE_IMAGE_TAG_SUFFIX: -1.0.0 - SHUFFLE_CHAT_DISABLED: "false" - SHUFFLE_CONTAINER_AUTO_CLEANUP: "false" - SHUFFLE_DEFAULT_APIKEY: "" - SHUFFLE_DEFAULT_PASSWORD: "" - SHUFFLE_DEFAULT_USERNAME: "" - SHUFFLE_DOWNLOAD_AUTH_BRANCH: "" - SHUFFLE_DOWNLOAD_AUTH_PASSWORD: "" - SHUFFLE_DOWNLOAD_AUTH_USERNAME: "" - SHUFFLE_DOWNLOAD_WORKFLOW_BRANCH: "" - SHUFFLE_DOWNLOAD_WORKFLOW_LOCATION: "" - SHUFFLE_DOWNLOAD_WORKFLOW_PASSWORD: "" - SHUFFLE_DOWNLOAD_WORKFLOW_USERNAME: "" - SHUFFLE_ELASTIC: "true" - SHUFFLE_ENCRYPTION_MODIFIER: "" - SHUFFLE_FILE_LOCATION: /shuffle-files - SHUFFLE_LOGS_DISABLED: "false" - SHUFFLE_OPENSEARCH_APIKEY: "" - SHUFFLE_OPENSEARCH_CERTIFICATE_FILE: "" - SHUFFLE_OPENSEARCH_CLOUDID: "" - KUBERNETES_NAMESPACE: shuffle - SHUFFLE_OPENSEARCH_INDEX_PREFIX: "" - SHUFFLE_OPENSEARCH_PASSWORD: admin - SHUFFLE_OPENSEARCH_PROXY: "" - SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY: "true" - SHUFFLE_OPENSEARCH_URL: https://opensearch:9200 - SHUFFLE_MEMCACHED: shuffle-memcached:11211 - SHUFFLE_OPENSEARCH_USERNAME: admin - SHUFFLE_ORBORUS_STARTUP_DELAY: "\t\t" - SHUFFLE_PASS_APP_PROXY: "FALSE" - SHUFFLE_PASS_WORKER_PROXY: "TRUE" - SHUFFLE_RERUN_SCHEDULE: "300" - SSO_REDIRECT_URL: "" - TZ: "Europe/Amsterdam \t\t\t\t\t" - IS_KUBERNETES: "true" - REGISTRY_URL: "docker-registry:5000" - REGISTRY_AUTH: "false" - SHUFFLE_KUBERNETES_WORKER: "ghcr.io/shuffle/shuffle-worker:latest" -kind: ConfigMap - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - namespace: shuffle - name: pod-manager -rules: -- apiGroups: [""] - resources: ["pods", "services", "deployments"] - verbs: ["get", "list", "create", "update", "delete"] -- apiGroups: ["batch"] - resources: ["jobs"] - verbs: ["create", "get", "list", "watch", "delete"] -- apiGroups: ["rbac.authorization.k8s.io"] - resources: ["rolebindings", "roles"] - verbs: ["get", "list", "create"] -- apiGroups: ["apps"] - resources: ["deployments", "pods", "services"] - verbs: ["create", "get", "list", "update", "delete"] - ---- - -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: pod-manager-binding - namespace: shuffle -subjects: -- kind: ServiceAccount - name: default - namespace: shuffle -roleRef: - kind: Role - name: pod-manager - apiGroup: rbac.authorization.k8s.io - ---- - -# apiVersion: v1 -# kind: PersistentVolume -# metadata: -# name: shuffle-os-pv -# namespace: shuffle -# spec: -# capacity: -# storage: 10Gi # Adjust the storage size as per your requirements -# accessModes: -# - ReadWriteOnce # This allows read-write access to a single node -# persistentVolumeReclaimPolicy: Retain # Adjust the reclaim policy as per your needs -# storageClassName: standard-rwo # Set the desired storage class -# hostPath: -# path: /mnt/shuffle-data/open-search - -# --- - -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - namespace: shuffle - creationTimestamp: null - labels: - io.kompose.service: opensearch-claim0 - name: opensearch-claim0 -spec: - accessModes: - - ReadWriteOnce - storageClassName: standard-rwo - resources: - requests: - storage: 500Mi -status: {} - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: opensearch - name: opensearch -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: opensearch - strategy: {} - template: - metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.network/shuffle: "true" - io.kompose.service: opensearch - spec: - # securityContext: - # runAsUser: 1000 # UID - # fsGroup: 1000 # GID - # nodeSelector: - # node: worker1 - initContainers: - - name: volume-permissions - image: busybox - command: ["sh", "-c", "chown -R 1000:1000 /usr/share/opensearch/data"] - volumeMounts: - - name: opensearch-claim0 - mountPath: /usr/share/opensearch/data - containers: - - env: - - name: OPENSEARCH_JAVA_OPTS - value: -Xms1024m -Xmx1024m - #- name: bootstrap.memory_lock - #value: "true" - - name: cluster.initial_master_nodes - value: shuffle-opensearch - - name: cluster.name - value: shuffle-cluster - - name: cluster.routing.allocation.disk.threshold_enabled - value: "false" - - name: discovery.seed_hosts - value: shuffle-opensearch - - name: node.name - value: shuffle-opensearch - - name: node.store.allow_mmap - value: "false" - - name: DB_LOCATION - valueFrom: - configMapKeyRef: - name: env - key: DB_LOCATION - image: opensearchproject/opensearch:2.5.0 - name: shuffle-opensearch - ports: - - containerPort: 9200 - resources: {} - volumeMounts: - - mountPath: /usr/share/opensearch/data - name: opensearch-claim0 - hostname: shuffle-opensearch - restartPolicy: Always - volumes: - - name: opensearch-claim0 - persistentVolumeClaim: - claimName: opensearch-claim0 -status: {} - ---- - -apiVersion: v1 -kind: Service -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: opensearch - name: opensearch -spec: - ports: - - name: "9200" - port: 9200 - targetPort: 9200 - selector: - io.kompose.service: opensearch -status: - loadBalancer: {} - ---- - -# apiVersion: v1 -# kind: PersistentVolume -# metadata: -# namespace: shuffle -# name: shuffle-apps-pv -# spec: -# capacity: -# storage: 5Gi -# accessModes: -# - ReadWriteOnce -# persistentVolumeReclaimPolicy: Retain -# storageClassName: shuffle-data -# hostPath: -# path: /mnt/shuffle-data/backend - -# --- -# apiVersion: v1 -# kind: PersistentVolume -# metadata: -# namespace: shuffle -# name: shuffle-files-pv -# spec: -# capacity: -# storage: 5Gi -# accessModes: -# - ReadWriteOnce -# persistentVolumeReclaimPolicy: Retain -# storageClassName: shuffle-data -# hostPath: -# path: /mnt/shuffle-data/backend - -# --- - -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - namespace: shuffle - creationTimestamp: null - labels: - io.kompose.service: backend-files-claim - name: backend-files-claim -spec: - accessModes: - - ReadWriteOnce - storageClassName: standard-rwo - resources: - requests: - storage: 5Gi -# status: {} - ---- - -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - namespace: shuffle - creationTimestamp: null - labels: - io.kompose.service: backend-apps-claim - name: backend-apps-claim -spec: - accessModes: - - ReadWriteOnce - storageClassName: standard-rwo - resources: - requests: - storage: 5Gi -# status: {} - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: shuffle-memcached - namespace: shuffle -spec: - replicas: 1 - selector: - matchLabels: - app: shuffle-memcached - template: - metadata: - labels: - app: shuffle-memcached - spec: - containers: - - name: shuffle-memcached - image: memcached:latest - ports: - - containerPort: 11211 - resources: {} - restartPolicy: Always - - ---- - -apiVersion: v1 -kind: Service -metadata: - namespace: shuffle - name: shuffle-memcached -spec: - ports: - - port: 11211 - targetPort: 11211 - selector: - app: shuffle-memcached - type: ClusterIP - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: backend - name: backend -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: backend - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.network/shuffle: "true" - io.kompose.service: backend - app: shuffle-backend - name: shuffle-backend - spec: - volumes: - - name: shuffle-files - persistentVolumeClaim: - claimName: backend-files-claim - - name: shuffle-apps - persistentVolumeClaim: - claimName: backend-apps-claim -# nodeSelector: -# node: master - containers: - - env: - - name: BACKEND_HOSTNAME - valueFrom: - configMapKeyRef: - key: BACKEND_HOSTNAME - name: env - - name: BACKEND_PORT - valueFrom: - configMapKeyRef: - key: BACKEND_PORT - name: env - - name: BASE_URL - valueFrom: - configMapKeyRef: - key: BASE_URL - name: env - - name: DATASTORE_EMULATOR_HOST - valueFrom: - configMapKeyRef: - key: DATASTORE_EMULATOR_HOST - name: env - - name: DB_LOCATION - valueFrom: - configMapKeyRef: - key: DB_LOCATION - name: env - - name: DOCKER_API_VERSION - valueFrom: - configMapKeyRef: - key: DOCKER_API_VERSION - name: env - - name: ENVIRONMENT_NAME - valueFrom: - configMapKeyRef: - key: ENVIRONMENT_NAME - name: env - - name: FRONTEND_PORT - valueFrom: - configMapKeyRef: - key: FRONTEND_PORT - name: env - - name: FRONTEND_PORT_HTTPS - valueFrom: - configMapKeyRef: - key: FRONTEND_PORT_HTTPS - name: env - - name: HTTPS_PROXY - valueFrom: - configMapKeyRef: - key: HTTPS_PROXY - name: env - - name: HTTP_PROXY - valueFrom: - configMapKeyRef: - key: HTTP_PROXY - name: env - - name: ORBORUS_CONTAINER_NAME - valueFrom: - configMapKeyRef: - key: ORBORUS_CONTAINER_NAME - name: env - - name: ORG_ID - valueFrom: - configMapKeyRef: - key: ORG_ID - name: env - - name: OUTER_HOSTNAME - valueFrom: - configMapKeyRef: - key: OUTER_HOSTNAME - name: env - - name: SHUFFLE_APP_DOWNLOAD_LOCATION - valueFrom: - configMapKeyRef: - key: SHUFFLE_APP_DOWNLOAD_LOCATION - name: env - - name: SHUFFLE_APP_FORCE_UPDATE - valueFrom: - configMapKeyRef: - key: SHUFFLE_APP_FORCE_UPDATE - name: env - - name: SHUFFLE_APP_HOTLOAD_FOLDER - valueFrom: - configMapKeyRef: - key: SHUFFLE_APP_HOTLOAD_FOLDER - name: env - - name: SHUFFLE_APP_HOTLOAD_LOCATION - valueFrom: - configMapKeyRef: - key: SHUFFLE_APP_HOTLOAD_LOCATION - name: env - - name: SHUFFLE_BASE_IMAGE_NAME - valueFrom: - configMapKeyRef: - key: SHUFFLE_BASE_IMAGE_NAME - name: env - - name: SHUFFLE_BASE_IMAGE_REGISTRY - valueFrom: - configMapKeyRef: - key: SHUFFLE_BASE_IMAGE_REGISTRY - name: env - - name: SHUFFLE_BASE_IMAGE_TAG_SUFFIX - valueFrom: - configMapKeyRef: - key: SHUFFLE_BASE_IMAGE_TAG_SUFFIX - name: env - - name: SHUFFLE_CHAT_DISABLED - valueFrom: - configMapKeyRef: - key: SHUFFLE_CHAT_DISABLED - name: env - - name: SHUFFLE_CONTAINER_AUTO_CLEANUP - valueFrom: - configMapKeyRef: - key: SHUFFLE_CONTAINER_AUTO_CLEANUP - name: env - - name: SHUFFLE_DEFAULT_APIKEY - valueFrom: - configMapKeyRef: - key: SHUFFLE_DEFAULT_APIKEY - name: env - - name: SHUFFLE_DEFAULT_PASSWORD - valueFrom: - configMapKeyRef: - key: SHUFFLE_DEFAULT_PASSWORD - name: env - - name: SHUFFLE_DEFAULT_USERNAME - valueFrom: - configMapKeyRef: - key: SHUFFLE_DEFAULT_USERNAME - name: env - - name: SHUFFLE_DOWNLOAD_AUTH_BRANCH - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_AUTH_BRANCH - name: env - - name: SHUFFLE_DOWNLOAD_AUTH_PASSWORD - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_AUTH_PASSWORD - name: env - - name: SHUFFLE_DOWNLOAD_AUTH_USERNAME - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_AUTH_USERNAME - name: env - - name: SHUFFLE_DOWNLOAD_WORKFLOW_BRANCH - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_WORKFLOW_BRANCH - name: env - - name: SHUFFLE_DOWNLOAD_WORKFLOW_LOCATION - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_WORKFLOW_LOCATION - name: env - - name: SHUFFLE_DOWNLOAD_WORKFLOW_PASSWORD - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_WORKFLOW_PASSWORD - name: env - - name: SHUFFLE_DOWNLOAD_WORKFLOW_USERNAME - valueFrom: - configMapKeyRef: - key: SHUFFLE_DOWNLOAD_WORKFLOW_USERNAME - name: env - - name: SHUFFLE_ELASTIC - valueFrom: - configMapKeyRef: - key: SHUFFLE_ELASTIC - name: env - - name: SHUFFLE_ENCRYPTION_MODIFIER - valueFrom: - configMapKeyRef: - key: SHUFFLE_ENCRYPTION_MODIFIER - name: env - - name: SHUFFLE_FILE_LOCATION - valueFrom: - configMapKeyRef: - key: SHUFFLE_FILE_LOCATION - name: env - - name: SHUFFLE_LOGS_DISABLED - valueFrom: - configMapKeyRef: - key: SHUFFLE_LOGS_DISABLED - name: env - - name: SHUFFLE_OPENSEARCH_APIKEY - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_APIKEY - name: env - - name: SHUFFLE_MEMCACHED - valueFrom: - configMapKeyRef: - key: SHUFFLE_MEMCACHED - name: env - - name: SHUFFLE_OPENSEARCH_CERTIFICATE_FILE - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_CERTIFICATE_FILE - name: env - - name: SHUFFLE_OPENSEARCH_CLOUDID - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_CLOUDID - name: env - - name: SHUFFLE_OPENSEARCH_INDEX_PREFIX - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_INDEX_PREFIX - name: env - - name: SHUFFLE_OPENSEARCH_PASSWORD - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_PASSWORD - name: env - - name: SHUFFLE_OPENSEARCH_PROXY - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_PROXY - name: env - - name: SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_SKIPSSL_VERIFY - name: env - - name: SHUFFLE_OPENSEARCH_URL - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_URL - name: env - - name: SHUFFLE_OPENSEARCH_USERNAME - valueFrom: - configMapKeyRef: - key: SHUFFLE_OPENSEARCH_USERNAME - name: env - - name: SHUFFLE_ORBORUS_STARTUP_DELAY - valueFrom: - configMapKeyRef: - key: SHUFFLE_ORBORUS_STARTUP_DELAY - name: env - - name: SHUFFLE_PASS_APP_PROXY - valueFrom: - configMapKeyRef: - key: SHUFFLE_PASS_APP_PROXY - name: env - - name: SHUFFLE_PASS_WORKER_PROXY - valueFrom: - configMapKeyRef: - key: SHUFFLE_PASS_WORKER_PROXY - name: env - - name: SHUFFLE_RERUN_SCHEDULE - valueFrom: - configMapKeyRef: - key: SHUFFLE_RERUN_SCHEDULE - name: env - - name: SSO_REDIRECT_URL - valueFrom: - configMapKeyRef: - key: SSO_REDIRECT_URL - name: env - - name: TZ - valueFrom: - configMapKeyRef: - key: TZ - name: env - - name: IS_KUBERNETES - valueFrom: - configMapKeyRef: - key: IS_KUBERNETES - name: env - - name: REGISTRY_URL - valueFrom: - configMapKeyRef: - key: REGISTRY_URL - name: env - - name: REGISTRY_AUTH - valueFrom: - configMapKeyRef: - key: REGISTRY_AUTH - name: env - image: ghcr.io/shuffle/shuffle-backend:latest - imagePullPolicy: Always - name: shuffle-backend - ports: - - containerPort: 5001 - resources: {} - volumeMounts: - - name: shuffle-apps - mountPath: /app/generated - - name: shuffle-files - mountPath: /shuffle-files - restartPolicy: Always -status: {} - ---- - -apiVersion: v1 -kind: Service -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: backend - name: shuffle-backend -spec: - ports: - - name: "5001" - port: 5001 - targetPort: 5001 - selector: - io.kompose.service: backend -status: - loadBalancer: {} - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: frontend - name: frontend -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: frontend - strategy: {} - template: - metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.network/shuffle: "true" - io.kompose.service: frontend - spec: - containers: - - name: shuffle-frontend - image: ghcr.io/shuffle/shuffle-frontend:latest - env: - - name: BACKEND_HOSTNAME - valueFrom: - configMapKeyRef: - key: BACKEND_HOSTNAME - name: env - ports: - - containerPort: 80 - - containerPort: 443 - resources: {} - hostname: shuffle-frontend - restartPolicy: Always -status: {} - ---- - -apiVersion: v1 -kind: Service -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: frontend - name: frontend -spec: - type: NodePort - ports: - - name: "80" - port: 80 - targetPort: 80 - nodePort: 30007 - - name: "443" - port: 443 - targetPort: 443 - nodePort: 30008 - selector: - io.kompose.service: frontend -# status: -# loadBalancer: {} - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: shuffle - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: orborus - name: orborus -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: orborus - strategy: {} - template: - metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.network/shuffle: "true" - io.kompose.service: orborus - spec: - containers: - - env: - - name: BASE_URL - value: "http://shuffle-backend:5001" - - name: DOCKER_API_VERSION - value: "1.40" - - name: ENVIRONMENT_NAME - value: Shuffle - - name: ORG_ID - value: Shuffle - - name: SHUFFLE_APP_SDK_VERSION - value: latest - - name: SHUFFLE_SCALE_REPLICAS - value: "5" - - name: SHUFFLE_SWARM_CONFIG - value: run - - name: SHUFFLE_WORKER_VERSION - value: latest - - name: IS_KUBERNETES - valueFrom: - configMapKeyRef: - key: IS_KUBERNETES - name: env - - name: KUBERNETES_NAMESPACE - valueFrom: - configMapKeyRef: - key: KUBERNETES_NAMESPACE - name: env - - name: REGISTRY_URL - valueFrom: - configMapKeyRef: - key: REGISTRY_URL - name: env - - name: SHUFFLE_KUBERNETES_WORKER - valueFrom: - configMapKeyRef: - key: SHUFFLE_KUBERNETES_WORKER - name: env - - name: SHUFFLE_MEMCACHED - valueFrom: - configMapKeyRef: - key: SHUFFLE_MEMCACHED - name: env - image: ghcr.io/shuffle/shuffle-orborus:latest - #imagePullPolicy: Never - name: shuffle-orborus - resources: {} - hostname: shuffle-orborus - restartPolicy: Always -status: {} From 9d62427f9168080447543cdefeb183919b0fe019 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 13:35:49 +0200 Subject: [PATCH 03/13] Configure frontend service as NodePort Added NodePort service type with HTTP and HTTPS ports. --- functions/kubernetes/charts/shuffle/values.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index 00b53a29..a3729458 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -885,6 +885,16 @@ frontend: ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## labels: {} + type: NodePort + ports: + - name: http + port: 80 + targetPort: 3001 + nodePort: 30080 + - name: https + port: 443 + targetPort: 3443 + nodePort: 30443 ## ServiceAccount configuration ## From 2628b9ee8097722b76fb86474e0ad24349c4733d Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 13:39:47 +0200 Subject: [PATCH 04/13] Update Helm chart version to 2.1.0 --- functions/kubernetes/charts/shuffle/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/kubernetes/charts/shuffle/Chart.yaml b/functions/kubernetes/charts/shuffle/Chart.yaml index b01df7da..c1e36716 100644 --- a/functions/kubernetes/charts/shuffle/Chart.yaml +++ b/functions/kubernetes/charts/shuffle/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: shuffle description: A Helm chart for deploying Shuffle on Kubernetes type: application -version: 0.0.0 # Set during publishing in GitHub actions +version: 2.1.0 # Set during publishing in GitHub actions appVersion: latest # Overwritten during publishing in GitHub actions dependencies: - name: common From add5b35b9835da5ab3c3458ec867ef2f60bdd253 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 13:50:32 +0200 Subject: [PATCH 05/13] Update values.yaml --- functions/kubernetes/charts/shuffle/values.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index a3729458..5937ecdd 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -1899,14 +1899,6 @@ volumePermissions: opensearch: enabled: true - image: - registry: docker.io - repository: opensearchproject/opensearch - tag: "3.2.0" - digest: "" - pullPolicy: IfNotPresent - pullSecrets: [] - master: replicaCount: 1 data: From cd91c13f081ba0fc2bed30f9a7adf8c63d11f9d7 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 14:23:43 +0200 Subject: [PATCH 06/13] Delete functions/kubernetes/orborus.yaml --- functions/kubernetes/orborus.yaml | 80 ------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 functions/kubernetes/orborus.yaml diff --git a/functions/kubernetes/orborus.yaml b/functions/kubernetes/orborus.yaml deleted file mode 100644 index 000d9fbd..00000000 --- a/functions/kubernetes/orborus.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- - -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - namespace: default - name: pod-manager -rules: -- apiGroups: [""] - resources: ["pods"] - verbs: ["get", "list", "create", "update", "delete"] -- apiGroups: ["batch"] - resources: ["jobs"] - verbs: ["create", "get", "list", "watch", "delete"] - ---- - -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: pod-manager-binding - namespace: default -subjects: -- kind: ServiceAccount - name: default - namespace: default -roleRef: - kind: Role - name: pod-manager - apiGroup: rbac.authorization.k8s.io - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.service: orborus - name: orborus -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: orborus - strategy: {} - template: - metadata: - annotations: - kompose.cmd: kompose convert -f docker-compose.yml - kompose.version: 1.26.0 (40646f47) - creationTimestamp: null - labels: - io.kompose.network/shuffle: "true" - io.kompose.service: orborus - spec: - containers: - - env: - - name: BASE_URL - value: "https://shuffler.io" - - name: SHUFFLE_SCALE_REPLICAS - value: "7" - - name: IS_KUBERNETES - value: "true" - - name: ENVIRONMENT_NAME - value: "environment test" - - name: ORG - value: "9c938e5b-d812-40d9-92f0-93783f43ec0d" - - name: AUTH - value: "3663a270-bb3a-4678-a365-d879601a1a0c" - - image: ghcr.io/shuffle/shuffle-orborus:latest - #imagePullPolicy: Never - name: shuffle-orborus - resources: {} - hostname: shuffle-orborus - restartPolicy: Always From 20248686fc373fd39353e4e9088a84a3f46ace56 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 14:23:59 +0200 Subject: [PATCH 07/13] Delete functions/kubernetes/generate_certs.sh --- functions/kubernetes/generate_certs.sh | 39 -------------------------- 1 file changed, 39 deletions(-) delete mode 100644 functions/kubernetes/generate_certs.sh diff --git a/functions/kubernetes/generate_certs.sh b/functions/kubernetes/generate_certs.sh deleted file mode 100644 index cb316a72..00000000 --- a/functions/kubernetes/generate_certs.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# Check if ifconfig is present and use it to get the default IP -if command -v ifconfig &> /dev/null; then - default_ip=$(ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $2}') -# Check if ip is present and use it if ifconfig is not available -elif command -v ip &> /dev/null; then - default_ip=$(ip addr show | grep -oP 'inet \K[\d.]+' | sed -n '2p') -# If both tools are not available, error out -else - echo "Error: Neither ifconfig nor ip command found in the machine. Exiting.." - exit 1 -fi - - -read -p "Enter your node IP to use for cert generation (default is $default_ip): " custom_ip -# Use localhost as the default value -node_ip=${custom_ip:-$default_ip} - -echo "Using node IP: $node_ip to generate SSL certs!" - -mkdir -p certs - -# Generate CA key -openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/reg.key -x509 -days 365 -out certs/reg.crt -subj "/CN=$node_ip" - -# generate a random string -random_string=$(openssl rand -hex 3) - -echo "Starting docker registry with name shuffle-local-registry-$random_string.." - -docker run -d -p 5000:5000 --restart=always --name "shuffle-local-registry-$random_string" \ - -v $(pwd)/certs:/certs \ - -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/reg.crt \ - -e REGISTRY_HTTP_TLS_KEY=/certs/reg.key \ - registry:2 - -echo "Set up certs and launched docker registry successfully!" - -echo "Please put $node_ip:5000 as the REGISTRY_URL in all-in-one.yaml file" \ No newline at end of file From 43415c5fe485cbfbb78ae9594447d26acdba0f3f Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 14:24:06 +0200 Subject: [PATCH 08/13] Delete functions/kubernetes/setup_registry.sh --- functions/kubernetes/setup_registry.sh | 36 -------------------------- 1 file changed, 36 deletions(-) delete mode 100755 functions/kubernetes/setup_registry.sh diff --git a/functions/kubernetes/setup_registry.sh b/functions/kubernetes/setup_registry.sh deleted file mode 100755 index be4c266f..00000000 --- a/functions/kubernetes/setup_registry.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# Check if ifconfig is present and use it to get the default IP -if command -v ifconfig &> /dev/null; then - default_ip=$(ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $2}') -# Check if ip is present and use it if ifconfig is not available -elif command -v ip &> /dev/null; then - default_ip=$(ip addr show | grep -oP 'inet \K[\d.]+' | sed -n '2p') -# If both tools are not available, error out -else - echo "Error: Neither ifconfig nor ip command found in the machine. Exiting.." - exit 1 -fi - - -read -p "Enter your node IP to use for cert generation (default is $default_ip): " custom_ip -# Use localhost as the default value -node_ip=${custom_ip:-$default_ip} - -echo "Using node IP: $node_ip to generate SSL certs!" - -mkdir -p certs - -# Generate CA key -openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/reg.key -x509 -days 365 -out certs/reg.crt -subj "/CN=$node_ip" - -echo "Generated certs/reg.key and certs/reg.crt!" - -echo -e "Please run:\n" -echo "docker run -d -p 5000:5000 --restart=always --name "shuffle-local-registry" \ - -v $(pwd)/certs:/certs \ - -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/reg.crt \ - -e REGISTRY_HTTP_TLS_KEY=/certs/reg.key \ - registry:2" - -echo -e "\nnow to start the reigstry :)!" - From 64284f51384fbd1e5d5c2162daae2a19c1065a94 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 14:26:52 +0200 Subject: [PATCH 09/13] Update README.md --- functions/kubernetes/README.md | 69 ++-------------------------------- 1 file changed, 4 insertions(+), 65 deletions(-) diff --git a/functions/kubernetes/README.md b/functions/kubernetes/README.md index a54884e8..a98ef015 100644 --- a/functions/kubernetes/README.md +++ b/functions/kubernetes/README.md @@ -1,68 +1,7 @@ ## How to deploy Shuffle on Kubernetes? -### Prerequisites: -- Clone the https://github.com/shuffle/shuffle repository using Git then, navigate to the functions/kubernetes directory, which contains all the necessary Kubernetes configuration files for deployment. -- [Running a Kubernetes cluster](https://kubernetes.io/docs/setup/). You can do that with either minikube or run the cluster locally. -- Ensure you have a local Docker registry set up to store and manage Docker images for applications built with Shuffle. While the registry is crucial for handling custom-built apps, you’ll still be able to run workflows without it. To setup a docker registry, if you have docker installed on one of your node run following commands. - - - ``` - chmod +x generate_certs.sh - ./setup_registry.sh - ``` - - > This will give you a NODE_IP which is you're local IP if you're not sure about what to use. - - > **Make sure that port 5000 is not exposed to the internet!** - -- 8 GB RAM and 4 CPUs are recommended as **minimum configs** for running Shuffle on Kubernetes. K8s is a resource-intensive application, and you may experience performance issues if you run it on a machine with fewer resources. - -- If you've used the above commands to set up a registry, you'll need to skip an SSL verification for your registry. If you're using Containerd as a runtime - add the following lines in /etc/containerd/config.toml - ``` - [plugins."io.containerd.grpc.v1.cri".registry.mirrors.""] - endpoint = ["https://"] - - [plugins."io.containerd.grpc.v1.cri".registry.configs."".tls] - insecure_skip_verify = true - ``` - -### Instructions -Step 1: Create a namespace called shuffle in a cluster by running ```kubectl create ns shuffle```. - -Step 2: Open the ```all-in-one.yaml``` file and review the configuration values. Change the value of REGISTRY_URL with ':5000' where the registry is at. Adjust other variables as per your deployment requirements; otherwise, the application will deploy using the default settings provided within the file. Then apply the configmap and deploy with ```kubectl apply -f all-in-one.yaml -n shuffle``` - -Step 3: Now, open ```https://:30008``` or ```http://:30007```. You should be seeing a signup page. NODE_IP should be where the frontend is deployed. - -### Dev Mode - -1. Run backend and orborus with the environment variable `IS_KUBERNETES=true`: - -```bash -export IS_KUBERNETES=true -``` - -2. Turn on the k8s engine with minikube: - -```bash -minikube start -``` - -3. To use the worker scale feature, build the image with the following command: - -```bash -$NAME=shuffle-worker-scale -$VERSION=1.2.0 - -minikube build . -t shuffle/shuffle:$NAME -t shuffle/shuffle:$NAME_$VERSION -t docker.pkg.github.com/shuffle/shuffle/$NAME:$VERSION -t ghcr.io/shuffle/$NAME:$VERSION -t ghcr.io/shuffle/$NAME:nightly -t ghcr.io/shuffle/$NAME:$VERSION -t ghcr.io/shuffle/$NAME:nightly -t ghcr.io/shuffle/$NAME:latest -``` - -4. To run executions, Make sure to do the following: - -```bash -kubectl create role pod-creator --namespace=default --verb=create --resource=pods -kubectl create rolebinding pod-creator-binding --namespace=default --role=pod-creator --serviceaccount=default:default -``` - - +1. Make sure you have a Kubernetes cluster available. MiniKube works for testing. +2. Install `helm install shuffle oci://ghcr.io/shuffle/charts/shuffle --namespace shuffle --create-namespace` +3. Tweak the configuration files if needed! This is not meant to be a one-size-fits-all +More details in the [kubernetes/Charts/Shuffle folder.](https://github.com/Shuffle/Shuffle/tree/main/functions/kubernetes/charts/shuffle#usage) From f81e39e2358619e4b51477a1ad3bb13cfb944582 Mon Sep 17 00:00:00 2001 From: Frikky Date: Tue, 30 Sep 2025 14:29:05 +0200 Subject: [PATCH 10/13] Update README.md --- functions/kubernetes/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/functions/kubernetes/README.md b/functions/kubernetes/README.md index a98ef015..c2d2c3d1 100644 --- a/functions/kubernetes/README.md +++ b/functions/kubernetes/README.md @@ -1,7 +1,12 @@ -## How to deploy Shuffle on Kubernetes? +# Shuffle in Kubernetes 1. Make sure you have a Kubernetes cluster available. MiniKube works for testing. 2. Install `helm install shuffle oci://ghcr.io/shuffle/charts/shuffle --namespace shuffle --create-namespace` 3. Tweak the configuration files if needed! This is not meant to be a one-size-fits-all More details in the [kubernetes/Charts/Shuffle folder.](https://github.com/Shuffle/Shuffle/tree/main/functions/kubernetes/charts/shuffle#usage) + +## Architecture +Here is the default architecture it follows, with the "Frontend" being the exposed container you interact with. + +image From 160352f5f326c5c7156884664f629729e008438c Mon Sep 17 00:00:00 2001 From: yashsinghcodes Date: Wed, 1 Oct 2025 19:23:27 +0530 Subject: [PATCH 11/13] fixed auto deploy config --- .../kubernetes/charts/shuffle/Chart.yaml | 4 +- .../kubernetes/charts/shuffle/values.yaml | 42 +++++++++++++++---- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/functions/kubernetes/charts/shuffle/Chart.yaml b/functions/kubernetes/charts/shuffle/Chart.yaml index c1e36716..e286e11f 100644 --- a/functions/kubernetes/charts/shuffle/Chart.yaml +++ b/functions/kubernetes/charts/shuffle/Chart.yaml @@ -9,6 +9,6 @@ dependencies: version: ^2.23.0 repository: oci://registry-1.docker.io/bitnamicharts - name: opensearch - version: ^1.3.0 - repository: oci://registry-1.docker.io/bitnamicharts + version: 2.0.10 + repository: https://charts.bitnami.com/bitnami condition: opensearch.enabled diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index 5937ecdd..d0b39608 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -19,6 +19,8 @@ global: defaultStorageClass: "" ## Compatibility adaptations for Kubernetes platforms ## + security: + allowInsecureImages: true compatibility: ## Compatibility adaptations for Openshift ## @@ -1197,7 +1199,19 @@ orborus: ## - name: FOO ## value: "bar" ## - extraEnvVars: [] + extraEnvVars: + - name: SHUFFLE_APP_SDK_TIMEOUT + value: "300" + - name: SHUFFLE_ORBORUS_EXCUTION_CONCURRENCY + value: "7" + - name: ENVIRONMENT_NAME + value: "Shuffle" + - name: BASE_URL + value: "http://shuffle-backend:5001" + - name: SHUFFLE_STATS_DISABLED + value: "true" + - name: CLEANUP + value: "false" ## @param orborus.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for orborus containers ## extraEnvVarsCM: "" @@ -1841,7 +1855,7 @@ volumePermissions: ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets ## image: - registry: docker.io + registry: public.ecr.aws repository: bitnami/os-shell tag: 12-debian-12-r30 pullPolicy: IfNotPresent @@ -1898,17 +1912,31 @@ volumePermissions: ## opensearch: enabled: true - + + sysctlImage: + enabled: false + + image: + registry: public.ecr.aws + repository: bitnami/opensearch + tag: "3.2.0" + master: replicaCount: 1 + extraEnvVars: + - { name: OPENSEARCH_JAVA_OPTS, value: "-Xms1g -Xmx1g" } + - { name: DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI, value: "true" } + - { name: node.store.allow_mmap, value: "false" } + - { name: cluster.routing.allocation.disk.threshold_enabled, value: "false" } + data: - replicaCount: 1 + replicaCount: 0 coordinating: - replicaCount: 1 + replicaCount: 0 ingest: - replicaCount: 1 + replicaCount: 0 dashboards: - enabled: true + enabled: false ## @section Vault Parameters ## From dcc20e9c844f464abe1313211493cf0ded77ff61 Mon Sep 17 00:00:00 2001 From: yashsinghcodes Date: Thu, 2 Oct 2025 01:58:12 +0530 Subject: [PATCH 12/13] fix default k8 deployment --- .../kubernetes/charts/shuffle/values.yaml | 30 ++++++++----------- functions/onprem/orborus/orborus.go | 2 +- functions/onprem/worker/worker.go | 2 +- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index d0b39608..1e6af05e 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -76,7 +76,7 @@ diagnosticMode: shuffle: ## @param shuffle.baseUrl The external base URL under which Shuffle is reachable. ## - baseUrl: "" + #baseUrl: "" ## ref: https://shuffler.io/docs/organizations ## This chart only supports single-tenant deployments at the moment @@ -527,6 +527,8 @@ backend: ## @param backend.openSearch.username The username that is used for authenticating with OpenSearch ## username: admin + + password: StrongShufflePassword321! ## @param backend.openSearch.certificateFile The path to a custom OpenSearch certificate file ## certificateFile: "" @@ -1204,14 +1206,12 @@ orborus: value: "300" - name: SHUFFLE_ORBORUS_EXCUTION_CONCURRENCY value: "7" - - name: ENVIRONMENT_NAME - value: "Shuffle" - - name: BASE_URL - value: "http://shuffle-backend:5001" - name: SHUFFLE_STATS_DISABLED value: "true" - - name: CLEANUP - value: "false" + - name: KUBERNETES_NAMESPACE + value: "shuffle" + - name: SHUFFLE_BASE_IMAGE_NAME + value: "frikky/shuffle" ## @param orborus.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for orborus containers ## extraEnvVarsCM: "" @@ -1855,8 +1855,8 @@ volumePermissions: ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets ## image: - registry: public.ecr.aws - repository: bitnami/os-shell + registry: docker.io + repository: bitnamilegacy/os-shell tag: 12-debian-12-r30 pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. @@ -1917,20 +1917,14 @@ opensearch: enabled: false image: - registry: public.ecr.aws - repository: bitnami/opensearch + registry: docker.io + repository: bitnamilegacy/opensearch tag: "3.2.0" master: replicaCount: 1 - extraEnvVars: - - { name: OPENSEARCH_JAVA_OPTS, value: "-Xms1g -Xmx1g" } - - { name: DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI, value: "true" } - - { name: node.store.allow_mmap, value: "false" } - - { name: cluster.routing.allocation.disk.threshold_enabled, value: "false" } - data: - replicaCount: 0 + replicaCount: 1 coordinating: replicaCount: 0 ingest: diff --git a/functions/onprem/orborus/orborus.go b/functions/onprem/orborus/orborus.go index ab9b2230..2fd9cd0f 100755 --- a/functions/onprem/orborus/orborus.go +++ b/functions/onprem/orborus/orborus.go @@ -1586,7 +1586,7 @@ func initializeImages() { if len(os.Getenv("REGISTRY_URL")) > 0 { baseimageregistry = os.Getenv("REGISTRY_URL") } else { - os.Setenv("REGISTRY_URL", baseimageregistry) + // os.Setenv("REGISTRY_URL", baseimageregistry) } os.Setenv("SHUFFLE_BASE_IMAGE_REGISTRY", baseimageregistry) diff --git a/functions/onprem/worker/worker.go b/functions/onprem/worker/worker.go index 6dd41de4..10c1fc8c 100644 --- a/functions/onprem/worker/worker.go +++ b/functions/onprem/worker/worker.go @@ -3893,7 +3893,7 @@ func sendAppRequest(ctx context.Context, incomingUrl, appName string, port int, if attempts < 2 { // Check the service and fix it. if isKubernetes == "true" { - log.Printf("[WARNING] App Redeployment in K8s isn't fully supported yet, but should be done for app %s with image %s.", appName, image) + log.Printf("[WARNING] App Redeployment in K8s isn't fully supported yet, but should be done for app %s with image %s.", appName, image) } else { _, err = findAppInfo(image, appName, true) if err != nil { From 7947c6dcaa9fc19454438b8d0f8d54b2cda63a3c Mon Sep 17 00:00:00 2001 From: yashsinghcodes Date: Thu, 2 Oct 2025 02:01:36 +0530 Subject: [PATCH 13/13] don't allow insecure images --- functions/kubernetes/charts/shuffle/values.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/functions/kubernetes/charts/shuffle/values.yaml b/functions/kubernetes/charts/shuffle/values.yaml index 1e6af05e..4f46e482 100644 --- a/functions/kubernetes/charts/shuffle/values.yaml +++ b/functions/kubernetes/charts/shuffle/values.yaml @@ -19,8 +19,6 @@ global: defaultStorageClass: "" ## Compatibility adaptations for Kubernetes platforms ## - security: - allowInsecureImages: true compatibility: ## Compatibility adaptations for Openshift ##