MCPcopy Index your code
hub / github.com/confidential-containers/trustee

github.com/confidential-containers/trustee @v0.20.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.20.0 ↗ · + Follow
1,072 symbols 2,367 edges 140 files 153 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Trusted Components for Attestation and Secret Management

FOSSA Status OpenSSF Scorecard

This repository contains tools and components for attesting confidential guests and providing secrets to them. Collectively, these components are known as Trustee. Trustee typically operates on behalf of the guest owner and interact remotely with guest components.

Trustee was developed for the Confidential Containers project, but can be used with a wide variety of applications and hardware platforms.

Components

For further information, see documentation of individual components.

Architecture

Trustee is flexible and can be deployed in several different configurations. This figure shows one common way to deploy these components in conjunction with certain guest components.

flowchart LR
    AA -- attests guest ----> KBS
    CDH -- requests resource --> KBS
    subgraph Guest
        CDH <.-> AA
    end
    subgraph Trustee
        AS -- verifies evidence --> KBS
        RVPS -- provides reference values--> AS
    end
    client-tool -- configures --> KBS

Development

Please go here.

Deployment

There are two main ways to deploy Trustee.

Docker Compose

One simple way to get started with Trustee is with Docker compose, which can be used to quickly setup a cluster matching the diagram above.

Please refer to the cluster setup guide.

This cluster could be run inside a VM or as part of a managed service.

Kubernetes

There are two supported ways of deploying Trustee on Kubernetes. One is via the KBS Operator, which deploys the KBS components. The second option is to use the KBS' provided Kubernetes tooling here.

License

FOSSA Status

Extension points exported contracts — how you extend this code

EventDataParser (Interface)
All parser implementations follow structures defined in <https://trustedcomputinggroup.org/wp-content/uploads/TCG-PC-Cli [8 …
deps/eventlog/src/ccel/mod.rs
Extractor (Interface)
Extractor is a standard interface that all provenance extractors need to implement. Here reference_value can be modified [4 …
rvps/src/extractors/mod.rs
Verifier (Interface)
(no doc) [13 implementers]
deps/verifier/src/lib.rs
ClientPlugin (Interface)
(no doc) [5 implementers]
kbs/src/plugins/plugin_manager.rs
KeyValueStorage (Interface)
(no doc) [4 implementers]
deps/key-value-storage/src/lib.rs
RvpsApi (Interface)
(no doc) [2 implementers]
attestation-service/src/rvps/mod.rs
EngineTrait (Interface)
(no doc) [1 implementers]
deps/policy-engine/src/lib.rs
DevicePathParser (Interface)
Trait for parsing text device nodes described in specification: <https://uefi.org/specs/UEFI/2.10/10_Protocols_Device_Pa [5 …
deps/eventlog/src/ccel/device_paths/mod.rs

Core symbols most depended-on inside this repo

clone
called by 237
rvps/src/rvps_api/reference.rs
insert
called by 66
kbs/src/attestation/session.rs
get
called by 53
deps/verifier/src/nvidia/nras_jwks.rs
decode
called by 50
deps/verifier/src/nvidia/cert_chain.rs
as_str
called by 35
deps/verifier/src/intel_dcap/claims.rs
verify
called by 35
deps/verifier/src/nvidia/cert_chain.rs
get
called by 30
kbs/src/attestation/session.rs
as_bytes
called by 21
deps/verifier/src/tdx/quote.rs

Shape

Function 384
Method 351
Class 254
Enum 69
Interface 14

Languages

Rust99%
Python1%
Go1%

Modules by API surface

deps/verifier/src/snp/mod.rs45 symbols
deps/verifier/src/az_snp_vtpm/mod.rs33 symbols
kbs/src/plugins/implementations/external_plugin.rs27 symbols
kbs/src/plugins/implementations/resource/vault_kv.rs26 symbols
rvps/src/rvps_api/reference.rs23 symbols
kbs/src/attestation/intel_trust_authority/mod.rs22 symbols
kbs/src/plugins/implementations/pkcs11.rs21 symbols
kbs/src/attestation/backend.rs21 symbols
deps/eventlog/src/lib.rs21 symbols
attestation-service/src/lib.rs20 symbols
kbs/src/plugins/implementations/nebula_ca.rs19 symbols
deps/verifier/src/tdx/quote.rs19 symbols

For agents

$ claude mcp add trustee \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page