Ibutsu is a test result reporting and artifact storage system. Ibutsu gives your team the ability to post their test results and artifacts to the server through the API, and query them using the web user interface.
Ibutsu has a RESTful API built using the OpenAPI specification
which is browseable from /api/ui/
To run the server locally for development, you can use podman
or Docker Compose.
To run Ibutsu using podman
, use the ibutsu-pod.sh
utility script:
./script/ibutsu-pod.sh --create-admin --create-project
This will start up the containers and create an administrator and a project.
If you want to persistent the data in the containers, use the --persistent
option:
./scripts/ibutsu-pod.sh --persistent
By default the script stores persistent data in two directories, .postgres-data
and .redis-data
.
If you would prefer to use podman
volumes, specify the --use-volumes
option:
./scripts/ibutsu-pod.sh --persistent --use-volumes
To see all the options provided by the ibutsu-pod.sh
script, use the -h
option:
./scripts/ibutsu-pod.sh -h
Usage: ibutsu-pod.sh [-h|--help] [-p|--persistent] [-V|--use-volumes] [-A|--create-admin] [-P|--create-project] [POD_NAME]
optional arguments:
-h, --help show this help message
-p, --persistent persist the data in the containers
-V, --use-volumes use podman volumes to store data
-A, --create-admin create an administrator ('[email protected]')
-P, --create-project create a default project ('my-project')
POD_NAME the name of the pod, 'ibutsu' if ommitted
There is a pre-created Docker Compose file for running a development environment locally:
docker compose -f docker-compose.dev.yml up
Using either podman
or Docker Compose is the recommended way to run Ibutsu locally. If you don't
want to use the containers, the following must be installed:
- Python 3.8+
- NodeJS
- yarn
- redis (strongly recommend a container)
- PostgreSQL (strongly recommend a container)
Container images for Ibutsu are provided at quay.io/organization/ibutsu.
Frontend:
Backend:
Worker:
Scheduler:
Please visit Ibutsu's Documentation for more information.