Skip to content

Commit 8062c00

Browse files
committed
draft support for encrypted mesh in guest components
Signed-off-by: Chris Porter <[email protected]>
1 parent 0fe01e4 commit 8062c00

File tree

19 files changed

+970
-50
lines changed

19 files changed

+970
-50
lines changed

Cargo.lock

Lines changed: 72 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ rstest = "0.17"
5555
serde = { version = "1.0", features = ["derive"] }
5656
serde_with = { version = "1.11.0", features = ["base64"] }
5757
serde_json = "1.0"
58+
serde_yml = "0.0.11"
5859
serial_test = "3"
5960
sha2 = "0.10.7"
6061
strum = { version = "0.26", features = ["derive"] }

api-server-rest/openapi/api.json

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"openapi": "3.0.3",
2+
"openapi": "3.1.0",
33
"info": {
44
"title": "CoCo Restful API",
55
"description": "HTTP based API for CoCo containers to get resource/evidence/token from confidential-data-hub and attestation-agent.",
@@ -20,9 +20,7 @@
2020
"paths": {
2121
"/aa/evidence": {
2222
"get": {
23-
"tags": [
24-
"crate"
25-
],
23+
"tags": [],
2624
"operationId": "_evidence",
2725
"parameters": [
2826
{
@@ -67,9 +65,7 @@
6765
},
6866
"/aa/token": {
6967
"get": {
70-
"tags": [
71-
"crate"
72-
],
68+
"tags": [],
7369
"operationId": "_token",
7470
"parameters": [
7571
{
@@ -114,9 +110,7 @@
114110
},
115111
"/cdh/resource/{repository}/{type}/{tag}": {
116112
"get": {
117-
"tags": [
118-
"crate"
119-
],
113+
"tags": [],
120114
"operationId": "_resource",
121115
"responses": {
122116
"200": {
@@ -144,5 +138,6 @@
144138
}
145139
}
146140
}
147-
}
141+
},
142+
"components": {}
148143
}

confidential-data-hub/hub/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,12 @@ image-rs = { path = "../../image-rs", default-features = false, features = ["kat
4040
kms = { path = "../kms", default-features = false }
4141
lazy_static.workspace = true
4242
log.workspace = true
43+
nix = { workspace = true, features = ["net"] }
4344
prost = { workspace = true, optional = true }
4445
protobuf = { workspace = true, optional = true }
4546
secret.path = "../secret"
4647
storage.path = "../storage"
48+
overlay_network.path = "../overlay-network"
4749
serde = { workspace = true, optional = true }
4850
serde_json.workspace = true
4951
thiserror.workspace = true
@@ -81,3 +83,6 @@ ehsm = ["image/ehsm", "secret/ehsm"]
8183
bin = [ "anyhow", "attestation-agent", "cfg-if", "clap", "config", "env_logger", "serde" ]
8284
ttrpc = ["dep:ttrpc", "protobuf", "ttrpc-codegen", "tokio/signal"]
8385
grpc = ["prost", "tonic", "tonic-build", "tokio/signal"]
86+
87+
# support overlay network
88+
overlay-network = []

confidential-data-hub/hub/protos/api.proto

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ message ImagePullResponse {
4242
string manifest_digest = 1;
4343
}
4444

45+
message InitOverlayNetworkRequest {
46+
string pod_name = 1;
47+
string lighthouse_pub_ip = 2;
48+
}
49+
50+
message InitOverlayNetworkResponse {
51+
int32 return_code = 1;
52+
}
53+
4554
service SealedSecretService {
4655
rpc UnsealSecret(UnsealSecretInput) returns (UnsealSecretOutput) {};
4756
}
@@ -56,4 +65,8 @@ service SecureMountService {
5665

5766
service ImagePullService {
5867
rpc PullImage(ImagePullRequest) returns (ImagePullResponse) {};
59-
}
68+
}
69+
70+
service OverlayNetworkService {
71+
rpc InitOverlayNetwork(InitOverlayNetworkRequest) returns (InitOverlayNetworkResponse) {};
72+
}

confidential-data-hub/hub/src/api.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,11 @@ pub trait DataHub {
3232

3333
/// Pull image of image url (reference), and place the merged layers in the `bundle_path/rootfs`
3434
async fn pull_image(&self, _image_url: &str, _bundle_path: &str) -> Result<String>;
35+
36+
/// Initialize the overlay network
37+
async fn init_overlay_network(
38+
&self,
39+
pod_name: String,
40+
lighthouse_pub_ip: String,
41+
) -> Result<Vec<u8>>;
3542
}

0 commit comments

Comments
 (0)