diff --git a/.github/cspell.json b/.github/cspell.json new file mode 100644 index 00000000..5bedef4b --- /dev/null +++ b/.github/cspell.json @@ -0,0 +1,36 @@ +{ + "version": "0.2", + "ignorepaths": [ + ".github/", + ".git/" + ], + "ignorewords": [], + "ignoreRegExpList": [ + "/```[\\s\\S]*?```/g", + "/`[\\s\\S]*?`/g" + ], + "import": [], + "dictionarydefinitions": [], + "dictionaries": [], + "words": [ + "ccnp", + "containerd", + "daemonset", + "Eventlog", + "grpcurl", + "kustomization", + "NFD", + "proto", + "quoteserver", + "RTMR", + "TDVM", + "udev", + "PCCS", + "DCAP", + "distros", + "PCKID", + "pccs", + "pckcache", + "sysfs" + ] +} \ No newline at end of file diff --git a/.github/workflows/doclint.yaml b/.github/workflows/doclint.yaml new file mode 100644 index 00000000..0ed5b28e --- /dev/null +++ b/.github/workflows/doclint.yaml @@ -0,0 +1,22 @@ +name: Document Scan + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + scan_doc: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: streetsidesoftware/cspell-action@v2 + with: + files: | + **/*.md + *.md + config: .github/cspell.json + verbose: true + incremental_files_only: false diff --git a/README.md b/README.md new file mode 100644 index 00000000..62761b8a --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# CC Trusted API + +The project help to access and process the trusted primitives (measurement, eventlog, +quote) in confidential computing environment. It support multiple language flavors. + +It also provides back-end tool, IMA template, services to produce the diverse TCBs +according to deployment. + +![](docs/cc-trusted-api-overview.png) \ No newline at end of file diff --git a/docs/cc-trusted-api-overview.png b/docs/cc-trusted-api-overview.png new file mode 100644 index 00000000..18a8acb6 Binary files /dev/null and b/docs/cc-trusted-api-overview.png differ diff --git a/docs/cc-trusted-primitives-vendor.png b/docs/cc-trusted-primitives-vendor.png new file mode 100644 index 00000000..ac2541c6 Binary files /dev/null and b/docs/cc-trusted-primitives-vendor.png differ diff --git a/samples/CCTrustedInspect/README.md b/samples/CCTrustedInspect/README.md new file mode 100644 index 00000000..49652a77 --- /dev/null +++ b/samples/CCTrustedInspect/README.md @@ -0,0 +1,4 @@ +# Inspect Tool + +Get and dump the trusted primitives like measurement, event log, quote. With different +back-end SDK, the inspected TCB could be VM base, container or cluster. \ No newline at end of file diff --git a/utils/README.md b/utils/README.md new file mode 100644 index 00000000..909e9dbd --- /dev/null +++ b/utils/README.md @@ -0,0 +1 @@ +# Utilities diff --git a/vmsdk/README.md b/vmsdk/README.md new file mode 100644 index 00000000..e0690a96 --- /dev/null +++ b/vmsdk/README.md @@ -0,0 +1,8 @@ + +# SDK for CC Trusted API in Confidential VM + +In confidential VM, the trusted primitives (measurement, eventlog, quote) normally +can be accessed via device node like /dev/tpm0, sysfs etc, and different vendor +may provides the different definitions. + +![](/docs/cc-trusted-primitives-vendor.png) diff --git a/vmsdk/python/cctrusted/__init__.py b/vmsdk/python/cctrusted/__init__.py new file mode 100644 index 00000000..6f311a23 --- /dev/null +++ b/vmsdk/python/cctrusted/__init__.py @@ -0,0 +1,12 @@ +""" +Package to provide CC trusted API for confidential VM +""" + +def get_measurements(): + pass + +def get_eventlog(): + pass + +def get_quote(): + pass