You can quickly get started with Nessie by playing with the examples provided in this directory.
The examples are designed to be run with docker-compose
or podman-compose
.
When you use podman, make sure that:
- you have
podman-compose
installed (on Ubuntu:pip3 install podman-compose
asroot
). - your network-backend is configured to use
netavark
, checkpodman info | grep network
. This is needed to let podman-compose configure DNS entries in the pods. - Settings for
/etc/containers/containers.conf
:Might need to run[engine] compose_providers=[ "podman-compose" ] [network] network_backend = "netavark"
podman system reset --force
when changing the network backend.
The template brings up Nessie with Iceberg REST API, backed by a PostgreSQL database. Authentication is provided by Keycloak. Object storage is provided by MinIO. Prometheus and Grafana are also included for monitoring, and Jaeger for tracing. And finally, a Spark SQL server is included for testing, and also a Nessie CLI container for interacting with the Nessie server.
docker-compose -f all-in-one/docker-compose.yml up
See usage instructions in the compose file.
The template brings up two containers, one for Nessie and one for MongoDB. Nessie uses MongoDB as a backing store.
docker-compose -f mongodb/docker-compose.yml up
- Nessie port - 19120
- MongoDB port - 27017
- MongoDB root credentials - root/password
The template brings up two containers, one for Nessie and one for DynamoDB.
docker-compose -f dynamodb/docker-compose.yml up
- Nessie port - 19120
- DynamoDB port - 8000
docker-compose -f in_memory/docker-compose.yml up
- Nessie port - 19120
WARNING: Bouncing Nessie server resets the in-memory store, which will in-turn reset the data |
---|
The template brings up two containers, one for Nessie and one for Keycloak (OIDC server).
docker-compose -f authn-keycloak/docker-compose.yml up
- Nessie port - 19120
- Keycloak server port - 8080
See usage instructions in the compose file.
You can configure new users, and reset the expiry time from the keycloak console as described here.
The template brings up two containers, one for Nessie and one for Authelia.
docker-compose -f authn-authelia/docker-compose.yml up
See usage instructions in the compose file.
The template brings up two containers, one for Nessie and one for Jaeger (OpenTelemetry server).
docker-compose -f telemetry/docker-compose.yml up
The template brings up three containers, Nessie, Nginx, and MinIO.
docker-compose -f telemetry/docker-compose.yml up
In this example, Nessie is accessible in HTTPS at https://nessie-nginx.localhost.localdomain:8443/nessie/api/v2/. See usage instructions in the compose file.
- To check the status -
docker ps -a
- To stop the containers -
docker-compose stop
- To start the containers -
docker-compose start
- To destroy the env -
docker-compose down