snazy commented on code in PR #3482:
URL: https://github.com/apache/polaris/pull/3482#discussion_r2707897285


##########
getting-started/rustfs/docker-compose.yml:
##########
@@ -0,0 +1,116 @@
+#
+# 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.
+#
+
+services:
+
+  rustfs:
+    image: rustfs/rustfs:latest
+    ports:
+      - "9000:9000" # S3 API port
+      - "9001:9001" # Console port
+    environment:
+      RUSTFS_ACCESS_KEY: rustfsadmin
+      RUSTFS_SECRET_KEY: rustfsadmin
+      RUSTFS_VOLUMES: /data
+      RUSTFS_ADDRESS: ":9000"
+      RUSTFS_CONSOLE_ENABLE: "true"
+      RUSTFS_CONSOLE_ADDRESS: ":9001"
+    healthcheck:
+      test:
+        [
+          "CMD",
+          "sh", "-c",
+          "curl -f http://127.0.0.1:9000/health && curl -f 
http://127.0.0.1:9001/rustfs/console/health";
+        ]
+      interval: 30s
+      timeout: 10s
+      retries: 3
+      start_period: 40s
+
+  polaris:
+    image: apache/polaris:latest
+    ports:
+      # API port
+      - "8181:8181"
+      # Optional, allows attaching a debugger to the Polaris JVM
+      - "5005:5005"
+    depends_on:
+      rustfs:
+        condition: service_healthy
+    environment:
+      JAVA_DEBUG: true
+      JAVA_DEBUG_PORT: "*:5005"
+      AWS_REGION: us-west-2
+      AWS_ACCESS_KEY_ID: rustfsadmin
+      AWS_SECRET_ACCESS_KEY: rustfsadmin
+      POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,root,s3cr3t
+      polaris.realm-context.realms: POLARIS
+      quarkus.otel.sdk.disabled: "true"
+    healthcheck:
+      test: ["CMD", "curl", "http://localhost:8182/q/health";]
+      interval: 2s
+      timeout: 10s
+      retries: 10
+      start_period: 10s
+
+  setup_bucket:
+    image: quay.io/minio/mc:latest

Review Comment:
   Wonder why `mc` is being used here. Doesn't Rustfs provide a tool for this 
as well?



##########
getting-started/rustfs/README.md:
##########
@@ -0,0 +1,95 @@
+<!--
+  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.
+-->
+
+# Getting Started with Apache Polaris and RustFS
+
+## Overview
+
+This example uses RustFS as a storage provider with Polaris.
+
+Spark is used as a query engine. This example assumes a local Spark 
installation.
+See the [Spark Notebooks Example](../spark/README.md) for a more advanced 
Spark setup.
+
+## Starting the Example
+
+1. Build the Polaris server image if it's not already present locally:
+
+    ```shell
+    ./gradlew \
+       :polaris-server:assemble \
+       :polaris-server:quarkusAppPartsBuild --rerun \
+       -Dquarkus.container-image.build=true
+    ```
+
+2. Start the docker compose group by running the following command from the 
root of the repository:
+
+    ```shell
+    docker compose -f getting-started/rustfs/docker-compose.yml up

Review Comment:
   This one fails for me after a while:
   ```
   docker compose -f getting-started/rustfs/docker-compose.yml up
   >>>> Executing external compose provider 
"/usr/libexec/docker/cli-plugins/docker-compose". Please see podman-compose(1) 
for how to disable this message. <<<<
   
   [+] Running 17/17
    ✔ setup_bucket Pulled                                                       
                                                                                
                                                                                
                                                          3.1s 
      ✔ b83ce1c86227 Already exists                                             
                                                                                
                                                                                
                                                          0.0s 
      ✔ b7c1efd1d2b4 Download complete                                          
                                                                                
                                                                                
                                                          0.7s 
      ✔ b268f447c871 Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
      ✔ f29310fc4a8a Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
      ✔ 9404e0df6bd3 Download complete                                          
                                                                                
                                                                                
                                                          1.1s 
      ✔ 4a93952ab9ce Download complete                                          
                                                                                
                                                                                
                                                          0.1s 
      ✔ c2ad77420d33 Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
    ✔ rustfs Pulled                                                             
                                                                                
                                                                                
                                                          6.7s 
      ✔ 4f4fb700ef54 Already exists                                             
                                                                                
                                                                                
                                                          0.0s 
      ✔ 1074353eec0d Already exists                                             
                                                                                
                                                                                
                                                          0.0s 
      ✔ 1d1dee9383a6 Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
      ✔ 82f2cf490642 Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
      ✔ d3ec0616f053 Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
      ✔ efb5b00da6a9 Download complete                                          
                                                                                
                                                                                
                                                          0.3s 
      ✔ 981fcf90905c Download complete                                          
                                                                                
                                                                                
                                                          5.5s 
      ✔ c83e944dc36e Download complete                                          
                                                                                
                                                                                
                                                          0.0s 
   [+] Running 5/5
    ✔ Network rustfs_default            Created                                 
                                                                                
                                                                                
                                                          0.0s 
    ✔ Container rustfs-rustfs-1         Created                                 
                                                                                
                                                                                
                                                          0.7s 
    ✔ Container rustfs-setup_bucket-1   Created                                 
                                                                                
                                                                                
                                                          0.0s 
    ✔ Container rustfs-polaris-1        Created                                 
                                                                                
                                                                                
                                                          0.0s 
    ✔ Container rustfs-polaris-setup-1  Created                                 
                                                                                
                                                                                
                                                          0.0s 
   Attaching to polaris-1, polaris-setup-1, rustfs-1, setup_bucket-1
   rustfs-1         | Initializing data directories: /data
   rustfs-1         | OBS log directory not configured and logs outputs to 
stdout
   rustfs-1         | !!!WARNING: Using default RUSTFS_ACCESS_KEY or 
RUSTFS_SECRET_KEY. Override them in production!
   rustfs-1         | Starting: /usr/bin/rustfs  /data
   rustfs-1         | RustFS Http API: http://10.89.0.4:9000  
http://127.0.0.1:9000
   rustfs-1         | RustFS Start Time: 2026-01-20 11:14:43
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.212466879Z","level":"WARN","fields":{"message":"Detected
 default credentials 'rustfsadmin:rustfsadmin', we recommend that you change 
these values with 'RUSTFS_ACCESS_KEY' and 'RUSTFS_SECRET_KEY' environment 
variables"},"target":"rustfs::server::http","filename":"rustfs/src/server/http.rs","line_number":171,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | Console WebUI Start Time: 2026-01-20 11:14:43
   rustfs-1         | Console WebUI available at: 
http://10.89.0.4:9001/rustfs/console/index.html
   rustfs-1         | Console WebUI (localhost): 
http://127.0.0.1:9001/rustfs/console/index.html
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.215548374Z","level":"WARN","fields":{"message":"config
 not found, start to 
init"},"target":"rustfs_ecstore::tier::tier","filename":"crates/ecstore/src/tier/tier.rs","line_number":490,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.21644797Z","level":"WARN","fields":{"message":"Configuration
 not found (Read the main configuration): Start initializing new 
configuration"},"target":"rustfs_ecstore::config::com","filename":"crates/ecstore/src/config/com.rs","line_number":137,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.217214776Z","level":"WARN","fields":{"message":"Configuration
 initialization complete (Read the main 
configuration)"},"target":"rustfs_ecstore::config::com","filename":"crates/ecstore/src/config/com.rs","line_number":139,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.220595899Z","level":"WARN","fields":{"message":"Global
 region is not set; attempting notification configuration for all buckets with 
an empty 
region."},"target":"rustfs::init","filename":"rustfs/src/init.rs","line_number":101,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.220696059Z","level":"WARN","fields":{"message":"main
 checkpoint file is corrupted or not exists: Not found: checkpoint file not 
exists: 
\"/tmp/rustfs_scanner/scanner_checkpoint_scanner-node-a00d591b5b1a4f3e9731b123df370860.json\""},"target":"rustfs_ahm::scanner::checkpoint","filename":"crates/ahm/src/scanner/checkpoint.rs","line_number":154,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | 
{"timestamp":"2026-01-20T11:14:43.220705629Z","level":"WARN","fields":{"message":"backup
 file is corrupted or not exists: Not found: checkpoint file not exists: 
\"/tmp/rustfs_scanner/scanner_checkpoint_scanner-node-a00d591b5b1a4f3e9731b123df370860.backup\""},"target":"rustfs_ahm::scanner::checkpoint","filename":"crates/ahm/src/scanner/checkpoint.rs","line_number":172,"threadName":"main","threadId":"ThreadId(1)"}
   rustfs-1         | RustFS server started successfully at [::]:9000, current 
time: 2026-01-20 11:14:43.220719429 UTC
   
   dependency failed to start: container rustfs-rustfs-1 is unhealthy
   Error: executing /usr/libexec/docker/cli-plugins/docker-compose -f 
getting-started/rustfs/docker-compose.yml up: exit status 1
   ```
   
   The health-check command itself seems to work fine though:
   ```
   $ docker container exec c169ceab8242 sh -c 'curl -f 
http://127.0.0.1:9000/health && curl -f 
http://127.0.0.1:9001/rustfs/console/health'
     % Total    % Received % Xferd  Average Speed   Time    Time     Time  
Current
                                    Dload  Upload   Total   Spent    Left  Speed
   100   111 100   111   0     0 285347     0  --:--:-- --:--:-- --:--:-- 111000
   
{"service":"rustfs-endpoint","status":"ok","timestamp":"2026-01-20T11:20:07.728989111+00:00","version":"0.0.5"}
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
   100   204 100   204   0     0 532637     0  --:--:-- --:--:-- --:--:-- 204000
   
{"details":{"iam":{"status":"connected"},"storage":{"status":"connected"}},"service":"rustfs-console","status":"ok","timestamp":"2026-01-20T11:20:07.732014419+00:00","uptime":1768908007,"version":"0.0.5"}
   ```



##########
getting-started/rustfs/docker-compose.yml:
##########
@@ -0,0 +1,116 @@
+#
+# 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.
+#
+
+services:
+
+  rustfs:
+    image: rustfs/rustfs:latest

Review Comment:
   Can you add a "real" version here and below?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to