flyrain commented on code in PR #836:
URL: https://github.com/apache/polaris/pull/836#discussion_r1926393218


##########
README.md:
##########
@@ -39,15 +39,38 @@ 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. 
+
+For local development, you can run the following commands:
+

Review Comment:
   Is this necessary, considering the following commands and their accompanying 
comments are already clear and self-explanatory?



##########
README.md:
##########
@@ -57,36 +80,75 @@ 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
+
+Please note: there are no official Docker images for Apache Polaris yet. For 
now, you can build the
+Docker images locally.
+
+To build the Polaris server Docker image locally:
+
+```shell
+./gradlew clean :polaris-quarkus-server:assemble 
-Dquarkus.container-image.build=true
+```
+
+To run the Polaris server Docker image:
+
+```shell
+docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest
+```

Review Comment:
   Can we simplify it a bit like this?
   ```suggestion
   #### 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.



##########
README.md:
##########
@@ -57,36 +80,75 @@ 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
+
+Please note: there are no official Docker images for Apache Polaris yet. For 
now, you can build the
+Docker images locally.
+
+To build the Polaris server Docker image locally:
+
+```shell
+./gradlew clean :polaris-quarkus-server:assemble 
-Dquarkus.container-image.build=true
+```
+
+To run the Polaris server Docker image:
+
+```shell
+docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest
+```
+
+#### 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 metrics 
+  endpoints.
+  - Currently supported metrics and health 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
+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
+```
+
+The above command will by default run Polaris with the Docker image 
`apache/polaris:latest`; if you
+want to use a different image, you can modify the `docker-compose.yaml` file 
prior to running it;
+alternatively, you can use the following commands to override the image:
+
+```shell
+cat <<EOF > /tmp/polaris-image.yml
+services: { polaris: { image: localhost:5001/apache/polaris:latest } }
+EOF
+docker compose -f regtests/docker-compose.yml -f /tmp/polaris-image.yml up 
--build --exit-code-from regtest
+```

Review Comment:
   I'd prefer to not mention it in the main readme, either leaving for 
users/developers to figure out by themselves or moving this to the readme file 
under the directory `regtests`.



##########
README.md:
##########
@@ -57,36 +80,75 @@ 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
+
+Please note: there are no official Docker images for Apache Polaris yet. For 
now, you can build the
+Docker images locally.
+
+To build the Polaris server Docker image locally:
+
+```shell
+./gradlew clean :polaris-quarkus-server:assemble 
-Dquarkus.container-image.build=true
+```
+
+To run the Polaris server Docker image:
+
+```shell
+docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest
+```
+
+#### 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 metrics 
+  endpoints.
+  - Currently supported metrics and health endpoints:

Review Comment:
   Can we simplify a bit like this?
   ```suggestion
     connections between a local machine and a pod within the cluster for both 
service and health/metrics 
     endpoints:
   ```



-- 
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