4.1 KiB
4.1 KiB
LokiStack × opsx-licence 对接说明
状态
- 代码:双路径已接入(
LIC-/LICOFF-→ opsx-licence;旧 HMAC 迁移窗口内仍接受并提示)。 - 生产 product
lokistack尚未在 licence.rlwj.cn 创建(公开GET /api/v1/products/code/lokistack返回「产品不存在」)。 - 默认 API:
LICENSE_API_BASE=https://licence.rlwj.cn/api(可用环境变量覆盖;l123仅网络失败备灾)。
Plan(产品锁)
| plan_type | 时长 | 实例(max_devices) |
|---|---|---|
| trial | 14 天 | 1 |
| yearly | 365 天 | 默认 1,可加购 |
| perpetual | 0(永久) | 默认 1,可加购 |
计费按部署实例,不计登录席位。instance_id = DATA_DIR/instance.id 机器指纹,无 PII。
管理端创建 product(需管理员登录,本说明不含账密)
- 打开
https://licence.rlwj.cn管理后台并登录。 - 产品 → 新建:
- name:
LokiStack - code:
lokistack(必须完全一致) - features:
log_analysis,log_alerts,ai_ops,audit_log - price_model:
perpetual(或按需) - status: 启用
- name:
- 定价计划 → 为该产品新建三条:
- trial / 14 / max_devices=1 / price=0
- yearly / 365 / max_devices=1
- perpetual / 0 / max_devices=1
- 许可证 → 选客户 + 产品
lokistack签发LIC-;离线场景签发LICOFF-(须绑定目标实例的instance_id)。
等价 Admin API(需 Bearer;勿把 token 写进仓)
# 创建产品
curl -sS -X POST 'https://licence.rlwj.cn/api/v1/products' \
-H "Authorization: Bearer <ADMIN_TOKEN>" -H 'Content-Type: application/json' \
-d '{"name":"LokiStack","code":"lokistack","version":"1.0.0","description":"LokiStack Pro","features":["log_analysis","log_alerts","ai_ops","audit_log"],"price":0,"price_model":"perpetual","status":1}'
# 创建计划(替换 PRODUCT_ID)
curl -sS -X POST 'https://licence.rlwj.cn/api/v1/plans' \
-H "Authorization: Bearer <ADMIN_TOKEN>" -H 'Content-Type: application/json' \
-d '{"product_id":PRODUCT_ID,"name":"体验","plan_type":"trial","price":0,"currency":"CNY","duration":14,"max_devices":1,"features":["Pro","体验","1 实例"],"sort_order":0,"status":1}'
# yearly duration=365;perpetual duration=0 —— 同结构各建一条
公开校验:
curl -sS 'https://licence.rlwj.cn/api/v1/products/code/lokistack'
旧 HMAC 迁移
- 已发出的本地 HMAC 码:迁移窗口内继续可用,设置页黄条提示换发;禁止静默清码。
- 换发:后台为客户建
lokistack许可证 → 客户在设置页粘贴新LIC-/LICOFF-覆盖激活。 - 窗口结束后再关 HMAC 路径(另开刀,需产品点头)。
环境变量
| 变量 | 含义 |
|---|---|
LICENSE_API_BASE 或 OPSX_LICENSE_API_BASE |
覆盖默认 https://licence.rlwj.cn/api |
对齐 Shell 的差异
| OpsxShell | LokiStack | |
|---|---|---|
| product_code | opsxshell |
lokistack |
| 绑定字段 | device_id |
instance_id(同语义) |
| 默认 Base | l123 主 / 国内备 | 国内主 / l123 备 |
| 落盘 | license.opsx |
JsonDB license 字段 |
| 退出授权 | clear → remote deactivate + 删本地 |
设置→授权「退出授权」→ POST /system/license/deactivate;在线成功才清本地;LICOFF- 仅解本机并提示后台名额可能仍占 |
退出授权(本机)
- UI:设置 → 授权,Pro 态(含宽限仍 pro)管理员可见「退出授权」,二次确认;免费/未激活不渲染。成功后只重拉授权态,不整页刷新。
- 后端:
POST /api/v1/system/license/deactivate(Admin)。 - 在线
LIC-:调用POST {LICENSE_API_BASE}/v1/license/deactivate,body 含license_key、device_id(=instance_id)、activation_token(若有);成功才清本地,失败保留现状并报错。 - 离线
LICOFF-:只清本地,响应offlineLocalOnly=true,提示后台名额可能仍占。 - 旧 HMAC:只清本地。
- 禁止在周检/校验失败路径静默清码;仅用户确认后走本接口。