Skip to content

Commit f2a7022

Browse files
committed
sdk: update the sdk examples for python/rust/golang
Signed-off-by: Xiaocheng Dong <[email protected]>
1 parent 4817ade commit f2a7022

File tree

21 files changed

+1006
-255
lines changed

21 files changed

+1006
-255
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ It supports to deploy CCNP services as DaemonSets in Kubernetes cluster or docke
3737

3838
### CCNP SDK Usage
3939

40-
[ccnp_example.py](/container/ccnp-example/ccnp_example.py) is an example of using CCNP Python SDK. There are also Golang SDK and Rust SDK. Please see more details in [CCNP SDK](https://intel.github.io/confidential-cloud-native-primitives/_rst/modules.html#ccnp-sdk).
40+
[py_sdk_example.py](/sdk/python3/example/py_sdk_example.py) is an example of using CCNP Python SDK. There are also Golang SDK and Rust SDK. Please see more details in [CCNP SDK](https://intel.github.io/confidential-cloud-native-primitives/_rst/modules.html#ccnp-sdk).
4141

4242

4343
## Contributing

container/ccnp-example/Dockerfile

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
# Build python example dependencies
23
FROM python:3.12.1-alpine3.19 AS python-builder
34

45
RUN apk update && apk add git
@@ -10,25 +11,32 @@ RUN git clone https://github.com/cc-api/cc-trusted-api && \
1011
COPY sdk/python3 ccnp-sdk
1112
RUN cd ccnp-sdk && python3 -m build
1213

13-
# ======================================================================================================================
14+
# Build golang example
15+
FROM golang:1.22.1-alpine3.19 AS golang-builder
16+
COPY sdk/golang ccnp-sdk
17+
RUN cd ccnp-sdk/example && go mod tidy && go build -o go-sdk-example
1418

19+
# Build rust example
20+
FROM rust:1.77.1-alpine3.19 AS rust-builder
21+
RUN apk update && apk add --no-cache make protobuf-dev musl-dev wget
22+
COPY sdk/rust ccnp-sdk
23+
COPY service/ccnp-server/proto/ccnp-server.proto ccnp-sdk/ccnp/proto/ccnp-server.proto
24+
RUN cd ccnp-sdk/example && cargo build --release
25+
26+
# Copy/Install
1527
FROM python:3.12.1-alpine3.19
1628

1729
WORKDIR /run/ccnp
1830

19-
COPY container/ccnp-example/ccnp_example.py ./
31+
COPY test ./
32+
COPY sdk/python3/example/py_sdk_example.py ./
2033
COPY --from=python-builder cc-trusted-api/common/python/dist/cctrusted_base*.whl ./
2134
COPY --from=python-builder ccnp-sdk/dist/ccnp*.whl ./
2235

36+
COPY --from=golang-builder /go/ccnp-sdk/example/go-sdk-example ./
37+
COPY --from=rust-builder ccnp-sdk/example/target/release/rust-sdk-example ./
38+
2339
RUN apk update && apk add bash vim tar wget
2440
RUN pip install ./cctrusted_base*.whl ./ccnp*.whl && rm -f *.whl
2541

26-
RUN wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz && \
27-
tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz
28-
ENV PATH=$PATH:/usr/local/go/bin
29-
30-
RUN mkdir /run/ccnp/golang-sdk-example
31-
COPY container/ccnp-example/golang-sdk-example/ golang-sdk-example/
32-
RUN cd golang-sdk-example && go mod tidy
33-
3442
ENTRYPOINT ["tail", "-f", "/dev/null"]

deployment/docker-compose/exec-ccnp-example.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,19 +84,19 @@ validate_on_container() {
8484

8585
ok "Example Container Avaliable. Compose file: $COMPOSE_CACHE_DIR/ccnp-example.yaml"
8686
ok "=============== Get Measurement ==============="
87-
docker exec -it "$ctr_id" python3 ccnp_example.py -m > "$CCNP_CACHE_DIR"/example.log
87+
docker exec -it "$ctr_id" python3 py_sdk_example.py -m > "$CCNP_CACHE_DIR"/example.log
8888
ok "Measurement Log Saved in File $CCNP_CACHE_DIR/example.log"
8989

9090
ok "=============== Get Event Logs ==============="
91-
docker exec -it "$ctr_id" python3 ccnp_example.py -e >> "$CCNP_CACHE_DIR"/example.log
91+
docker exec -it "$ctr_id" python3 py_sdk_example.py -e >> "$CCNP_CACHE_DIR"/example.log
9292
ok "Eventlog Saved in File $CCNP_CACHE_DIR/example.log"
9393

9494
ok "=============== Get CC Report ==============="
95-
docker exec -it "$ctr_id" python3 ccnp_example.py -r >> "$CCNP_CACHE_DIR"/example.log
95+
docker exec -it "$ctr_id" python3 py_sdk_example.py -r >> "$CCNP_CACHE_DIR"/example.log
9696
ok "Eventlog Saved in File $CCNP_CACHE_DIR/example.log"
9797

9898
ok "=============== Verify Event Logs ==============="
99-
docker exec -it "$ctr_id" python3 ccnp_example.py -v >> "$CCNP_CACHE_DIR"/example.log
99+
docker exec -it "$ctr_id" python3 py_sdk_example.py -v >> "$CCNP_CACHE_DIR"/example.log
100100
ok "Eventlog Saved in File $CCNP_CACHE_DIR/example.log"
101101
}
102102

deployment/kubernetes/script/exec-ccnp-example.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,20 @@ fi
3333

3434
if [ $MEASUREMENT == true ]; then
3535
echo "==> Get Measurements"
36-
kubectl exec -it "$POD_NAME" -n ccnp -- python3 ccnp_example.py -m
36+
kubectl exec -it "$POD_NAME" -n ccnp -- python3 py_sdk_example.py -m
3737
fi
3838

3939
if [ $EVENTLOG == true ]; then
4040
echo "==> Get Event logs"
41-
kubectl exec -it "$POD_NAME" -n ccnp -- python3 ccnp_example.py -e
41+
kubectl exec -it "$POD_NAME" -n ccnp -- python3 py_sdk_example.py -e
4242
fi
4343

4444
if [ $CC_REPORT == true ]; then
4545
echo "==> Get CC_REPORT"
46-
kubectl exec -it "$POD_NAME" -n ccnp -- python3 ccnp_example.py -r
46+
kubectl exec -it "$POD_NAME" -n ccnp -- python3 py_sdk_example.py -r
4747
fi
4848

4949
if [ $VERIFY == true ]; then
5050
echo "==> Verify event logs"
51-
kubectl exec -it "$POD_NAME" -n ccnp -- python3 ccnp_example.py -v
51+
kubectl exec -it "$POD_NAME" -n ccnp -- python3 py_sdk_example.py -v
5252
fi

container/ccnp-example/golang-sdk-example/go-sdk-example.go renamed to sdk/golang/example/go-sdk-example.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func testGetCCReport(sdk ccnp.SDK, logger *log.Logger) {
2626
report, err := sdk.GetCCReport(nonce, userData, nil)
2727
if err != nil {
2828
logger.Println("Error in fetching cc report.")
29-
os.Exit(0)
29+
os.Exit(-1)
3030
}
3131

3232
logger.Println("Dump the attestation report fetched.")
@@ -44,7 +44,7 @@ func testGetCCMeasurement(sdk ccnp.SDK, logger *log.Logger) {
4444
measurement, err := sdk.GetCCMeasurement(imr_index, alg)
4545
if err != nil {
4646
logger.Println("Error in fetching cc measurement.")
47-
os.Exit(0)
47+
os.Exit(-1)
4848
}
4949

5050
logger.Println("Dump measurement fetched.")
@@ -67,7 +67,7 @@ func testGetCCEventLog(sdk ccnp.SDK, logger *log.Logger) {
6767
eventLogs, err := sdk.GetCCEventLog()
6868
if err != nil {
6969
logger.Println("Error in fetching event logs.")
70-
os.Exit(0)
70+
os.Exit(-1)
7171
}
7272

7373
logger.Println("Total ", len(eventLogs), " of event logs fetched.")
@@ -85,7 +85,7 @@ func main() {
8585
defaultAlg, err := sdk.GetDefaultAlgorithm()
8686
if err != nil {
8787
logger.Println("Error in fetching default algorithm.")
88-
os.Exit(0)
88+
os.Exit(-1)
8989
}
9090
logger.Println("Default Algorithm: ", defaultAlg)
9191
logger.Println("----------------------------------------------------------------------------------")
@@ -94,7 +94,7 @@ func main() {
9494
count, err := sdk.GetMeasurementCount()
9595
if err != nil {
9696
logger.Println("Error in fetching measurement count.")
97-
os.Exit(0)
97+
os.Exit(-1)
9898
}
9999
logger.Println("Measurement count: ", count)
100100
logger.Println("----------------------------------------------------------------------------------")
File renamed without changes.
File renamed without changes.
File renamed without changes.

sdk/rust/cctrusted_ccnp/Cargo.toml renamed to sdk/rust/ccnp/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[package]
2-
name = "cctrusted_ccnp"
2+
name = "ccnp"
33
version = "0.1.0"
44
edition = "2021"
55
authors = ["Chen Hairong <[email protected]>"]
@@ -8,7 +8,7 @@ description = "CC Trusted API CCNP SDK"
88
license = "Apache-2.0"
99

1010
[lib]
11-
name = "cctrusted_ccnp"
11+
name = "ccnp"
1212
path = "src/lib.rs"
1313

1414
[dependencies]
File renamed without changes.

0 commit comments

Comments
 (0)