Files
OpenFlare/backend/openflare/share/README.md
T

28 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# share — 跨插件共享资源层
本目录存放被 **两个及以上插件共同消费**、且无处安放的可复用资源:
- 不能放 `Wavelet/pkg/`:该层是上游通用库,禁止包含业务语义。
- 不能放进某个插件内部:Cordis 规则禁止插件之间互相 import 实现包。
因此 `share/` 是内核(`core/`)之外唯一允许被任意插件直接 import 的共享层。
本目录内的包**禁止** import `Wavelet/openflare/...`(下游业务)与 `Wavelet/plugins/...`(具体插件实现),
只允许 import 标准库、第三方库与 `Wavelet/core`、`Wavelet/pkg`。
## 当前内容
| 包 | 内容 | 消费方 |
| :-- | :-- | :-- |
| `share/protocol` | server 与边缘三进制的控制消息线格式 | `server`、`agent`、`relay`、`flared` |
| `share/geoip` | GeoIP 解析与 IP 工具(含 `iputil` 子包) | `server`、`agent` |
| `share/edge/logging` | 边缘守护进程统一日志初始化 | `agent`、`relay`、`flared` |
| `share/githubrelease` | GitHub Release 资产解析、校验与下载 | `server`(Pages)、边缘更新器 |
## 所有权与上游同步
**本目录由 OpenFlare 拥有,不属于上游 merge 范围**:`git merge wavelet/main` 吸收
`backend/{core,pkg,plugins}` 等上游变更,从不覆盖 `share/` 与 `openflare/`。
计划迁入的候选(随插件化进度):`wsclient`(需先合并 `pkg/util` 的仅存符号)、
`render`(openresty 配置渲染)、`pagesarchive`(Pages 产物解包)。