This is an application to inspect Apache Iceberg Catalogs github: AlexMercedCoder/apache-iceberg-ui
914
A modern web application for managing Apache Iceberg tables via a REST Catalog.
rest-catalog-open-api compliant server).backend directory:
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
frontend directory:
cd frontend
npm install
npm run dev
Copy example.env.json to env.json and update it with your catalog details. Alternatively, you can provide these details via the UI.
{
"catalog": {
"uri": "http://localhost:8181",
"credential": "client:secret",
"warehouse": "s3://bucket/warehouse"
}
}
http://localhost:5173).env.json.You can run the application easily using the pre-built Docker image.
Run the UI on port 8000:
docker run -p 8000:8000 alexmerced/iceberg-ui
Access the UI at http://localhost:8000.
To spin up a complete testing environment with a Nessie Catalog and Minio S3 storage, use the provided docker-compose.yml (or create one):
version: '3.8'
services:
iceberg-ui:
image: alexmerced/iceberg-ui
ports:
- "8000:8000"
environment:
- AWS_ACCESS_KEY_ID=admin
- AWS_SECRET_ACCESS_KEY=password
- AWS_REGION=us-east-1
- S3_ENDPOINT=http://minio:9000
- CATALOG_URI=http://nessie:19120/api/v1
- CATALOG_WAREHOUSE=s3://warehouse/
depends_on:
- nessie
- minio
nessie:
image: projectnessie/nessie:latest
ports:
- "19120:19120"
environment:
- QUARKUS_HTTP_PORT=19120
- NESSIE_VERSION_STORE_TYPE=INMEMORY
- NESSIE_SERVER_DEFAULT_BRANCH=main
# Credential Vending
- NESSIE_CATALOG_DEFAULT_WAREHOUSE=s3://warehouse/
- NESSIE_CATALOG_ICEBERG_CONFIG_DEFAULTS_S3_ENDPOINT=http://minio:9000
- NESSIE_CATALOG_ICEBERG_CONFIG_DEFAULTS_S3_PATH_STYLE_ACCESS=true
- NESSIE_CATALOG_ICEBERG_CONFIG_DEFAULTS_S3_ACCESS_KEY_ID=admin
- NESSIE_CATALOG_ICEBERG_CONFIG_DEFAULTS_S3_SECRET_ACCESS_KEY=password
- NESSIE_CATALOG_ICEBERG_CONFIG_DEFAULTS_CLIENT_REGION=us-east-1
minio:
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=password
command: server /data --console-address ":9001"
createbuckets:
image: minio/mc
depends_on:
- minio
entrypoint: >
/bin/sh -c "
/usr/bin/mc alias set myminio http://minio:9000 admin password;
/usr/bin/mc mb myminio/warehouse;
/usr/bin/mc anonymous set public myminio/warehouse;
exit 0;
"
Content type
Image
Digest
sha256:6d00f7c09…
Size
414.8 MB
Last updated
10 months ago
docker pull alexmerced/iceberg-ui