Skip to content

feat: add pluginImageRegistry and pluginImageNamespace config for built-in plugins#666

Merged
johnlanni merged 1 commit intohigress-group:mainfrom
johnlanni:feat/plugin-image-registry-config
Feb 20, 2026
Merged

feat: add pluginImageRegistry and pluginImageNamespace config for built-in plugins#666
johnlanni merged 1 commit intohigress-group:mainfrom
johnlanni:feat/plugin-image-registry-config

Conversation

@johnlanni
Copy link
Copy Markdown
Contributor

@johnlanni johnlanni commented Feb 20, 2026

What this PR does

This PR adds support for customizing the plugin image registry and namespace for built-in plugins without modifying the plugins.properties file.

Changes

  1. WasmPluginServiceConfig.java:

    • Added pluginImageRegistry and pluginImageNamespace fields
    • Added support for environment variables HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY and HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_NAMESPACE
  2. WasmPluginServiceImpl.java:

    • Added buildPluginImageUrl() method to construct plugin image URL with custom registry/namespace
    • Priority: customPattern > registry/namespace > defaultUrl
  3. helm/values.yaml:

    • Added pluginServer.imageRegistry and pluginServer.imageNamespace options
    • Added global.hub and global.pluginNamespace for parent chart integration
  4. helm/templates/deployment.yaml:

    • Added environment variable injection for the new config options
    • Support fallback: pluginServer.imageRegistryglobal.hub

Priority Chain

For plugin image registry:

  1. pluginServer.imageRegistry (direct config)
  2. global.hub (parent chart, shared with deployments)

For plugin image namespace:

  1. pluginServer.imageNamespace (direct config)
  2. global.pluginNamespace (parent chart)

Usage

Users can customize the plugin image registry via:

  1. Helm values (from parent higress chart):
global:
  hub: my-registry.example.com  # Shared with deployments
  pluginNamespace: my-plugins   # Optional, default is "plugins"
  1. Helm values (standalone or override):
pluginServer:
  imageRegistry: "my-registry.example.com"
  imageNamespace: "my-plugins"
  1. Environment variables:
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=my-registry.example.com
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_NAMESPACE=my-plugins

Image URL Transformation

Default URL:

oci://higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/ai-proxy:2.0.0

With global.hub=my-registry.example.com:

oci://my-registry.example.com/plugins/ai-proxy:2.0.0

Related

This PR works together with higress PR #3521 to provide a complete solution for customizing plugin image locations using a shared global.hub parameter.

…lt-in plugins

- Add pluginImageRegistry and pluginImageNamespace fields to WasmPluginServiceConfig
- Support overriding the default registry and namespace in plugins.properties via environment variables
- Add HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY and HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_NAMESPACE env support
- Update helm values.yaml with pluginServer.imageRegistry and pluginServer.imageNamespace options
- Update deployment.yaml to inject the new env vars
- Support fallback from pluginServer.imageRegistry to global.hub
- Add global.hub and global.pluginNamespace for parent chart integration

This allows users to customize the plugin image registry and namespace without modifying plugins.properties.

Priority: pluginServer.imageRegistry > global.hub
@johnlanni johnlanni force-pushed the feat/plugin-image-registry-config branch from 0e8d0f1 to 8090167 Compare February 20, 2026 14:47
@johnlanni johnlanni merged commit e625b7c into higress-group:main Feb 20, 2026
5 checks passed
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