From 612dd38fead369aa5bdc2fbdb07a794767283fde Mon Sep 17 00:00:00 2001 From: hector <42570491+majinghe@users.noreply.github.com> Date: Mon, 31 Aug 2026 19:31:51 +0800 Subject: [PATCH] ci(kms): add enforcement/frame/config-secret lane inputs (#6946) New backlog#2024 KMS supplements (KMS-106..502) are gated behind node env flags. Add workflow_dispatch inputs that append the corresponding KEY=VALUE lines to /etc/default/rustfs via the suite's --extra-env option: - enforce_sse_key_policy -> RUSTFS_KMS_ENFORCE_SSE_KEY_POLICY (KMS-401/402) - frame_v2 -> RUSTFS_ENCRYPTION_FRAME_V2 (KMS-318) - config_secret -> RUSTFS_KMS_CONFIG_SECRET (KMS-107) Nightly runs keep the default local+vault-kv2 lane unchanged. --- .github/workflows/rustfs-kms-test.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/rustfs-kms-test.yml b/.github/workflows/rustfs-kms-test.yml index a00a786fc..5d110159c 100644 --- a/.github/workflows/rustfs-kms-test.yml +++ b/.github/workflows/rustfs-kms-test.yml @@ -11,6 +11,18 @@ on: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false type: string + enforce_sse_key_policy: + description: 'Enable RUSTFS_KMS_ENFORCE_SSE_KEY_POLICY (runs KMS-401/402)' + type: boolean + default: false + frame_v2: + description: 'Enable RUSTFS_ENCRYPTION_FRAME_V2 (runs KMS-318)' + type: boolean + default: false + config_secret: + description: 'Set RUSTFS_KMS_CONFIG_SECRET (runs KMS-107 config sealing)' + required: false + type: string workflow_run: # Strict shared-environment order: run after S3 compatibility test completes. workflows: ["RustFS S3 Compatibility Test"] @@ -96,6 +108,19 @@ jobs: PACKAGE_URL='${{ inputs.package_url }}' RUSTFS_VERSION='${{ inputs.rustfs_version }}' ARGS=(--all-topologies --backends "local,vault-kv2" -y --log-file "${LOG_FILE}") + EXTRA_ENV="" + if [ "${{ inputs.enforce_sse_key_policy }}" = "true" ]; then + EXTRA_ENV+="RUSTFS_KMS_ENFORCE_SSE_KEY_POLICY=true"$'\n' + fi + if [ "${{ inputs.frame_v2 }}" = "true" ]; then + EXTRA_ENV+="RUSTFS_ENCRYPTION_FRAME_V2=true"$'\n' + fi + if [ -n "${{ inputs.config_secret }}" ]; then + EXTRA_ENV+="RUSTFS_KMS_CONFIG_SECRET=${{ inputs.config_secret }}"$'\n' + fi + if [ -n "${EXTRA_ENV}" ]; then + ARGS+=(--extra-env "${EXTRA_ENV}") + fi if [ -n "${PACKAGE_URL}" ]; then ARGS+=(--package-url "${PACKAGE_URL}") elif [ -n "${RUSTFS_VERSION}" ]; then