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/podman-Compose.
To run Ibutsu using podman, use the ibutsu-pod.sh utility script:
./scripts/ibutsu-pod.sh --create-admin --create-projectThis 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 --persistentBy 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-volumesTo 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 upUsing 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.