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

github.com/confidential-containers/guest-components @v0.20.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.20.0 ↗ · + Follow
1,642 symbols 3,103 edges 240 files 281 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Confidential Container Tools and Components

FOSSA Status OpenSSF Scorecard

This repository includes tools and components for confidential container images.

Components

Attestation Agent An agent for facilitating attestation protocols. Can be built as a library to run in a process-based enclave or built as a process that runs inside a confidential vm.

image-rs Rust implementation of the container image management library.

ocicrypt-rs Rust implementation of the OCI image encryption library.

api-server-rest CoCo RESTful API server.

confidential-data-hub Confidential Data Hub.

coco-keyprovider CoCo Keyprovider. Used to encrypt the container images.

Tools

secret-cli Utility for sealing and unsealing sealed secrets

CDH Client A tool for exercising CDH endpoints

CDH Go Client A Go tool for exercising CDH endpoints

CDH (One Shot) One Shot version of CDH

CoCo Keyprovider Keyprovider endpoint for encrypting images

Build

A Makefile is provided to quickly build Attestation Agent/Api Server Rest/Confidential Data Hub for a given platform.

make build TEE_PLATFORM=$(TEE_PLATFORM)
make install DESTDIR=/usr/local/bin

The TEE_PLATFORM parameter can be - none: for tests with non-confidential guests - all: for all following platforms - fs: for platforms with encrypted root filesystems (i.e. s390x) - tdx: for Intel TDX - az-tdx-vtpm: for Intel TDX with Azure vTPM - snp: for AMD SEV-SNP - amd: for both AMD SEV(-ES) and AMD SEV-SNP - az-snp-vtpm: for AMD SEV-SNP with Azure vTPM - se: for IBM Secure Execution (SE)

by default, kbs/sev as a resource provider will be built in Confidential Data Hub. If you do not want enable any default except for only builtin offline-fs-kbc, you can build with NO_RESOURCE_PROVIDER flag set to true.

make build TEE_PLATFORM=$(TEE_PLATFORM) NO_RESOURCE_PROVIDER=true

Optional build parameters

The ttRPC and gRPC protos can be updated via run

make build-protos

License

FOSSA Status

Extension points exported contracts — how you extend this code

Attester (Interface)
(no doc) [13 implementers]
attestation-agent/attester/src/lib.rs
KeyProviderService (Interface)
(no doc) [5 implementers]
protos/src/grpc/cdh/keyprovider.rs
CommandExecuter (Interface)
CommandExecuter trait which requires implementation for command exec, first argument is the command name, like /usr/bin/ [3 …
ocicrypt-rs/src/utils/mod.rs
KbcInterface (Interface)
(no doc) [4 implementers]
attestation-agent/kbc/src/lib.rs
Snapshotter (Interface)
Trait to mount/umount image snapshots. [1 implementers]
image-rs/src/snapshots/mod.rs
Decrypter (Interface)
(no doc) [3 implementers]
confidential-data-hub/kms/src/api.rs
EvidenceProvider (Interface)
(no doc) [3 implementers]
attestation-agent/kbs_protocol/src/evidence_provider/mod.rs
SecureMount (Interface)
(no doc) [2 implementers]
confidential-data-hub/hub/src/storage/volume_type/mod.rs

Core symbols most depended-on inside this repo

clone
called by 243
protos/src/grpc/cdh/api.rs
insert
called by 126
image-rs/src/signature/policy/simple/sigstore.rs
is_empty
called by 108
image-rs/src/signature/image/digest.rs
clone
called by 52
attestation-agent/kbc/src/online_sev_kbc/keybroker.rs
try_into
called by 41
confidential-data-hub/hub/src/image/annotation_packet/v2.rs
run_command
called by 19
confidential-data-hub/hub/src/storage/drivers/mod.rs
update_param
called by 18
ocicrypt-rs/src/config.rs
build
called by 13
image-rs/src/builder.rs

Shape

Method 682
Function 446
Class 397
Enum 81
Interface 36

Languages

Rust100%

Modules by API surface

protos/src/grpc/aa/attestation_agent.rs45 symbols
ocicrypt-rs/src/keywrap/keyprovider/mod.rs45 symbols
protos/src/grpc/cdh/api.rs40 symbols
protos/src/ttrpc/aa/attestation_agent.rs34 symbols
confidential-data-hub/hub/src/storage/volume_type/blockdevice/mod.rs29 symbols
ocicrypt-rs/src/config.rs27 symbols
protos/src/ttrpc/cdh/api_ttrpc.rs26 symbols
protos/src/ttrpc/aa/attestation_agent_ttrpc.rs26 symbols
protos/src/ttrpc/cdh/api.rs23 symbols
confidential-data-hub/hub/src/storage/drivers/luks2.rs23 symbols
attestation-agent/attestation-agent/src/eventlog/mod.rs22 symbols
protos/src/grpc/cdh/keyprovider.rs21 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page