|
1 | 1 | # SPDX-FileCopyrightText: © 2026 Phala Network <dstack@phala.network> |
2 | 2 | # SPDX-License-Identifier: Apache-2.0 |
3 | 3 |
|
4 | | -# Directory containing unpacked dstack guest images: <store>/<image-name>/{bzImage,initramfs...,rootfs...,digest.txt} |
5 | | -# In meta-dstack this is usually ../../../build/images from this directory, or an absolute path. |
6 | | -DSTACK_E2E_IMAGE_STORE=../../../build/images |
| 4 | +# Directory containing unpacked dstack guest images: |
| 5 | +# <store>/<image-name>/{bzImage,initramfs...,rootfs...,digest.txt,sha256sum.txt} |
| 6 | +DSTACK_E2E_IMAGE_STORE=../../../meta-dstack/build/images |
7 | 7 | DSTACK_E2E_IMAGE_NAME=dstack-0.6.0 |
8 | 8 | DSTACK_E2E_PLATFORM=tdx |
9 | 9 |
|
10 | | -# App image used inside the CVMs launched by this suite. |
| 10 | +# Exact released upgrade sources. Both are digest-pinned on Docker Hub and |
| 11 | +# checked by their in-image --version output before any CVM is launched. |
| 12 | +DSTACK_E2E_OLD_KMS_IMAGE=dstacktee/dstack-kms:0.5.8@sha256:9650dcb47dad0065470f432f00e78e012912214ef1a5b1d7272918817e61a26d |
| 13 | +DSTACK_E2E_OLD_GATEWAY_IMAGE=dstacktee/dstack-gateway:0.5.8@sha256:6eb1dc1a5000f37cc5b0322d3fdb71e7f2e31859b5e3a611634919278cee2411 |
11 | 14 | DSTACK_E2E_APP_IMAGE=nginx:alpine |
12 | 15 |
|
13 | | -# Released images used by run-upgrade-e2e.sh. The KMS case intentionally pins |
14 | | -# exactly 0.5.7; the script fails before starting the stack if Docker Hub does |
15 | | -# not provide that tag. Gateway 0.5.8 is the default published upgrade source. |
16 | | -DSTACK_E2E_OLD_KMS_IMAGE=dstacktee/dstack-kms:0.5.7 |
17 | | -DSTACK_E2E_OLD_GATEWAY_IMAGE=dstacktee/dstack-gateway:0.5.8 |
18 | | - |
19 | 16 | # Mock ACME/DNS + externally visible test domain for Gateway SNI. |
20 | 17 | DSTACK_E2E_BASE_DOMAIN=e2e.test |
21 | 18 | DSTACK_E2E_PEBBLE_IMAGE=kvin/pebble:latest |
22 | 19 |
|
23 | | -# Host ports. Defaults are chosen to avoid the common dstackup ports. |
| 20 | +# Host ports. Defaults are chosen to avoid common dstackup ports. |
24 | 21 | DSTACK_E2E_VMM_PORT=29080 |
25 | 22 | DSTACK_E2E_AUTH_PORT=28011 |
26 | | -DSTACK_E2E_KMS_HOST_PORT=28082 |
27 | | -# 0.5.x KMS encodes rpc-domain as a DNS SAN even when it looks like an IP. |
28 | | -# Use a DNS name that resolves to QEMU's 10.0.2.2 host gateway. |
29 | | -DSTACK_E2E_KMS_RPC_DOMAIN=10.0.2.2.nip.io |
30 | | -DSTACK_E2E_GATEWAY_RPC_HOST_PORT=28000 |
31 | | -DSTACK_E2E_GATEWAY_ADMIN_HOST_PORT=28001 |
32 | | -DSTACK_E2E_GATEWAY_PROXY_HOST_PORT=28443 |
33 | | -DSTACK_E2E_GATEWAY_WG_HOST_PORT=28120 |
| 23 | +DSTACK_E2E_ARTIFACT_PORT=38081 |
| 24 | +DSTACK_E2E_KMS_OLD_HOST_PORT=28082 |
| 25 | +DSTACK_E2E_KMS_LATEST_HOST_PORT=28083 |
| 26 | +# KMS 0.5.8 encodes this value as a DNS SAN. It must resolve to the test host |
| 27 | +# from BOTH the host-side deployment client and each CVM. If omitted, the |
| 28 | +# renderer derives <host-default-route-ip>.nip.io (for example below). |
| 29 | +# DSTACK_E2E_KMS_RPC_DOMAIN=192.168.1.90.nip.io |
| 30 | +DSTACK_E2E_GATEWAY1_RPC_HOST_PORT=28000 |
| 31 | +DSTACK_E2E_GATEWAY1_ADMIN_HOST_PORT=28001 |
| 32 | +DSTACK_E2E_GATEWAY1_PROXY_HOST_PORT=28443 |
| 33 | +DSTACK_E2E_GATEWAY1_WG_HOST_PORT=28120 |
| 34 | +DSTACK_E2E_GATEWAY2_RPC_HOST_PORT=28100 |
| 35 | +DSTACK_E2E_GATEWAY2_ADMIN_HOST_PORT=28101 |
| 36 | +DSTACK_E2E_GATEWAY2_PROXY_HOST_PORT=28543 |
| 37 | +DSTACK_E2E_GATEWAY2_WG_HOST_PORT=28121 |
34 | 38 | DSTACK_E2E_KEY_PROVIDER_PORT=13443 |
35 | 39 | DSTACK_E2E_HOST_API_PORT=20011 |
36 | 40 | DSTACK_E2E_MOCK_CF_HTTP_PORT=38080 |
37 | 41 | DSTACK_E2E_PEBBLE_HTTP_PORT=34000 |
38 | 42 | DSTACK_E2E_PEBBLE_MGMT_PORT=35000 |
39 | 43 |
|
40 | | -# Dev-compose gateway policy. "any" matches the tdxlab host-side gateway mode: |
41 | | -# app CVMs skip gateway app-id pinning but still use KMS authorization for apps. |
42 | | -DSTACK_E2E_GATEWAY_APP_ID=any |
43 | | -DSTACK_E2E_GATEWAY_WG_INTERFACE=wg-ds-e2e |
44 | | -DSTACK_E2E_GATEWAY_WG_IP=10.8.0.1/16 |
45 | | -DSTACK_E2E_GATEWAY_WG_RESERVED_NET=10.8.0.1/32 |
46 | | -DSTACK_E2E_GATEWAY_WG_CLIENT_RANGE=10.8.0.0/18 |
| 44 | +# Optional exact 20-byte Gateway application ID. If omitted, the renderer |
| 45 | +# deterministically derives one. "any" is intentionally rejected. |
| 46 | +# DSTACK_E2E_GATEWAY_APP_ID=0123456789abcdef0123456789abcdef01234567 |
47 | 47 |
|
48 | 48 | # VMM/QEMU knobs. |
49 | 49 | DSTACK_E2E_CID_START=15000 |
50 | 50 | DSTACK_E2E_QGS_PORT=4050 |
51 | 51 | DSTACK_E2E_QEMU_PATH=/usr/bin/qemu-system-x86_64 |
52 | 52 |
|
53 | | -# SGX QCNL config used by AESMD. On hosts with a local PCCS, point this at the |
54 | | -# host config, e.g. /etc/sgx_default_qcnl.conf. |
| 53 | +# SGX QCNL config used by the Local-Key-Provider that seals each KMS CVM disk. |
55 | 54 | DSTACK_E2E_QCNL_CONF=../../dstack/key-provider-build/sgx_default_qcnl.conf |
56 | 55 |
|
57 | 56 | # Runner behaviour. |
58 | 57 | DSTACK_E2E_CLEAN_START=true |
59 | 58 | DSTACK_E2E_CLEANUP_AFTER=false |
60 | | - |
61 | | -# Upgrade-driver behaviour. Keep the completed stack by default for inspection. |
62 | 59 | DSTACK_E2E_UPGRADE_CLEAN_STATE=true |
63 | 60 | DSTACK_E2E_KEEP_STACK=true |
| 61 | + |
| 62 | +# Set only when the current x86_64-musl KMS/Gateway binaries were already built. |
| 63 | +DSTACK_E2E_SKIP_CURRENT_BUILD=false |
0 commit comments