This repository contains a port of the hotel reservation benchmark in the DeathStarBench to run confidential computing workloads.
The code in this repository has only been tested on Ubuntu 18.04 and 20.04
machines. Even though all the build and development environments are packaged
in containers, it is not guaranteed to work elsewhere. The only dependencies
are python3.8
, docker
, and docker compose
(not docker-compose
).
In addition, this code assumes you are using a kernel version 5.11
or higher.
Before you start, make sure you have access to Intel's private Harbour registry. See the Docker docs for more details.
Then, to start the mesh do in docker compose
do:
source ./bin/workon.sh
inv deploy.compose [--runtime=native,ego,ego-sim,gramine]
By default, the service mesh uses the native
runtime.
You can check that all the containers are running by typing:
# All containers should be in `running` state
docker compose ps -a
Now you can, run the end-to-end tests:
docker compose exec cli bash -c 'source venv/bin/activate && inv tests.e2e'
And print the logs in the frontend
container to ensure that the requests are
being processed:
docker compose logs frontend
For further information, check the relevant documentation page:
- Benchmarks - running benchmarks.
- Consul - notes on Consul's configuration.
- Development - developing in the project.
- Docker - building the docker images.
- Endpoints - information on the different endpoints and the microservice graph.
- K8s - instructions to deploy on a kubernetes cluster. exposed by the mesh, and the dependency graph.
- Releases - releasing and tagging code versions.