gorules/agentGoRules Agent 是一个独立的微服务,作为高性能无头(Headless)规则引擎通过 REST 接口运行,无需用户界面(UI)。其核心功能是从对象存储服务拉取规则版本(Releases),在规则发生变更时自动重新加载,并高效执行决策模型评估。该服务确保规则始终保持最新状态,且仅需最小化配置即可通过 API 访问。
bashdocker run -d \ --name gorules-agent \ -p <host-port>:<container-port> \ # 假设默认容器端口为 8080(具体请参考官方文档) -e PROVIDER__TYPE=<storage-type> \ [其他环境变量] \ gorules/agent:latest
AWS S3(支持 IAM 认证)
若部署环境支持 IAM(如 AWS ECS/EKS),AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 为可选:
bashdocker run -d \ --name gorules-agent-s3 \ -p 8080:8080 \ -e PROVIDER__TYPE=S3 \ -e PROVIDER__BUCKET=my-rules-bucket \ -e PROVIDER__REGION=us-east-1 \ # IAM 环境下可选 -e AWS_ACCESS_KEY_ID=AKIAEXAMPLE \ # IAM 环境下可选 -e AWS_SECRET_ACCESS_KEY=secret \ # IAM 环境下可选 gorules/agent:latest
Azure Storage
bashdocker run -d \ --name gorules-agent-azure \ -p 8080:8080 \ -e PROVIDER__TYPE=AzureStorage \ -e PROVIDER__CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net" \ -e PROVIDER__CONTAINER=my-rules-container \ gorules/agent:latest
Google Cloud Storage (GCS)
bashdocker run -d \ --name gorules-agent-gcs \ -p 8080:8080 \ -e PROVIDER__TYPE=GCS \ -e PROVIDER__BUCKET=my-rules-bucket \ -e PROVIDER__BASE64_CONTENTS="base64-encoded-gcs-credentials" \ # GCS 服务账号密钥 JSON 的 Base64 编码内容 gorules/agent:latest
MinIO
bashdocker run -d \ --name gorules-agent-minio \ -p 8080:8080 \ -e PROVIDER__TYPE=S3 \ -e PROVIDER__REGION=us-east-1 \ -e PROVIDER__BUCKET=my-rules-bucket \ -e PROVIDER__FORCE_PATH_STYLE=true \ # MinIO 需启用路径样式访问 -e PROVIDER__ENDPOINT=[***] \ # MinIO 服务端点 -e PROVIDER__PREFIX=rules-folder/ \ # 可选,规则文件在桶中的路径前缀 -e AWS_ACCESS_KEY_ID=minio-access-key \ -e AWS_SECRET_ACCESS_KEY=minio-secret-key \ gorules/agent:latest
yamlversion: '3.8' services: gorules-agent: image: gorules/agent:latest container_name: gorules-agent ports: - "8080:8080" environment: - PROVIDER__TYPE=S3 # 或 AzureStorage/GCS - PROVIDER__BUCKET=my-rules-bucket - PROVIDER__REGION=us-east-1 # 其他存储类型所需环境变量(根据实际选择添加) restart: unless-stopped
GoRules Agent 通过环境变量配置对象存储连接及运行参数,以下按存储类型分类说明:
| 变量名 | 说明 | 取值范围 | 是否必填 |
|---|---|---|---|
PROVIDER__TYPE | 对象存储提供商类型 | S3/AzureStorage/GCS | 是 |
| 变量名 | 说明 | 示例值 | 是否必填(非 IAM 环境) |
|---|---|---|---|
PROVIDER__BUCKET | S3 桶名称 | my-rules-bucket | 是 |
PROVIDER__REGION | S3 区域(如 us-east-1) | us-west-2 | 是 |
AWS_ACCESS_KEY_ID | AWS 访问密钥 ID(IAM 环境下可选) | AKIAEXAMPLE | 是(非 IAM 环境) |
AWS_SECRET_ACCESS_KEY | AWS 密钥(IAM 环境下可选) | secret | 是(非 IAM 环境) |
PROVIDER__FORCE_PATH_STYLE | 是否强制使用路径样式访问(MinIO 等兼容 S3 的存储需设为 true) | true/false | 否(默认 false) |
PROVIDER__ENDPOINT | 自定义 S3 兼容服务端点(如 MinIO) | [***] | 否 |
PROVIDER__PREFIX | 桶内规则文件路径前缀(如子文件夹) | rules/v1/ | 否 |
| 变量名 | 说明 | 示例值 | 是否必填 |
|---|---|---|---|
PROVIDER__CONNECTION_STRING | Azure 存储连接字符串 | DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey | 是 |
PROVIDER__CONTAINER | Azure Blob 容器名称 | my-rules-container | 是 |
| 变量名 | 说明 | 示例值 | 是否必填 |
|---|---|---|---|
PROVIDER__BUCKET | GCS 桶名称 | my-rules-bucket | 是 |
PROVIDER__BASE64_CONTENTS | GCS 服务账号密钥 JSON 文件的 Base64 编码内容(需提前编码) | eyJ0eXBlIjoi...(Base64 字符串) | 是 |
MinIO 配置复用 S3 类型参数,需额外设置以下参数:
| 变量名 | 说明 | 示例值 | 是否必填 |
|---|---|---|---|
PROVIDER__FORCE_PATH_STYLE | 强制路径样式访问 | true | 是 |
PROVIDER__ENDPOINT | MinIO 服务地址 | [***] | 是 |
AWS_ACCESS_KEY_ID | MinIO 访问密钥 | minio-access-key | 是 |
AWS_SECRET_ACCESS_KEY | MinIO 密钥 | minio-secret-key | 是 |

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务