File tree Expand file tree Collapse file tree 4 files changed +42
-4
lines changed Expand file tree Collapse file tree 4 files changed +42
-4
lines changed Original file line number Diff line number Diff line change @@ -27,11 +27,20 @@ services:
27
27
build :
28
28
context : .
29
29
dockerfile_inline : |
30
- FROM rust:1.86.0@sha256:300ec56abce8cc9448ddea2172747d048ed902a3090e6b57babb2bf19f754081
30
+ FROM golang:1.22-alpine@sha256:1699c10032ca2582ec89a24a1312d986a3f094aed3d5c1147b19880afe40e052 AS dstack-mr-builder
31
+ WORKDIR /app
32
+ RUN apk add --no-cache git
33
+ RUN git clone https://github.com/kvinwang/dstack-mr.git
34
+ WORKDIR /app/dstack-mr
35
+ RUN git checkout 5cf6d917e076f3624eab1b6b662f222ece15600f
36
+ RUN CGO_ENABLED=0 go build -ldflags="-extldflags -static" -o /usr/local/bin/dstack-mr
37
+
38
+ FROM rust:1.86.0@sha256:300ec56abce8cc9448ddea2172747d048ed902a3090e6b57babb2bf19f754081 AS kms-builder
31
39
WORKDIR /app
32
40
RUN apt-get update && apt-get install -y \
33
41
git \
34
42
build-essential \
43
+ musl-tools \
35
44
libssl-dev \
36
45
protobuf-compiler \
37
46
libprotobuf-dev \
@@ -43,11 +52,20 @@ services:
43
52
cd dstack && \
44
53
git checkout ${GIT_REV}
45
54
WORKDIR /app/dstack
46
- RUN cargo build --release -p dstack-kms
47
- CMD ["./target/release/dstack-kms"]
55
+ RUN rustup target add x86_64-unknown-linux-musl
56
+ RUN cargo build --release -p dstack-kms --target x86_64-unknown-linux-musl
57
+
58
+ FROM alpine:latest
59
+ COPY --from=kms-builder /app/dstack/target/x86_64-unknown-linux-musl/release/dstack-kms /usr/local/bin/dstack-kms
60
+ COPY --from=kms-builder /app/dstack/kms/dstack-app/entrypoint.sh /entrypoint.sh
61
+ COPY --from=dstack-mr-builder /usr/local/bin/dstack-mr /usr/local/bin/dstack-mr
62
+ WORKDIR /app/kms
63
+ CMD ["/entrypoint.sh"]
48
64
volumes :
49
65
- kms-volume:/etc/kms
50
66
- /var/run/dstack.sock:/var/run/dstack.sock
67
+ environment :
68
+ - IMAGE_DOWNLOAD_URL=${IMAGE_DOWNLOAD_URL}
51
69
ports :
52
70
- 8000:8000
53
71
depends_on :
Original file line number Diff line number Diff line change 29
29
# The address of the guest agent service listening on Host machine
30
30
# GUEST_AGENT_ADDR=127.0.0.1:9205
31
31
32
+ # The URL of the dstack app image download URL
33
+ # IMAGE_DOWNLOAD_URL=https://files.kvin.wang/images/mr_{MR_IMAGE}.tar.gz
34
+
32
35
# The URL of the Ethereum RPC service
33
36
ETH_RPC_URL=https://rpc.phala.network
34
37
@@ -49,6 +52,7 @@ required_env_vars=(
49
52
" GUEST_AGENT_ADDR"
50
53
" KMS_CONTRACT_ADDR"
51
54
" ETH_RPC_URL"
55
+ " IMAGE_DOWNLOAD_URL"
52
56
)
53
57
54
58
for var in " ${required_env_vars[@]} " ; do
Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+ set -e
3
+
4
+ cat << EOF > ./kms.toml
5
+ [core.image]
6
+ verify = true
7
+ cache_dir = "./images"
8
+ download_url = "${IMAGE_DOWNLOAD_URL} "
9
+ download_timeout = "2m"
10
+ EOF
11
+
12
+ exec dstack-kms -c ./kms.toml
Original file line number Diff line number Diff line change @@ -256,7 +256,11 @@ pub(crate) async fn update_certs(cfg: &KmsConfig) -> Result<()> {
256
256
let k256_key_bytes = fs:: read ( cfg. k256_key ( ) ) ?;
257
257
let k256_key = SigningKey :: from_slice ( & k256_key_bytes) ?;
258
258
259
- let domain = fs:: read_to_string ( cfg. rpc_domain ( ) ) ?;
259
+ let domain = if cfg. onboard . auto_bootstrap_domain . is_empty ( ) {
260
+ fs:: read_to_string ( cfg. rpc_domain ( ) ) ?
261
+ } else {
262
+ cfg. onboard . auto_bootstrap_domain . clone ( )
263
+ } ;
260
264
let domain = domain. trim ( ) ;
261
265
262
266
// Regenerate certificates using existing keys
You can’t perform that action at this time.
0 commit comments