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

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


The following commit(s) were added to refs/heads/main by this push:
     new 3be2084c Docs: Adapt main README.md to Quarkus (#836)
3be2084c is described below

commit 3be2084c4828abdd530f29732f4a46acd8daf19f
Author: Alexandre Dutra <[email protected]>
AuthorDate: Thu Jan 23 17:54:23 2025 +0100

    Docs: Adapt main README.md to Quarkus (#836)
---
 README.md | 90 ++++++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 63 insertions(+), 27 deletions(-)

diff --git a/README.md b/README.md
index da1a27eb..1e1e9ed5 100644
--- a/README.md
+++ b/README.md
@@ -39,15 +39,35 @@ for contribution guidelines.
 ## Building and Running 
 
 Apache Polaris is organized into the following modules:
+
 - `polaris-core` - The main Polaris entity definitions and core business logic
-- `polaris-server` - The Polaris REST API server
-- `polaris-eclipselink` - The Eclipselink implementation of the 
MetaStoreManager interface
+- API modules (implementing the Iceberg REST API and Polaris management API):
+  - `polaris-api-management-model` - The Polaris management model
+  - `polaris-api-management-service` - The Polaris management service
+  - `polaris-api-iceberg-service` - The Iceberg REST service
+- Service modules:
+  - `polaris-service-common` - The main components of the Polaris server
+- Quarkus runtime modules:
+  - `polaris-quarkus-service` - The Quarkus-specific components of the Polaris 
server
+  - `polaris-quarkus-defaults` - The Quarkus-specific configuration defaults
+  - `polaris-quarkus-server` - The Polaris server runtime
+  - `polaris-quarkus-admin-tool` - The Polaris admin & maintenance tool
+- Persistence modules:
+  - `polaris-jpa-model` - The JPA entity definitions
+  - `polaris-eclipselink` - The Eclipselink implementation of the 
MetaStoreManager interface
  
 Apache Polaris is built using Gradle with Java 21+ and Docker 27+.
+
 - `./gradlew build` - To build and run tests. Make sure Docker is running, as 
the integration tests depend on it.
 - `./gradlew assemble` - To skip tests.
 - `./gradlew test` - To run unit tests and integration tests.
-- `./gradlew runApp` - To run the Polaris server locally on localhost:8181. 
+- `./gradlew polarisServerRun` - To run the Polaris server locally, with 
profile `prod`; the server 
+  is reachable at localhost:8181.
+- `java -Dquarkus.profile=test -jar 
quarkus/server/build/quarkus-app/quarkus-run.jar` - To run the
+  Polaris server locally, with profile `test`. With this profile, Polaris uses 
the `test`
+  Authenticator and `test` TokenBroker; this configuration is suitable for 
running regressions
+  tests, or for connecting with Spark.
+
 - `./regtests/run_spark_sql.sh` - To connect from Spark SQL. Here are some 
example commands to run in the Spark SQL shell:
 ```sql
 create database db1;
@@ -57,36 +77,52 @@ insert into db1.table1 values (1, 'a');
 select * from db1.table1;
 ```
 
-Apache Polaris supports the following optional build options:
-- `-PeclipseLink=true` – Enables the EclipseLink extension.
-- `-PeclipseLinkDeps=[groupId]:[artifactId]:[version],...` – Specifies one or 
more additional dependencies for EclipseLink (e.g., JDBC drivers) separated by 
commas.
-
 ### More build and run options
-Running in Docker
-- `docker build -t localhost:5001/polaris:latest .` - To build the image.
-  - Optional build options:
-    - `docker build -t localhost:5001/polaris:latest --build-arg 
ECLIPSELINK=true .` - Enables the EclipseLink extension.
-    - `docker build -t localhost:5001/polaris:latest --build-arg 
ECLIPSELINK=true --build-arg 
ECLIPSELINK_DEPS=[groupId]:[artifactId]:[version],... .` – Enables the 
EclipseLink extension with one or more additional dependencies for EclipseLink 
(e.g. JDBC drivers) separated by commas.
-- `docker run -p 8181:8181 localhost:5001/polaris:latest` - To run the image 
in standalone mode.
-
-Running in Kubernetes
-- `./run.sh` - To run Polaris as a mini-deployment locally. This will create 
one pod that bind itself to ports `8181` and `8182`.
-  - Optional run options:
-    - `./run.sh -b "ECLIPSELINK=true"` - Enables the EclipseLink extension.
-    - `./run.sh -b 
"ECLIPSELINK=true;ECLIPSELINK_DEPS=[groupId]:[artifactId]:[version],..."` – 
Enables the EclipseLink extension with one or more additional dependencies for 
EclipseLink (e.g. JDBC drivers) separated by commas.
-- `kubectl port-forward svc/polaris-service -n polaris 8181:8181 8182:8182` - 
To create secure connections between a local machine and a pod within the 
cluster for both service and metrics endpoints.
-  - Currently supported metrics endpoints:
-    - localhost:8182/metrics
-    - localhost:8182/healthcheck
+
+#### Running in Docker
+
+- `./gradlew clean :polaris-quarkus-server:assemble 
-Dquarkus.container-image.build=true` - To 
+  build the image locally.
+- `docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest` - To run the 
image.
+
+#### Running in Kubernetes
+
+- `./run.sh` - To run Polaris as a mini-deployment locally. This will create a 
Kind cluster, 
+  then deploy one pod and one service. The service is available on ports 
`8181` and `8182`.
+- `kubectl port-forward svc/polaris-service -n polaris 8181:8181 8182:8182` - 
To create secure 
+  connections between a local machine and a pod within the cluster for both 
service and 
+  health/metrics endpoints:
+  - http://localhost:8182/q/metrics
+  - http://localhost:8182/q/health
 - `kubectl get pods -n polaris` - To check the status of the pods.
 - `kubectl get deployment -n polaris` - To check the status of the deployment.
 - `kubectl describe deployment polaris-deployment -n polaris` - To 
troubleshoot if things aren't working as expected.
 
-Running regression tests
-- `./regtests/run.sh` - To run regression tests in another terminal.
-- `docker compose up --build --exit-code-from regtest` - To run regression 
tests in a Docker environment.
+#### Running regression tests
+
+Regression tests can be run in a local environment or in a Docker environment.
+
+To run regression tests locally, you need to have a Polaris server running 
locally, with the 
+`test` Authenticator enabled. You can do this by running Polaris as below:
+
+```shell
+java -Dquarkus.profile=test -jar 
quarkus/server/build/quarkus-app/quarkus-run.jar
+```
+
+Then, you can run the regression tests using the following command:
+
+```shell
+env POLARIS_HOST=localhost ./regtests/run.sh
+```
+
+To run regression tests in a Docker environment, you can use the following 
command:
+
+```shell
+docker compose -f regtests/docker-compose.yml up --build --exit-code-from 
regtest
+```
+
+#### Building docs
 
-Building docs
 - Docs are generated using [Hugo](https://gohugo.io/) using the 
[Docsy](https://www.docsy.dev/docs/) theme.
 - To view the site locally, run
   ```bash

Reply via email to