Skip to content

Commit 9648582

Browse files
docs(README): Create Polaris-Core README (#2585)
* docs(README): Create Polaris-Core README
1 parent f3d53f0 commit 9648582

File tree

2 files changed

+56
-3
lines changed

2 files changed

+56
-3
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ Click [here](https://polaris.apache.org/in-dev/unreleased/) for a quick overview
4242
## Quickstart
4343
Click [here](https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/) for the quickstart experience, which will help you set up a Polaris instance locally or on any supported cloud provider.
4444

45-
## Building and Running
45+
## Project Structure
4646

4747
Apache Polaris is organized into the following modules:
4848

49-
- `polaris-core` - The main Polaris entity definitions and core business logic
49+
- [`polaris-core`](./polaris-core/README.md) - The main Polaris entity definitions and core business logic
5050
- API modules (implementing the Iceberg REST API and Polaris management API):
5151
- `polaris-api-management-model` - The Polaris management model
5252
- `polaris-api-management-service` - The Polaris management service
@@ -59,7 +59,9 @@ Apache Polaris is organized into the following modules:
5959
- Persistence modules:
6060
- `polaris-eclipselink` - The Eclipselink implementation of the MetaStoreManager interface
6161
- `polaris-relational-jdbc` - The JDBC implementation of BasePersistence to be used via AtomicMetaStoreManager
62-
62+
63+
## Building and Running
64+
6365
Apache Polaris is built using Gradle with Java 21+ and Docker 27+.
6466

6567
- `./gradlew build` - To build and run tests. Make sure Docker is running, as the integration tests depend on it.

polaris-core/README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
20+
# Polaris-Core Module
21+
22+
The `polaris-core` module contains the fundamental entity definitions, core business logic, and foundational interfaces that power Apache Polaris.
23+
24+
## Overview
25+
26+
`polaris-core` handles:
27+
- Entity Management
28+
- Security & Access Control
29+
- Common Persistence Logic
30+
- Object Storage Integration
31+
32+
## Key Components
33+
34+
### Entity Management
35+
Polaris has several different entities defined in `PolarisEntityType`. You can find their definitions in the package `org.apache.polaris.core.entity`.
36+
37+
### Security & Access Control
38+
Polaris uses a role-based access control (RBAC) model. `PolarisPrivilege` defines the available privileges. The RBAC model is implemented in `PolarisAuthorizer`. For more information on authorization, see the package `org.apache.polaris.core.auth`.
39+
40+
### Common Persistence Logic
41+
To store entities, Polaris provides a persistence layer built upon the `BasePersistence` interface. Common persistence logic is handled in the `org.apache.polaris.core.persistence` package. Implementations are found within [the persistence folder](../persistence).
42+
43+
### Object Storage Integration
44+
Polaris supports multiple object storage providers. `PolarisStorageIntegration` provides an interface for accessing and managing data in object stores. For more information, see the package `org.apache.polaris.core.storage`.
45+
46+
## Usage
47+
48+
The `polaris-core` module is primarily consumed by:
49+
- **API Services** - Management and catalog REST services
50+
- **Runtime Components** - Server and admin tools
51+
- **Persistence Implementations** - Eclipselink, JDBC, etc.

0 commit comments

Comments
 (0)