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:
2727 build :
2828 context : .
2929 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
3139 WORKDIR /app
3240 RUN apt-get update && apt-get install -y \
3341 git \
3442 build-essential \
43+ musl-tools \
3544 libssl-dev \
3645 protobuf-compiler \
3746 libprotobuf-dev \
@@ -43,11 +52,20 @@ services:
4352 cd dstack && \
4453 git checkout ${GIT_REV}
4554 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"]
4864 volumes :
4965 - kms-volume:/etc/kms
5066 - /var/run/dstack.sock:/var/run/dstack.sock
67+ environment :
68+ - IMAGE_DOWNLOAD_URL=${IMAGE_DOWNLOAD_URL}
5169 ports :
5270 - 8000:8000
5371 depends_on :
Original file line number Diff line number Diff line change 2929# The address of the guest agent service listening on Host machine
3030# GUEST_AGENT_ADDR=127.0.0.1:9205
3131
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+
3235# The URL of the Ethereum RPC service
3336ETH_RPC_URL=https://rpc.phala.network
3437
@@ -49,6 +52,7 @@ required_env_vars=(
4952 " GUEST_AGENT_ADDR"
5053 " KMS_CONTRACT_ADDR"
5154 " ETH_RPC_URL"
55+ " IMAGE_DOWNLOAD_URL"
5256)
5357
5458for 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<()> {
256256 let k256_key_bytes = fs:: read ( cfg. k256_key ( ) ) ?;
257257 let k256_key = SigningKey :: from_slice ( & k256_key_bytes) ?;
258258
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+ } ;
260264 let domain = domain. trim ( ) ;
261265
262266 // Regenerate certificates using existing keys
You can’t perform that action at this time.
0 commit comments