diff --git a/.github/workflows/build-and-push-wasm-plugin-image.yaml b/.github/workflows/build-and-push-wasm-plugin-image.yaml index b75ed1a1f..3ff89fe04 100644 --- a/.github/workflows/build-and-push-wasm-plugin-image.yaml +++ b/.github/workflows/build-and-push-wasm-plugin-image.yaml @@ -104,11 +104,6 @@ jobs: push_command=${push_command#\"} push_command=${push_command%\"} # 删除PUSH_COMMAND中的双引号,确保oras push正常解析 - target_image="${{ env.IMAGE_REGISTRY_SERVICE }}/${{ env.IMAGE_REPOSITORY}}/${{ env.PLUGIN_NAME }}:${{ env.VERSION }}" - target_image_latest="${{ env.IMAGE_REGISTRY_SERVICE }}/${{ env.IMAGE_REPOSITORY}}/${{ env.PLUGIN_NAME }}:latest" - echo "TargetImage=${target_image}" - echo "TargetImageLatest=${target_image_latest}" - cd ${{ github.workspace }}/plugins/wasm-${PLUGIN_TYPE}/extensions/${PLUGIN_NAME} if [ -f ./.buildrc ]; then echo 'Found .buildrc file, sourcing it...' @@ -116,6 +111,21 @@ jobs: else echo '.buildrc file not found' fi + + # Resolve custom image short name from .buildrc, fallback to plugin directory name. + # .buildrc may define IMAGE_NAME=xxx to override the output image tag. + IMAGE_NAME=${IMAGE_NAME:-$PLUGIN_NAME} + if ! [[ "$IMAGE_NAME" =~ ^[a-z0-9._-]+$ ]]; then + echo "::error::Invalid IMAGE_NAME '$IMAGE_NAME' in .buildrc — must match [a-z0-9._-]+" + exit 1 + fi + echo "IMAGE_NAME=${IMAGE_NAME}" + + target_image="${{ env.IMAGE_REGISTRY_SERVICE }}/${{ env.IMAGE_REPOSITORY}}/${IMAGE_NAME}:${{ env.VERSION }}" + target_image_latest="${{ env.IMAGE_REGISTRY_SERVICE }}/${{ env.IMAGE_REPOSITORY}}/${IMAGE_NAME}:latest" + echo "TargetImage=${target_image}" + echo "TargetImageLatest=${target_image_latest}" + echo "EXTRA_TAGS=${EXTRA_TAGS}" if [ "${PLUGIN_TYPE}" == "go" ]; then command=" diff --git a/plugins/wasm-go/README.md b/plugins/wasm-go/README.md index 1c6845feb..d35bd2cec 100644 --- a/plugins/wasm-go/README.md +++ b/plugins/wasm-go/README.md @@ -11,6 +11,10 @@ ```bash # NOTE: 如果你想在构建插件的时候设置额外的构建参数 EXTRA_TAGS # 请更新 extensions/${PLUGIN_NAME} 插件目录对应的 .buildrc 文件 +# NOTE: 如果你想自定义最终推送的镜像短名(覆盖默认的插件目录名), +# 可以在 .buildrc 中添加 IMAGE_NAME=。 +# 镜像短名只能包含小写字母、数字、`.`、`_`、`-`,否则构建会失败。 +# 本设置仅影响推送的镜像 tag,不影响源码路径。 $ PLUGIN_NAME=request-block make build ``` diff --git a/plugins/wasm-go/README_EN.md b/plugins/wasm-go/README_EN.md index 74dc8e2f3..a70e74e21 100644 --- a/plugins/wasm-go/README_EN.md +++ b/plugins/wasm-go/README_EN.md @@ -9,6 +9,10 @@ The wasm-go plugin can be built quickly with the following command: ```bash # NOTE: if you want to set EXTRA_TAGS for the wasm plugin # please set them in the .buildrc file under extensions/${PLUGIN_NAME} directory +# NOTE: to override the output image short name (default: plugin directory name), +# add `IMAGE_NAME=` to .buildrc. +# The image name must contain only [a-z0-9._-], or the build will fail. +# This affects the pushed image tag only, not the source code path. $ PLUGIN_NAME=request-block make build ``` diff --git a/plugins/wasm-go/extensions/basic-auth/.buildrc b/plugins/wasm-go/extensions/basic-auth/.buildrc new file mode 100644 index 000000000..b414c0cc3 --- /dev/null +++ b/plugins/wasm-go/extensions/basic-auth/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-basic-auth diff --git a/plugins/wasm-go/extensions/bot-detect/.buildrc b/plugins/wasm-go/extensions/bot-detect/.buildrc new file mode 100644 index 000000000..483f47142 --- /dev/null +++ b/plugins/wasm-go/extensions/bot-detect/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-bot-detect diff --git a/plugins/wasm-go/extensions/custom-response/.buildrc b/plugins/wasm-go/extensions/custom-response/.buildrc new file mode 100644 index 000000000..701fe6543 --- /dev/null +++ b/plugins/wasm-go/extensions/custom-response/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-custom-response diff --git a/plugins/wasm-go/extensions/jwt-auth/.buildrc b/plugins/wasm-go/extensions/jwt-auth/.buildrc new file mode 100644 index 000000000..2e6a3cc64 --- /dev/null +++ b/plugins/wasm-go/extensions/jwt-auth/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-jwt-auth diff --git a/plugins/wasm-go/extensions/key-auth/.buildrc b/plugins/wasm-go/extensions/key-auth/.buildrc new file mode 100644 index 000000000..e7d99811b --- /dev/null +++ b/plugins/wasm-go/extensions/key-auth/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-key-auth diff --git a/plugins/wasm-go/extensions/sni-misdirect/.buildrc b/plugins/wasm-go/extensions/sni-misdirect/.buildrc new file mode 100644 index 000000000..ad1fb7302 --- /dev/null +++ b/plugins/wasm-go/extensions/sni-misdirect/.buildrc @@ -0,0 +1 @@ +IMAGE_NAME=go-sni-misdirect