You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,6 +95,8 @@ In addition to modules, there are:
95
95
-[server-templates](./server-templates) - OpenAPI Generator templates to generate the server code
96
96
-[site](./site/README.md) - The Polaris website
97
97
98
+
Outside of this repository, there are several other tools that can be found in a separate [Polaris-Tools](https://github.com/apache/polaris-tools) repository.
99
+
98
100
## Building and Running
99
101
100
102
Apache Polaris is built using Gradle with Java 21+ and Docker 27+.
This folder contains the source for the Apache Polaris website, built using [Hugo](https://gohugo.io/) and (the Docsy theme)[https://www.docsy.dev/docs/].
23
+
24
+
## Quickstart
27
25
28
26
Just run the following command to let Hugo serve files from the Polaris `site/`.
29
27
```bash
@@ -35,7 +33,7 @@ Then point your browser to http://localhost:1313/
35
33
Then edit files from your IDE - you will see the changes in your browser. When changing the site structure,
36
34
it is often necessary to restart Hugo - just run `site/bin/run-hugo-in-docker.sh` again.
37
35
38
-
## Dealing with `--userns and --pod cannot be used together` errors
36
+
###Dealing with `--userns and --pod cannot be used together` errors
39
37
40
38
The scripts in the `bin/` directory are built to work with both Docker and podman. There are nuances in how
41
39
both behave, especially wrt docker/podman-compose. Some local environment specifics require the use of
@@ -49,10 +47,9 @@ DOCKER=docker
49
47
COMPOSE=docker-compose
50
48
```
51
49
50
+
## Building the static site
52
51
53
-
# Building the static site
54
-
55
-
## Building a static site - served at http://localhost:8080/
52
+
### Building a static site - served at http://localhost:8080/
56
53
57
54
This builds the static Apache Polaris site into `site/build/localhost-site` to be served using a http daemon.
58
55
The base URL will be `https://localhost:8080/`, which is the URL to be used when running the command below.
@@ -63,7 +60,7 @@ Run
63
60
site/bin/create-static-site.sh --local
64
61
```
65
62
66
-
## Building the Apache Polaris site
63
+
###Building the Apache Polaris site
67
64
68
65
This builds the static Apache Polaris site into `site/build/apache-site`. The base URL will be
69
66
`https://polaris.apache.org/` (as configured in `hugo.yaml`).
@@ -74,7 +71,7 @@ Run
74
71
site/bin/create-static-site.sh
75
72
```
76
73
77
-
# Versioned docs
74
+
##Versioned docs
78
75
79
76
(See [`/releases/` page](content/releases/_index.adoc) as well.)
80
77
@@ -93,14 +90,14 @@ ability to use relative links that still work when the docs are in an `/releases
93
90
Within a release's versioned docs folder, the release version number can be included in the markdown using the
94
91
custom Hugo shortcode `{{< releaseVersion >}}`.
95
92
96
-
## Git worktree
93
+
###Git worktree
97
94
98
95
The `content/releases/` folder is maintained in the separate `versioned-docs` branch. The whole `content/releases/`
99
96
folder is `.gitignore`d in the main source tree, otherwise Git complains about `content/releases` not being versioned
100
97
and if added to the main source tree (possible, Git allows that), the `git worktree add` below would complain about
101
98
the existing directory.
102
99
103
-
### Initial setup
100
+
####Initial setup
104
101
105
102
```bash
106
103
cd site/
@@ -113,7 +110,7 @@ git add .
113
110
git commit -m "Initial set of releases"
114
111
```
115
112
116
-
### Locally
113
+
####Locally
117
114
118
115
Use the following script to checkout the versioned release docs
119
116
```bash
@@ -124,7 +121,7 @@ bin/checkout-releases.sh
124
121
125
122
`bin/remove-releases.sh` removes the `content/releases` folder, if it does not contain uncommitted changes.
126
123
127
-
## New release
124
+
###New release
128
125
129
126
When a release is created, a bunch of things would happen via an automated GitHub workflow calling a shell script
130
127
in the main source tree:
@@ -145,7 +142,7 @@ in the main source tree:
145
142
8. Changes pushed to GitHub - both the `main` and the `versioned-docs` folder
146
143
9. The last step triggers the job to publish the web site
147
144
148
-
#Web site publishing (production)
145
+
## Website Publishing (Production)
149
146
150
147
To build a site locally (not required for `hugo serve -D`, but required for `hugo`) - with your local user.
151
148
@@ -167,7 +164,7 @@ This would be a GitHub workflow.
167
164
```
168
165
7. Publish the contents of the `public` folder to the website.
169
166
170
-
## Test statically built web site locally
167
+
###Test statically built website locally
171
168
172
169
The statically built web site in `public`_does not_ work when opened from the file system.
173
170
@@ -179,7 +176,7 @@ Instead, do something like this:
179
176
```
180
177
2. Then use your web browser to open http://localhost:8080/
181
178
182
-
# Noteworthy
179
+
##Noteworthy
183
180
184
181
* The `redoc` shortcode works fine with `hugo serve` and on the static site configured via the `baseURL` in `hugo.yaml`.
185
182
To test the static build result locally, it is mandatory to pass the `--baseURL` option to `hugo`.
@@ -188,11 +185,11 @@ Instead, do something like this:
188
185
* Some changes, especially those that change the site structure, requires a restart of `hugo serve -D`. This is also
189
186
true when the layout for the `robots.txt` is changed.
190
187
191
-
# Install Hugo + asciidoctor locally
188
+
##Install Hugo + asciidoctor locally
192
189
193
190
https://gohugo.io/installation/
194
191
195
-
## Ubuntu
192
+
###Ubuntu
196
193
197
194
To develop the site locally (aka `hugo serve -D`), install the following dependencies using the `root` user:
198
195
```bash
@@ -207,7 +204,7 @@ npm i -D postcss postcss-cli autoprefixer
207
204
npm install http-server -g
208
205
```
209
206
210
-
## macOS
207
+
###macOS
211
208
212
209
To develop the site locally (aka `hugo serve -D`), install the following dependencies:
213
210
```bash
@@ -223,3 +220,9 @@ brew install npm
223
220
npm -i -D postcss postcss-cli autoprefixer
224
221
npm install http-server -g
225
222
```
223
+
224
+
## Links
225
+
* Hugo: https://gohugo.io/
226
+
* Docsy theme: https://www.docsy.dev/docs/ and https://github.com/google/docsy/
# Licensed to the Apache Software Foundation (ASF) under one
4
+
# or more contributor license agreements. See the NOTICE file
5
+
# distributed with this work for additional information
6
+
# regarding copyright ownership. The ASF licenses this file
7
+
# to you under the Apache License, Version 2.0 (the
8
+
# "License"); you may not use this file except in compliance
9
+
# with the License. You may obtain a copy of the License at
10
+
#
11
+
# http://www.apache.org/licenses/LICENSE-2.0
12
+
#
13
+
# Unless required by applicable law or agreed to in writing,
14
+
# software distributed under the License is distributed on an
15
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+
# KIND, either express or implied. See the License for the
17
+
# specific language governing permissions and limitations
18
+
# under the License.
19
+
#
20
+
title: Migrating from Existing Iceberg Catalogs
21
+
linkTitle: Catalog Migration
22
+
type: docs
23
+
weight: 300
24
+
---
25
+
26
+
There are two ways to migrate an existing Iceberg catalog to Polaris:
27
+
1. Using the [Iceberg Catalog Migrator tool](https://github.com/apache/polaris-tools/blob/main/iceberg-catalog-migrator/README.md): A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris.
28
+
2. Using the [Polaris Synchronizer tool](https://github.com/apache/polaris-tools/blob/main/polaris-synchronizer/README.md): A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris.
29
+
30
+
Both of these tools are available in the [Polaris-Tools repository](https://github.com/apache/polaris-tools). Please refer to the relevant README.md documentation for more information.
0 commit comments