This directory contains sample projects that demonstrate how Occlum can be used to build and run user applications.
This set of demos shows how the Occlum toolchain can be used with different build tools.
- hello_c: A sample C project built with Makefile/CMake.
- hello_cc: A sample C++ project built with Makefile/CMake.
- hello_bazel: A sample C++ project built with Bazel.
This set of demos shows how real-world apps can be easily run inside SGX enclaves with Occlum.
- bash: A demo of Bash shell script.
- cluster_serving: A demo of Analytics Zoo Cluster Serving inference solution.
- fish: A demo of FISH shell script.
- flink: A demo of Apache Flink.
- font: A demo of supporting font with Java.
- grpc: A client and server communicating through gRPC, containing glibc-supported demo and musl-supported demo.
- https_server: A HTTPS file server based on Mongoose Embedded Web Server Library.
- openvino A benchmark of OpenVINO Inference Engine.
- pytorch: A demo of PyTorch.
- redis: A demo of Redis.
- sofaboot: A demo of SOFABoot, an open source Java development framework based on Spring Boot.
- sqlite A demo of SQLite SQL database engine.
- tensorflow: A demo of TensorFlow MNIST classification training.
- tensorflow_lite: A demo and benchmark of TensorFlow Lite inference engine.
- tensorflow_serving: A demo of TensorFlow Serving
- vault: A demo of HashiCorp Vault.
- xgboost: A demo of XGBoost.
This set of demos shows how apps written with popular programming languages can be run inside SGX enclaves with Occlum.
- golang: A collection of Golang program demos.
- java: A demo of Java program.
- python A collection of Python program demos, contain glibc-supported python demo and musl-supported python demo.
- rust A demo of Rust program.
- embedded_mode: A cross-enclave memory throughput benchmark enabled by the embedded mode of Occlum.
- enclave_tls: Running TLS server inside Occlum. Client connects with server associate with Enclave-RA information.
- gdb_support: This demo explains the technical detail of GDB support and demonstrates how to debug an app running upon Occlum with GDB.
- local_attestation: This project demonstrates how an app running upon Occlum can perform SGX local attestation.
- remote_attestation: This project demonstrates how an app running upon Occlum can perform SGX remote attestation.