You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2020/06/08 01:47:24 UTC

[incubator-teaclave] branch master updated: [docs] Update docs for community, client SDK, services, and runtime (#341)

This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git


The following commit(s) were added to refs/heads/master by this push:
     new 8356d12  [docs] Update docs for community, client SDK, services, and runtime (#341)
8356d12 is described below

commit 8356d12d161cc452e708eb5b1e9fc0b4a1884d1a
Author: Mingshen Sun <bo...@mssun.me>
AuthorDate: Sun Jun 7 18:47:18 2020 -0700

    [docs] Update docs for community, client SDK, services, and runtime (#341)
---
 COMMUNITY.md       |  3 ++-
 CONTRIBUTING.md    | 32 ++++++++++++++++++++++++++++++++
 CONTRIBUTORS.md    |  1 +
 README.md          |  5 ++++-
 runtime/README.md  | 14 ++++++++++++++
 sdk/README.md      | 11 ++++++++++-
 services/README.md | 18 ++++++++++++++++++
 7 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/COMMUNITY.md b/COMMUNITY.md
index c51d41e..8755761 100644
--- a/COMMUNITY.md
+++ b/COMMUNITY.md
@@ -30,7 +30,8 @@ Follow [@ApacheTeaclave](https://twitter.com/ApacheTeaclave).
 
 Teaclave is open source in [The Apache Way](https://www.apache.org/theapacheway/),
 we aim to create a project that is maintained and owned by the community. All
-kinds of contributions are welcome.
+kinds of contributions are welcome. Read this [document](CONTRIBUTING.md) to
+learn more about how to contribute. Huge thanks to our [contributors](CONTRIBUTORS.md).
 
 ## Organizations and Projects
 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..3a3ea98
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,32 @@
+---
+permalink: /contributing
+---
+
+# Contributing to Teaclave
+
+As an open-source community, we welcome all kinds of contributions. You can
+contribute to Teaclave in many ways: reporting issues, requesting new features,
+proposing better designs, fixing bugs, implementing functions, improving
+documents, trying novel research ideas or even by simply using and promoting
+this project.
+
+## Submit Issues
+
+We prefer to use GitHub issues for almost everything about the project
+development such as issues tracking, features, design proposals, announcements,
+community communications, etc. Free feel to open an issue if you meet bugs or
+want to propose features.
+
+## Send Pull Requests
+
+This is a basic instruction to send a pull request to Teaclave.
+
+1. Fork the repository on GitHub.
+2. Create a new branch for the feature or bugfix.
+3. Make changes.
+4. Test. The `make run-tests` command will run all test case.
+5. Make sure to format and lint the code. You can use `make format` to format
+   code inplace, and `make CLI=1` to lint Rust code with Rust clippy.
+6. Commit/push the changes and send a pull request on GitHub. Please kindly
+   write some background and details for this PR (we also provide a PR template
+   to guild you with writing a high-quality pull request).
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index d52816f..98c06ab 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -67,6 +67,7 @@ List of external contributors of Teaclave and Teaclave SGX SDK (in alphabetical
   - [garbageslam](https://github.com/garbageslam)
   - [lhf](https://github.com/EighteenZi)
   - [luoyanhua2011](https://github.com/luoyanhua2011)
+  - [lyj](https://github.com/lengyijun)
   - [piotr-roslaniec](https://github.com/piotr-roslaniec)
   - [volcano](https://github.com/volcano0dr)
   - [zEqueue](https://github.com/z1queue)
diff --git a/README.md b/README.md
index 56774d1..2dbb2f7 100644
--- a/README.md
+++ b/README.md
@@ -47,11 +47,13 @@ platform, making computation on privacy-sensitive data safe and simple.
 
 - [Attestation](attestation)
 - [Built-in Functions](function)
+- [Client SDK](sdk)
 - [Command Line Tool](cli)
 - [Configurations in Teaclave](config)
 - [Data Center Attestation Service](dcap)
 - [Dockerfile and Compose File](docker)
 - [Examples](examples)
+- [Executor Runtime](runtime)
 - [File Agent](file_agent)
 - [Function Executors](executor)
 - [Keys and Certificates](keys)
@@ -65,7 +67,8 @@ platform, making computation on privacy-sensitive data safe and simple.
 
 Teaclave is open source in [The Apache Way](https://www.apache.org/theapacheway/),
 we aim to create a project that is maintained and owned by the community. All
-kinds of contributions are welcome. Thanks to our [contributors](CONTRIBUTORS.md).
+kinds of contributions are welcome. Read this [document](CONTRIBUTING.md) to
+learn more about how to contribute. Thanks to our [contributors](CONTRIBUTORS.md).
 
 ## Community
 
diff --git a/runtime/README.md b/runtime/README.md
new file mode 100644
index 0000000..bad651a
--- /dev/null
+++ b/runtime/README.md
@@ -0,0 +1,14 @@
+---
+permalink: /runtime
+---
+
+# Executor Runtime
+
+This directory contains implementations of executor's runtime. The executor
+runtime provides interfaces (I/O) between executors (in trusted execution
+environment) and external components (in untrusted world like file system). The
+interfaces are defined in the `TeaclaveRuntime` traits. Currently, we have two
+runtime implementations: `DefaultRuntime` and `RawIoRuntime`. By default,
+Teaclave provides a runtime called `DefaultRuntime`, which bridges interfaces to
+our secure file system implementation (i.e., *protected file*). While
+`RawIoRuntime` is only for debugging, which does not encrypt any I/O.
diff --git a/sdk/README.md b/sdk/README.md
index 5a43536..5284ec3 100644
--- a/sdk/README.md
+++ b/sdk/README.md
@@ -1 +1,10 @@
-sdk
+---
+permalink: /sdk
+---
+
+# Client SDK
+
+This directory provides Teaclave client SDK in different languages. Developers
+can uses the SDK to establish trusted channel with Teaclave services, send
+requests via RPC, etc. Please refer to the
+[document for examples](../examples/README.md) to learn more about the usages.
diff --git a/services/README.md b/services/README.md
index f00a732..ad6c6ca 100644
--- a/services/README.md
+++ b/services/README.md
@@ -38,6 +38,24 @@ a safe and secure FaaS platform.
   scheduler service to complete tasks. There could be many execution service
   instances (or nodes) with different capabilities deployed in a cloud
   infrastructure.
+
+## Structure
+
+A service is consist of two parts: app (untrusted) and enclave (trusted). The
+app part is responsible for launching and terminating the service, which the
+enclave part is to serve RPC requests from trusted channels. Typically, a service's
+implementation contains two important structs and one trait. Let's take the
+frontend service as an example.
+
+- `TeaclaveFrontendService` (struct): Define properties or configurations along
+  with the lifetime of the service. For example, the frontend service need to
+  hold clients (with established trusted channels) to communicate with the
+  authentication service and management service.
+- `TeaclaveFrontendError` (struct): Define errors which may occur in this
+  service, authentication error, for example.
+- `TeaclaveFrontend` (trait): Define functions (requests) the service need to
+  handle. The trait will be automatically derived from definitions in the
+  ProtoBuf file and can be imported from the `teaclave_proto` crate.
   
 ## RPC and Protocols
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org