Skip to content

feat(kms)!: turn off the public KMS key handover by default - #1552

Merged
kvinwang merged 1 commit into
feat/kms-epochs-combinedfrom
chore/kms-public-key-handover-off
Nov 10, 2026
Merged

kvinwang merged 1 commit into
feat/kms-epochs-combinedfrom
chore/kms-public-key-handover-off

Conversation

@kvinwang

Copy link
Copy Markdown
Collaborator

Follow-up to the #1533 review (Blocking #3): core.onboard.public_key_handover now defaults to false, so KMS.GetKmsKey is no longer served on the public port.

  • kms.toml and the serde default are both false. Every bundled config (dstack-app compose files, dstack-cli-core, tools/dev-stack.sh) omits the key and inherits the default.
  • The refusal now tells operators to onboard through the admin listener with source_token, or to enable the option. The onboard page explains this next to the token field.
  • Docs: KMS README, deployment guide, security model, 0.6 upgrade guide (a source that still onboards 0.5.x KMS nodes must enable it until they are upgraded), and CHANGELOG.
  • The onboarding test runbooks onboard without a source token, so they now enable the option on the source KMS.

Root-key handover now lives on the admin listener, so the public
KMS.GetKmsKey entry is only needed while a 0.5.x KMS, or an onboarding
request without source_token, still onboards from the cluster. Default
core.onboard.public_key_handover to false in kms.toml and in the serde
default, and make the refusal name the option to enable.

The onboarding test runbooks onboard without a source token, so they now
set the option on the source KMS explicitly.

Signed-off-by: Kevin Wang <wy721@qq.com>
kvinwang added a commit that referenced this pull request Nov 10, 2026
#1552 turns core.onboard.public_key_handover off by default. The suite
onboards without source_token, onboards 0.5.x destinations, and calls the
public KMS.GetKmsKey directly, so every generated KMS config now enables
it explicitly. Old KMS versions ignore the unknown key.

tc-kms-onboard-005 drops the key instead of writing `false`, so its
admin-listener step also covers the new default.

Signed-off-by: Kevin Wang <wy721@qq.com>
@kvinwang
kvinwang merged commit ba34bd9 into feat/kms-epochs-combined Nov 10, 2026
1 check passed
@kvinwang
kvinwang deleted the chore/kms-public-key-handover-off branch November 10, 2026 06:42
kvinwang added a commit that referenced this pull request Nov 11, 2026
#1552 turns core.onboard.public_key_handover off by default. The suite
onboards without source_token, onboards 0.5.x destinations, and calls the
public KMS.GetKmsKey directly, so every generated KMS config now enables
it explicitly. Old KMS versions ignore the unknown key.

tc-kms-onboard-005 drops the key instead of writing `false`, so its
admin-listener step also covers the new default.

Signed-off-by: Kevin Wang <wy721@qq.com>
kvinwang added a commit that referenced this pull request Nov 11, 2026
Signed-off-by: Kevin Wang <wy721@qq.com>
kvinwang added a commit that referenced this pull request Nov 11, 2026
#1552 turns core.onboard.public_key_handover off by default. The suite
onboards without source_token, onboards 0.5.x destinations, and calls the
public KMS.GetKmsKey directly, so every generated KMS config now enables
it explicitly. Old KMS versions ignore the unknown key.

tc-kms-onboard-005 drops the key instead of writing `false`, so its
admin-listener step also covers the new default.

Signed-off-by: Kevin Wang <wy721@qq.com>
kvinwang added a commit that referenced this pull request Nov 11, 2026
Signed-off-by: Kevin Wang <wy721@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant