diff --git a/.github/workflows/helm-lint.yml b/.github/workflows/helm-lint.yml index a741aeec5..1ebde8b38 100644 --- a/.github/workflows/helm-lint.yml +++ b/.github/workflows/helm-lint.yml @@ -5,9 +5,11 @@ on: paths: - 'helm/**' - 'install/agentteams-install.sh' + - 'install/agentteams-install.ps1' - 'openhuman/scripts/openhuman-worker-entrypoint.sh' - 'tests/check-agentteams-rename-defaults.sh' - 'tests/check-installer-pre-1.2-env-compat.sh' + - 'tests/check-installer-wasm-registry.sh' - 'tests/check-helm-agentteams.sh' workflow_dispatch: ~ @@ -24,6 +26,9 @@ jobs: - name: Check pre-v1.2 installer compatibility run: bash tests/check-installer-pre-1.2-env-compat.sh + - name: Check installer WASM registry default + run: bash tests/check-installer-wasm-registry.sh + - name: Set up Helm uses: azure/setup-helm@v4 with: diff --git a/changelog/current.md b/changelog/current.md index 9cb0f1fdf..b9c85442e 100644 --- a/changelog/current.md +++ b/changelog/current.md @@ -6,6 +6,7 @@ Record image-affecting changes to `manager/`, `worker/`, `copaw/`, `hermes/`, `o **Bug Fixes** +- **Installer WASM plugin registry**: Keep Higress WASM plugin pulls on the primary registry by default while preserving regional image registry selection for AgentTeams images. (Refs [#429](https://github.com/agentscope-ai/AgentTeams/issues/429)) - **CoPaw Worker workspace projection**: Write Worker prompts, skills, tool configuration, and Matrix agent settings into CoPaw's default workspace so Team Leaders load their assigned role and join the Team Room. ([9074def](https://github.com/agentscope-ai/AgentTeams/commit/9074def3)) - **Team Worker room boundary convergence**: Remove Manager again after standalone Worker infrastructure reconciliation restores regular Team Worker personal-room membership. ([b5b0add](https://github.com/agentscope-ai/AgentTeams/commit/b5b0add)) - **Team Worker reference enforcement**: Keep referenced Worker CRs protected during direct deletion and reject Team API members whose required role is empty. ([d96f1ed](https://github.com/agentscope-ai/AgentTeams/commit/d96f1ed)) diff --git a/install/README.md b/install/README.md index af8bd5dfc..422d5ad2b 100644 --- a/install/README.md +++ b/install/README.md @@ -149,6 +149,7 @@ $env:AGENTTEAMS_LLM_API_KEY = "your-api-key" | `AGENTTEAMS_WORKSPACE_DIR` | Manager workspace | `~/agentteams-manager` | | `AGENTTEAMS_VERSION` | Image tag | `latest` | | `AGENTTEAMS_REGISTRY` | Image registry | *(auto-detected by timezone)* | +| `AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY` | Higress WASM plugin registry | `higress-registry.cn-hangzhou.cr.aliyuncs.com` | ## Platform Notes diff --git a/install/agentteams-install.ps1 b/install/agentteams-install.ps1 index 09cbdf656..8d176cea6 100644 --- a/install/agentteams-install.ps1 +++ b/install/agentteams-install.ps1 @@ -26,6 +26,8 @@ # AGENTTEAMS_WORKSPACE_DIR Host directory for manager workspace (default: ~/agentteams-manager) # AGENTTEAMS_VERSION Image tag (default: latest) # AGENTTEAMS_REGISTRY Image registry (default: auto-detected by timezone) +# AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY +# Higress WASM plugin registry (default: cn-hangzhou primary) # AGENTTEAMS_INSTALL_MANAGER_IMAGE Override manager image (e.g., local build) # AGENTTEAMS_INSTALL_WORKER_IMAGE Override worker image (e.g., local build) # AGENTTEAMS_INSTALL_COPAW_WORKER_IMAGE Override copaw worker image (e.g., local build) @@ -1082,8 +1084,9 @@ AGENTTEAMS_WORKER_IDLE_TIMEOUT=$($Config.WORKER_IDLE_TIMEOUT) # JVM Args for Higress Console JVM_ARGS=$($env:JVM_ARGS) -# Higress WASM plugin image registry (auto-selected by timezone) -HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.REGISTRY) +# Higress WASM plugin image registry +AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY) +HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY) # Data persistence AGENTTEAMS_DATA_DIR=$($Config.DATA_DIR) @@ -2460,6 +2463,11 @@ function Install-Manager { # Detect registry $script:AGENTTEAMS_REGISTRY = Get-Registry -Timezone $script:AGENTTEAMS_TIMEZONE + $script:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY = if ($env:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY) { + $env:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY + } else { + "higress-registry.cn-hangzhou.cr.aliyuncs.com" + } # Set image names $script:MANAGER_IMAGE = if ($env:AGENTTEAMS_INSTALL_MANAGER_IMAGE) { @@ -2664,6 +2672,7 @@ function Install-Manager { # Store additional config $config.LANGUAGE = $script:AGENTTEAMS_LANGUAGE $config.REGISTRY = $script:AGENTTEAMS_REGISTRY + $config.HIGRESS_WASM_PLUGIN_REGISTRY = $script:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY $config.WORKER_IMAGE = $script:WORKER_IMAGE $config.COPAW_WORKER_IMAGE = $script:COPAW_WORKER_IMAGE $config.HERMES_WORKER_IMAGE = $script:HERMES_WORKER_IMAGE diff --git a/install/agentteams-install.sh b/install/agentteams-install.sh index 3e9063630..8b18a8f57 100755 --- a/install/agentteams-install.sh +++ b/install/agentteams-install.sh @@ -29,6 +29,8 @@ # AGENTTEAMS_WORKSPACE_DIR Host directory for manager workspace (default: ~/agentteams-manager) # AGENTTEAMS_VERSION Image tag (default: latest) # AGENTTEAMS_REGISTRY Image registry (default: auto-detected by timezone) +# AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY +# Higress WASM plugin registry (default: cn-hangzhou primary) # AGENTTEAMS_INSTALL_MANAGER_IMAGE Override manager image (e.g., local build) # AGENTTEAMS_INSTALL_WORKER_IMAGE Override worker image (e.g., local build) # AGENTTEAMS_INSTALL_COPAW_WORKER_IMAGE Override copaw worker image (e.g., local build) @@ -1080,6 +1082,7 @@ detect_registry() { } AGENTTEAMS_REGISTRY="${AGENTTEAMS_REGISTRY:-$(detect_registry)}" +AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY="${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY:-higress-registry.cn-hangzhou.cr.aliyuncs.com}" # Backward compatibility: accept old env var names from previous versions AGENTTEAMS_INSTALL_CONTROLLER_IMAGE="${AGENTTEAMS_INSTALL_CONTROLLER_IMAGE:-${AGENTTEAMS_INSTALL_DOCKER_PROXY_IMAGE:-}}" # Image variables are resolved after version selection in step_version(). @@ -3523,8 +3526,9 @@ AGENTTEAMS_PODMAN_AUTOSTART=${AGENTTEAMS_PODMAN_AUTOSTART:-0} # JVM Args for Higress Console (fixes SIGILL on Apple Silicon) JVM_ARGS=${JVM_ARGS:-} -# Higress WASM plugin image registry (auto-selected by timezone) -HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_REGISTRY} +# Higress WASM plugin image registry +AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY} +HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY} # Data persistence AGENTTEAMS_DATA_DIR=${AGENTTEAMS_DATA_DIR:-agentteams-data} diff --git a/tests/check-installer-wasm-registry.sh b/tests/check-installer-wasm-registry.sh new file mode 100644 index 000000000..4fa966c99 --- /dev/null +++ b/tests/check-installer-wasm-registry.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +SHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.sh" +POWERSHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.ps1" +PRIMARY_REGISTRY="higress-registry.cn-hangzhou.cr.aliyuncs.com" + +require_line() { + local path="$1" + local expected="$2" + if ! grep -Fq "${expected}" "${path}"; then + echo "FAIL: expected ${path} to contain: ${expected}" >&2 + exit 1 + fi +} + +if grep -Fq 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_REGISTRY}' "${SHELL_INSTALLER}"; then + echo "FAIL: shell installer ties Higress WASM plugins to the regional image registry" >&2 + exit 1 +fi + +if grep -Fq 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.REGISTRY)' "${POWERSHELL_INSTALLER}"; then + echo "FAIL: PowerShell installer ties Higress WASM plugins to the regional image registry" >&2 + exit 1 +fi + +require_line "${SHELL_INSTALLER}" "AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=\"\${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY:-${PRIMARY_REGISTRY}}\"" +require_line "${POWERSHELL_INSTALLER}" 'AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)' +require_line "${SHELL_INSTALLER}" "HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=\${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY}" +require_line "${POWERSHELL_INSTALLER}" 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)' + +echo "PASS: installers keep Higress WASM plugin registry on the primary registry by default"