Commit Graph

51 Commits

Author SHA1 Message Date
James Dong
fec361f664 Add Golang SQLite demo 2020-09-27 14:21:58 +08:00
Hui, Chunyang
f4b3389bbe Fix golang grpc and local attestation demo to align with occlum 0.16.0 2020-09-20 10:39:54 +08:00
Hui, Chunyang
7b882bd368 Add support for pal library to run libos outside occlum instance 2020-09-18 12:39:12 +08:00
LI Qing
2c8c999d52 Speed up the boot procedure of JVM 2020-09-18 12:39:12 +08:00
James Dong
124acba6db Add a sample of Golang gRPC client/server programs 2020-09-02 17:06:09 +08:00
Hui, Chunyang
027e1569e0 Fix tensorflow lite demo eigen download failure 2020-08-28 21:26:48 +08:00
LI Qing
1463fb525a Fix python demo by enlarging the kernel space heap size 2020-08-26 14:07:31 +08:00
LI Qing
cd5cc0cb5c Update Java toolchains
1. Replace the OpenJDK with an unmodified OpenJDK from Alpine Linux
2. Add Alibaba Dragonwell as the default JDK for the Java demos
2020-08-15 19:12:39 +08:00
Hui, Chunyang
122a66289c Fix LA demo to align with occlum command 2020-08-15 19:12:39 +08:00
Hui, Chunyang
faf9c9d14e Add fish script execute permission since SEFS has more strict checking 2020-08-15 19:12:39 +08:00
Hui, Chunyang
7ac917aa1a Fix PAL library command arguments not follow convention 2020-08-15 19:12:39 +08:00
Hui, Chunyang
153a6fcd61 Fix embedded mode demo can't find libraries 2020-08-15 19:12:39 +08:00
Hui, Chunyang
0252f0949d Rename "occlum_context" to "occlum_instance" for demos 2020-08-15 19:12:39 +08:00
Hui, Chunyang
85501d8993 Improve implementation for occlum build
This commit mainly accomplish two things:
1. Use makefile to manage dependencies for `occlum build`, which can save lots of time
2. Take dirs `build`, `run` outside from `.occlum`. Remove env var "OCCLUM_INSTANCE_DIR"
2020-08-15 19:12:39 +08:00
Tate, Hongliang Tian
5e8f997d4d Make PIE the default mode for Go toolchain
Occlum-compatible executable binaries must be Position-Independent
Executable (PIE). Previously, to build such binaries, the users need to
explicitly give `-buildmode=pie` flag to `occlum-go`. Apparently, this
is error-prone. This commit sets `-buildmode=pie` by default for `occlum-go`.

In addition, this commit upgrades the Go version to 1.13.7.
2020-08-11 05:35:43 +00:00
LI Qing
1f30d75713 Add Java demo 2020-07-17 17:35:24 +00:00
LI Qing
81eb364c5b Install zlib in occlum-gcc toolchians 2020-07-17 17:31:41 +00:00
Hui, Chunyang
9b1d694830 Add support for per-process memory size configuration with rlimit
Rlimit are now on the same page of memory space limits defined in Occlum.json. Specific
memory size configuration can be set to child process with `prlimit` syscall or using `ulimit`
command in shell script.
2020-07-17 22:07:56 +08:00
Hui, Chunyang
306c0333ad Fix occlum PAL library compatibility issues in demos 2020-07-14 11:22:11 +00:00
Hui, Chunyang
6ccd30ee3b Remove fish and busybox binaries from entrypoints to make it more secure 2020-06-27 07:56:31 +00:00
Junxian Xiao
86d11e9d44 Refactor the remote attestation demo
This commits consists of three major changes:

1. Support a new interface to get the base64 quote only.
This is useful in the case that application sends the quote
to service provider server and get the final IAS report there.
The application itself doesn't depend on IAS in this case.

2. Improve the C++ programming style. Now, we only provide
C++ classes and limited C APIs(for configuration and sgx device).

3. Use the more general keywords as names prefix.

Signed-off-by: Junxian Xiao <junxian.xjx@antfin.com>
2020-06-23 16:59:33 +08:00
Hui, Chunyang
9ce23a8c08 Add symbolic file support for FISH demo 2020-06-13 03:33:32 +00:00
LI Qing
a0d7b96a8f Polish the XGBoost demo
1. Remove some useless installed packages
2. Adjust max number of threads according to CPU cores
2020-06-05 15:09:26 +08:00
Junxian Xiao
e8e14350a5 Support access key in remote attestaion demo
1. add access key configuration and code
2. Upgrade libcurl to support https
3. Support debug compile mode

Signed-off-by: Junxian Xiao <junxian.xjx@antfin.com>
2020-06-05 14:52:31 +08:00
LI Qing
c1b4814703 Rewrite Python demo with NumPy, scikit-learn, and pandas 2020-06-05 11:56:31 +08:00
zongmin.gu
942321363d Combine the enclave configuration into the occlum configuration file
Update the occlum.json to align with the gen_enclave_conf design.
Below is the two updated structures:
   "metadata": {
        "product_id": 0,
        "version_number": 0,
        "debuggable": true
    },
    "resource_limits": {
        "max_num_of_threads": 32,
        "kernel_space_heap_size": "32MB",
        "kernel_space_stack_size": "1MB",
        "user_space_size": "256MB"
    }
2020-06-05 11:03:47 +08:00
Hui, Chunyang
3939899e76 Fix local attestation demo to use new PAL API and sdk 2.9.1
Also format the code.
2020-06-04 20:05:55 +08:00
Hui, Chunyang
73b4f8b08c Add support for PAL API v2 2020-05-29 05:26:38 +00:00
LI Qing
c27a94194f Polish the Golang demo with Gin web framework 2020-05-29 02:03:41 +00:00
Hui, Chunyang
c1911e6585 Add demo for shell (FISH) script 2020-05-28 19:55:09 +08:00
He Sun
b29aa1d6d0 Add the Occlum-compatible Rust toolchains and a demo 2020-05-22 14:36:11 +08:00
LI Qing
6d72e10fc1 Add Golang toolchain and the demo
This commit provides a modified Go runtime in Docker image.
Now we can build a Go program using `occlum-go`, then run it
in SGX enclaves by Occlum.
The Golang demo demonstrates how to build and run a web server
program written in Go.
2020-05-15 03:02:42 +00:00
Tate, Hongliang Tian
5b4b72a81a Bump the version number to 0.11.0 2020-04-17 17:52:17 +08:00
Tate, Hongliang Tian
ad077d644a Fix the demo for the embedded mode 2020-04-16 08:46:56 +00:00
LI Qing
f9df83f559 Fix the demo's compiling failure in some cases
Some demos based on CMake may search installed packages out of
Occlum toolchain's directory, this could cause some building
errors sometimes. By setting the $PKG_CONFIG_LIBDIR, we can make
CMake searching for packages in Occlum toolchain's directory only.
2020-04-15 14:14:00 +08:00
LI Qing
e1648fc870 Add the redirection of standard I/O for process 2020-04-02 11:07:24 +00:00
He Sun
8842af88f3 Fix incompatibility between OpenVino with musl libc 2020-03-21 08:52:37 +00:00
Hui, Chunyang
95ef2819db Add local attestation demo 2020-03-09 04:17:41 +00:00
Hui, Chunyang
15ce6efdc0 Add simulation support for Occlum embedded mode demo 2020-03-07 09:45:50 +00:00
LI Qing
3e81b42912 Add SQLite demo 2020-02-25 11:14:48 +00:00
LI Qing
bd56504b20 Add GDB support for apps running upon Occlum
Please see the "gdb_support" in demos to find out how to
use GDB to debug your apps running upon Occlum.
2020-02-14 07:52:45 +00:00
Tate, Hongliang Tian
c6bcbaf442 Fix some typos 2020-01-23 04:40:54 +00:00
LI Qing
343c19391a Add Python demo 2020-01-23 04:40:54 +00:00
Tate, Hongliang Tian
f2b4e96ed0 Add a demo for the embedded mode 2020-01-23 04:40:54 +00:00
He Sun
6d7597c25e Polish gRPC and remote attestation demos
1. Disable zlib _explictly_ when building libcurl in remote attestaion demo.
The reason for this is that zlib may be implictly linked by the build system of
libcurl but not the zlib library is not copied into the Occlum FS image.
2. Use `make -j$(nproc)`
3. Fix typos
2020-01-23 04:40:54 +00:00
He Sun
4ab667461e Add gRPC demo
This demo shows how to run gRPC C++ sample client/server on Occlum.
2019-12-13 12:17:55 +00:00
Junxian Xiao
2052447950 Add SGX remote attestaion demo
This demo consists of
1. An user-friendly library for getting Intel Attestation Service (IAS) report.
2. A application that uses this library to get IAS report.

This demo requires obtaining service provider certificate/ID from Intel.
2019-12-13 11:56:21 +00:00
LI Qing
b9fa937504 Add Intel OpenVINO demo
This demo shows how to run Intel OpenVINO Inference Engine on Occlum inside SGX enclaves
2019-12-10 06:07:27 +00:00
LI Qing
ba3813bea8 Add XGBoost demo 2019-11-30 13:39:26 +00:00
LI Qing
1304f5388d Improve Occlum GCC toolchain with new wrappers for binaries
This commit makes the toolchain easier to use in two folds:
1. When compiling C/C++ source files, no need to add "-fPIC -pie" flags manually;
2. When running executables generated by the Occlum toolchain on Linux, no
need to set the `LD_LIBRARY_PATH` manually.
2019-11-29 11:20:00 +00:00