You can quickly get started with Nessie variants by following docker templates.
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 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/docker-compose.yml up
- Nessie port - 19120
- Keycloak server port - 8080
The docker template uses bridge network to communicate with the keycloak server. Hence, the token has to be generated with the issuer host keycloak
Enter the Nessie container, and generate the token
docker exec -it authn_nessie_1 /bin/bash
curl -X POST http://keycloak:8080/auth/realms/master/protocol/openid-connect/token \
--user admin-cli:none -H 'content-type: application/x-www-form-urlencoded' \
-d 'username=admin&password=admin&grant_type=password'
Use this token as a bearer token for authenticating the requests to Nessie.
curl --location --request GET 'http://localhost:19120/api/v1/trees' \
--header 'Authorization: Bearer <TOKEN>'
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 Jaeger (OpenTelemetry server).
docker-compose -f telemetry/docker-compose.yml up
- 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