Skip to content

A Rust implementation of the Iceberg REST Catalog specification.

License

Notifications You must be signed in to change notification settings

camuel/iceberg-rest-server

 
 

Repository files navigation

Iceberg Rest Server

License Build Status

Native rust implementation of the Apache Iceberg REST Catalog specification, based on iceberg-rust and axum.

For a minimal configuration, a postgres Database is currently the only external dependency required to run the server. Other Databases will be supported in the future.

Features

Please find following an overview of currently supported features. Also check the Issues if you are missing something.

Supported Operations - Iceberg-Rest

Operation Status Description
Namespace done All operations implemented
Table done All operations implemented - additional integration tests in development
Views open Remove unused files and log entries
Metrics open Endpoint is available but doesn't store the metrics

Storage Profile Support

Storage Status Comment
S3 - AWS semi-done No vended-credentials - only remote-signing, assume role missing
S3 - Custom done Vended-Credentials not possible (AWS STS is missing)
Azure Blob open
Azure ADLS Gen2 open
Microsoft OneLake open
Google Cloud Storage open

Supported Catalog Backends

Backend Status Comment
Postgres done

Supported Secret Stores

Backend Status Comment
Postgres done
HashiCorp-Vault-Like open

Supported Operations - Management API

Operation Status Description
Warehouse - Create done Create a new Warehouse in a Project
Warehouse - Update open Update a Warehouse, i.e. its Storage
Warehouse - Delete open Delete a Warehouse
AuthZ open Manage access to warehouses, namespaces and tables
More to come! open

Auth(N/Z) Handlers

Operation Status Description
OIDC (AuthN) open Secure access to tables via OIDC
Custom (AuthZ) done If you are willing to implement a single rust Trait, the AuthZHandler can be implement to connect to your system
OpenFGA (AuthZ) open Internal Authorization management

Usage

For a working example please check the DEVELOPER_GUIDE.md.

License

Licensed under the Apache License, Version 2.0

About

A Rust implementation of the Iceberg REST Catalog specification.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 94.2%
  • Python 4.3%
  • Other 1.5%