feat(kms): enhance onboard page with site name, chain info, and k256 pubkey#571
Draft
feat(kms): enhance onboard page with site name, chain info, and k256 pubkey#571
Conversation
a65e78e to
8e40de3
Compare
…pubkey - Add configurable site_name to core config, displayed as page title and heading on the onboard page for operator visibility. - Read eth_rpc_url and kms_contract_address from auth-api instead of duplicating in onboard config. Display chain info in a separate card. - Return k256_pubkey in OnboardResponse so it can be compared with the on-chain kmsInfo.k256Pubkey after onboarding.
Support MOCK_POLICY env var to control boot authorization behavior: - allow-all (default): all requests allowed - deny-kms: reject KMS self-authorization - deny-app: reject app authorization - deny-all: reject all requests - allowlist-device: only allow specified MOCK_ALLOWED_DEVICE_IDS - allowlist-mr: only allow specified MOCK_ALLOWED_MR_AGGREGATED
ba2df92 to
7bcb5c9
Compare
41dcb12 to
f57d4d0
Compare
f2e82de to
1f0ff46
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enhance the KMS onboard page with additional attestation and chain information, and align all auth API implementations to expose the Ethereum RPC URL.
Changes
KMS Onboard Page (
kms/src/www/onboard.html)0xprefix)0xprefixETH RPC URLKMS Contract AddressKMS RPC Proto (
kms/rpc/proto/kms_rpc.proto)AttestationInfoResponsenew fields:string site_name = 5string eth_rpc_url = 6string kms_contract_address = 7bytes ppid = 8KMS Backend (
kms/src/onboard_service.rs)ppidfrom verified TDX attestation reporteth_rpc_url/kms_contract_addressfrom auth APIAttestationInfoResponsefieldsKMS Config (
kms/src/config.rs,kms/kms.toml)site_namefield under[core]Auth API Info Endpoint
kms/auth-eth/src/server.ts: addethRpcUrltoGET /responsekms/auth-eth-bun/index.ts: addethRpcUrltoGET /responsekms/auth-eth-bun/openapi.json: updateSystemInfoschema withethRpcUrlkms/auth-eth-bun/index.test.ts: sync tests and schema assertionsAuth API Client (
kms/src/main_service/upgrade_authority.rs)AuthApiInfoResponse: addeth_rpc_url(with#[serde(default)])GetInfoResponse: addeth_rpc_url: Option<String>Auth Mock (
kms/auth-mock/index.ts)Builder Dockerfile (
kms/dstack-app/builder/Dockerfile)COPY --from=build-sharedfor BuildKit named context compatibilityConfiguration Example
Testing
cargo check -p dstack-kms -p dstack-kms-rpc✅prek run✅cd kms/auth-eth-bun && bun run test:run && bun run lint✅