Skip to content

Latest commit

 

History

History

hotelReservation

Confidential Hotel Reservation

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.

Quick Start

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

Docs

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.