Introduction
Quick Start
Getting Source Code
git clone git@github.com:QubitPi/Kugelblitz.git
cd Kugelblitz
Setting Environment Variables
- Feel free to change the values of
KUGELBLITZ_ARANGO_USERNAME
andKUGELBLITZ_ARANGO_PASSWORD
. The values below are examples only. - Please do NOT, however, modify the values
http://arango-db:8529
and$KUGELBLITZ_ARANGO_PASSWORD
export KUGELBLITZ_ARANGO_HOSTS=http://arango-db:8529 && \
export KUGELBLITZ_ARANGO_USERNAME=root && \
export KUGELBLITZ_ARANGO_PASSWORD=root && \
export ARANGO_ROOT_PASSWORD=$KUGELBLITZ_ARANGO_PASSWORD
Spinning Up Services
There is a reference docker-compose.yaml where we could use for production. Simply execute
docker compose up
When we see the output like the following
arango-db-1 | 2025-05-11T15:26:29Z [1] INFO [cf3f4] {general} ArangoDB (version 3.11.13 [linux]) is ready for business. Have fun!
kugelblitz-1 |
kugelblitz-1 | . ____ _ __ _ _
kugelblitz-1 | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
kugelblitz-1 | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
kugelblitz-1 | \\/ ___)| |_)| | | | | || (_| | ) ) ) )
kugelblitz-1 | ' |____| .__|_| |_|_| |_\__, | / / / /
kugelblitz-1 | =========|_|==============|___/=/_/_/_/
kugelblitz-1 |
kugelblitz-1 | :: Spring Boot :: (v3.4.4)
kugelblitz-1 |
...
kugelblitz-1 | 2025-05-11T15:27:29.539Z INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
it means we are ready to play with Kugelblitz. Let's create a book entity first
curl -X 'POST' \
'http://localhost:8080/arango/createDocument/library/books' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"title": "Pride and Prejudice",
"author": "Jane Austen"
}'
Next we will verify the data has been saved into database. The quick start uses ArangoDB as the persistence database. We can first hit the Arando web console at http://localhost:8529/ which should take us to a page like the following:
.
Use root and root as username and password, respectively. Then navigate to the data page by Login -> selecting library in database dropdown menu -> click Select DB: library -> click books collection -> click Content in the top navigation bar. As we can see the data already exists as an Arango document in the database:
One could find more endpoints at http://localhost:8080/swagger-ui/index.html
Troubleshooting
Healthcheck is Failing
Inspect healthcheck logs with
docker inspect --format "{{json .State.Health }}" <container name> | jq
ArangoDB Healthcheck is Failing with "ArangoError: not connected"
This is mostly due to the wrong password during the "connection" via arangosh
used in healthcheck. Wrong password
could be