This is an automated email from the ASF dual-hosted git repository.

bamaer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new 29252cc100 [CI] replace minio with seaweedFS (#8707)
29252cc100 is described below

commit 29252cc100b2fd7677dcc7ed8bee9fb1d526be90
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Wed Sep 30 14:34:35 2026 +0200

    [CI] replace minio with seaweedFS (#8707)
---
 .../integration-tests-hop_server.yaml              | 29 ++++++++---------
 .../integration-tests/integration-tests-minio.yaml | 38 +++++++++++-----------
 .../main-0014-test-export-only-vfs-connection.hwf  |  8 ++---
 .../export-only-storage.json                       |  4 +--
 integration-tests/minio/dev-env-config.json        |  4 +--
 .../metadata/MinioConnectionDefinition/minio.json  |  2 +-
 6 files changed, 42 insertions(+), 43 deletions(-)

diff --git a/docker/integration-tests/integration-tests-hop_server.yaml 
b/docker/integration-tests/integration-tests-hop_server.yaml
index 3d046a3696..300b004a86 100644
--- a/docker/integration-tests/integration-tests-hop_server.yaml
+++ b/docker/integration-tests/integration-tests-hop_server.yaml
@@ -25,20 +25,20 @@ services:
         condition: service_healthy
       hop_server_no_cross_site_check:
         condition: service_healthy
-      minio:
+      seaweedfs:
         condition: service_healthy
     links:
       - hop_server
       - hop_server_no_cross_site_check
-      - minio
+      - seaweedfs
 
   hop_server:
     image: apache/hop:Development
     depends_on:
-      minio:
+      seaweedfs:
         condition: service_healthy
     links:
-      - minio
+      - seaweedfs
     build:
       context: ../../.
       dockerfile: docker/Dockerfile
@@ -94,19 +94,18 @@ services:
 
   # Storage behind the "export-only-storage" VFS connection of main-0014. That 
connection lives in
   # the client project's metadata-client-only folder, so it only ever reaches 
the server inside the
-  # export ZIP - which is what the test is about.
-  minio:
-    image: quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z
-    hostname: minio
+  # export ZIP - which is what the test is about. SeaweedFS serves the S3 API 
on 8333; the admin
+  # identity comes from the AWS_* variables. The connection is still of the 
Minio type: that plugin
+  # speaks plain S3 and works against any compatible store.
+  seaweedfs:
+    image: chrislusf/seaweedfs:4.48
+    hostname: seaweedfs
     environment:
-      MINIO_REGION: "local"
-      MINIO_REGION_NAME: "local"
-      MINIO_SCHEME: "http"
-      MINIO_ROOT_USER: "ApacheHopAccessKey"
-      MINIO_ROOT_PASSWORD: "ApacheHopSecretKey"
-    command: server /data --console-address ":9001"
+      AWS_ACCESS_KEY_ID: "ApacheHopAccessKey"
+      AWS_SECRET_ACCESS_KEY: "ApacheHopSecretKey"
+    command: server -s3 -dir=/data -volume.max=0 -master.volumeSizeLimitMB=64
     healthcheck:
-      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live";]
+      test: ["CMD", "curl", "-f", "http://localhost:8333/healthz";]
       interval: 10s
       timeout: 10s
       retries: 12
diff --git a/docker/integration-tests/integration-tests-minio.yaml 
b/docker/integration-tests/integration-tests-minio.yaml
index 0629b1e80a..f6c53af600 100644
--- a/docker/integration-tests/integration-tests-minio.yaml
+++ b/docker/integration-tests/integration-tests-minio.yaml
@@ -21,26 +21,26 @@ services:
       file: integration-tests-base.yaml
       service: integration_test
     depends_on:
-      minio:
+      seaweedfs:
         condition: service_healthy
-    links: 
-      - minio
+    links:
+      - seaweedfs
 
-  minio:
-    image: quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z
-    ports: 
-      - "9000:9000"
-      - "9001:9001"
+  # S3-compatible object store behind the "minio" VFS connection. SeaweedFS 
serves the S3 API on
+  # 8333; the admin identity comes from the AWS_* variables. The connection is 
still of the Minio
+  # type: that plugin speaks plain S3 and works against any compatible store.
+  seaweedfs:
+    image: chrislusf/seaweedfs:4.48
+    hostname: seaweedfs
+    ports:
+      - "8333:8333"
     environment:
-      MINIO_REGION: "local"
-      MINIO_REGION_NAME: "local"
-      MINIO_SCHEME: "http"
-      MINIO_ROOT_USER: "ApacheHopAccessKey"
-      MINIO_ROOT_PASSWORD: "ApacheHopSecretKey"
-    command: server /data --console-address ":9001"
-
+      AWS_ACCESS_KEY_ID: "ApacheHopAccessKey"
+      AWS_SECRET_ACCESS_KEY: "ApacheHopSecretKey"
+    command: server -s3 -dir=/data -volume.max=0 -master.volumeSizeLimitMB=64
     healthcheck:
-      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live";]
-      interval: 30s
-      timeout: 20s
-      retries: 3
\ No newline at end of file
+      test: ["CMD", "curl", "-f", "http://localhost:8333/healthz";]
+      interval: 10s
+      timeout: 10s
+      retries: 12
+      start_period: 20s
diff --git 
a/integration-tests/hop_server/main-0014-test-export-only-vfs-connection.hwf 
b/integration-tests/hop_server/main-0014-test-export-only-vfs-connection.hwf
index 74958e08a0..d6072b4c11 100644
--- a/integration-tests/hop_server/main-0014-test-export-only-vfs-connection.hwf
+++ b/integration-tests/hop_server/main-0014-test-export-only-vfs-connection.hwf
@@ -23,14 +23,14 @@ limitations under the License.
   <description>Regression test for issue #8106: a named VFS connection carried 
by an export must be
     usable by the pipeline running on the remote Hop Server.
 
-    The "export-only-storage" Minio connection lives in the client project's 
metadata-client-only
-    folder. The server registers ${PROJECT_HOME}/metadata as its own metadata 
folder, so it never
+    The "export-only-storage" Minio-type connection (backed by SeaweedFS) 
lives in the client
+    project's metadata-client-only folder. The server registers 
${PROJECT_HOME}/metadata as its own metadata folder, so it never
     sees that connection except inside the export ZIP. The inner workflow runs 
remotely and writes
     a file through it; the check below runs back on the client, where the 
connection is known to
     resolve, and proves the server really wrote to the object store.
 
     Before the fix the server has no provider for the "export-only-storage" 
scheme, so the path is
-    treated as a relative local file, nothing reaches Minio and this test 
fails.</description>
+    treated as a relative local file, nothing reaches the object store and 
this test fails.</description>
   <extended_description/>
   <workflow_version/>
   <created_user>-</created_user>
@@ -60,7 +60,7 @@ limitations under the License.
     </action>
     <action>
       <name>Cleanup marker in object store</name>
-      <description>Runs on the client, which can reach the same Minio. 
Removing the file first means
+      <description>Runs on the client, which can reach the same object store. 
Removing the file first means
         the check can only succeed on something the server wrote during this 
run, and it keeps the
         export from bundling an existing file in place of the connection 
reference.</description>
       <type>DELETE_FILE</type>
diff --git 
a/integration-tests/hop_server/metadata-client-only/MinioConnectionDefinition/export-only-storage.json
 
b/integration-tests/hop_server/metadata-client-only/MinioConnectionDefinition/export-only-storage.json
index 2dc65d223a..ac3e6ce704 100644
--- 
a/integration-tests/hop_server/metadata-client-only/MinioConnectionDefinition/export-only-storage.json
+++ 
b/integration-tests/hop_server/metadata-client-only/MinioConnectionDefinition/export-only-storage.json
@@ -1,12 +1,12 @@
 {
-  "endPointHostname": "minio",
+  "endPointHostname": "seaweedfs",
   "virtualPath": "",
   "secretKey": "ApacheHopSecretKey",
   "accessKey": "ApacheHopAccessKey",
   "partSize": "5242880",
   "name": "export-only-storage",
   "description": "A named VFS connection that exists ONLY in the client 
project's metadata-client-only folder. The Hop Server registers 
${PROJECT_HOME}/metadata as its metadata folder, so this connection can only 
reach the server inside the export ZIP. Used by main-0014 to prove that VFS 
connections carried by an export are usable on the server (issue #8106). Values 
are literals on purpose: the test is about the connection reaching the server, 
not about variable resolution.",
-  "endPointPort": "9000",
+  "endPointPort": "8333",
   "endPointSecure": false,
   "region": "local"
 }
diff --git a/integration-tests/minio/dev-env-config.json 
b/integration-tests/minio/dev-env-config.json
index b7813171e7..6b4bf8dd32 100644
--- a/integration-tests/minio/dev-env-config.json
+++ b/integration-tests/minio/dev-env-config.json
@@ -1,11 +1,11 @@
 {
   "variables" : [ {
     "name" : "MINIO_ENDPOINT_HOSTNAME",
-    "value" : "minio",
+    "value" : "seaweedfs",
     "description" : "The endpoint hostname"
   }, {
     "name" : "MINIO_ENDPOINT_PORT",
-    "value" : "9000",
+    "value" : "8333",
     "description" : "The endpoint port"
   }, {
     "name" : "MINIO_ACCESS_KEY",
diff --git 
a/integration-tests/minio/metadata/MinioConnectionDefinition/minio.json 
b/integration-tests/minio/metadata/MinioConnectionDefinition/minio.json
index d754f17817..db7a3f13c1 100644
--- a/integration-tests/minio/metadata/MinioConnectionDefinition/minio.json
+++ b/integration-tests/minio/metadata/MinioConnectionDefinition/minio.json
@@ -5,7 +5,7 @@
   "accessKey": "${MINIO_ACCESS_KEY}",
   "partSize": "${MINIO_PART_SIZE}",
   "name": "minio",
-  "description": "The S3 endpoint on a local Minio container for testing",
+  "description": "The S3 endpoint on a local SeaweedFS container for testing",
   "endPointPort": "${MINIO_ENDPOINT_PORT}",
   "endPointSecure": false,
   "region": "${MINIO_REGION}"

Reply via email to