对齐文件规范

This commit is contained in:
2026-03-27 16:58:41 +08:00
parent 231b6713c4
commit 31709425e2
235 changed files with 5433 additions and 2850 deletions

View File

@@ -1,9 +0,0 @@
# 00-01-k3s-基础概念(占位)
对应文档:[`docs/00-01-k3s-基础概念.md`](../../docs/00-01-k3s-基础概念.md)
## 说明
- 本篇为概念性文档,**不提供可部署的 Kubernetes 清单**。
- 验证方式:按文档理解与对照集群实际输出即可(无 `kubectl apply -f` 目标)。

View File

@@ -1,9 +0,0 @@
# 00-04-部署环境说明(占位)
对应文档:[`docs/00-04-部署环境说明.md`](../../docs/00-04-部署环境说明.md)
## 说明
- 本篇为环境说明文档,**不提供可部署的 Kubernetes 清单**。
- 验证方式:按文档逐项核对你的实际环境信息(节点、磁盘挂载、版本等)。

View File

@@ -1,13 +0,0 @@
# 01-01-k3s-控制节点含traefik占位
对应文档:[`docs/01-01-k3s-控制节点含traefik.md`](../../docs/01-01-k3s-控制节点含traefik.md)
## 说明
- 本篇主要是 **K3s 安装与集群初始化**,核心部署逻辑在 Ansible playbook 中。
- 本目录仅作为 doc_id 对齐占位;不单独维护 K8s manifests。
## 关联(参考)
- Ansible`ansible/playbooks/k3s-init-and-install.yml`

View File

@@ -1,13 +0,0 @@
# 01-02-k3s-工作节点(占位)
对应文档:[`docs/01-02-k3s-工作节点.md`](../../docs/01-02-k3s-工作节点.md)
## 说明
- 本篇主要是 **工作节点加入 K3s 集群** 与节点侧配置。
- 本目录仅作为 doc_id 对齐占位;不单独维护 K8s manifests。
## 关联(参考)
- Ansible`ansible/playbooks/k3s-init-and-install.yml`

View File

@@ -1,9 +0,0 @@
# 01-03-armv7-standalone-docker占位
对应文档:[`docs/01-03-armv7-standalone-docker.md`](../../docs/01-03-armv7-standalone-docker.md)
## 说明
- 本篇为 armv7 设备的 Docker 独立部署说明,**不提供 K3s/Kubernetes 清单**。
- 本目录仅用于 doc_id 对齐占位。

View File

@@ -1,9 +0,0 @@
# 01-04-双控制节点ha占位
对应文档:[`docs/01-04-双控制节点ha.md`](../../docs/01-04-双控制节点ha.md)
## 说明
- 本篇为 HA/双控制节点方案说明,部署更多依赖集群架构与外部 LB 配置。
- 本目录仅用于 doc_id 对齐占位;不提供独立 K8s manifests。

View File

@@ -1,9 +0,0 @@
# 01-05-armv7-nfs服务安装占位
对应文档:[`docs/01-05-armv7-nfs服务安装.md`](../../docs/01-05-armv7-nfs服务安装.md)
## 说明
- 本篇为 armv7 设备上 NFS 服务安装说明,**不提供 K3s/Kubernetes 清单**。
- 本目录仅用于 doc_id 对齐占位。

View File

@@ -1,13 +0,0 @@
# 01-06-节点初始化-ansible-实践(占位)
对应文档:[`docs/01-06-节点初始化-ansible-实践.md`](../../docs/01-06-节点初始化-ansible-实践.md)
## 说明
- 本篇的“真源”是 Ansible playbooks初始化、安装、验证
- 本目录仅用于 doc_id 对齐占位;不单独维护 K8s manifests。
## 关联(参考)
- Ansible`ansible/playbooks/k3s-init-and-install.yml`

View File

@@ -1,38 +0,0 @@
# 01-07 HAProxy 配置
## 核心目标
本目录下的 **所有 `*.cfg` 必须可被 HAProxy 正确解析并符合文档意图**。验证分两层:
| 层次 | 含义 | 如何验证 |
|------|------|----------|
| **① 语法正确** | `haproxy -c -f <cfg>` 无致命错误 | 见下文「仅校验 cfg」或主验证脚本第 2 步 |
| **② 运行与后端** | 在 OpenWrt 上实际监听 18080/18443 时,经第三方主机 curl 可达 K3s/Traefik 后端 | `./scripts/01-07-verify-haproxy.sh`(完整流程,含 curl |
仓库内 **frontend 已统一为 `18080` / `18443`**(与 LuCI 的 80/443 分离backend 仍指向各节点 **80/443**Traefik 入口)。按环境修改 `192.168.2.61``192.168.2.64`
## 仅校验本目录 cfg不跑 curl
仅需确认 **① 语法**,在仓库根目录执行:
```bash
./scripts/01-07-verify-haproxy.sh --cfg-only
```
会将本目录全部 `*.cfg` 拷到 OpenWrt 的 `/tmp/haproxy-verify/`,对每台文件执行 `haproxy -c`(与 OpenWrt 上安装的 HAProxy 版本一致)。
**说明**`haproxy-https.cfg``ssl crt /etc/ssl/haproxy.pem`;若路由器上**没有**该 pem语法检查可能失败脚本会标为 `[SKIP]`。在 OpenWrt 放置有效 pem 后应能通过 `haproxy -c`
## 文件一览
| 文件 | 说明(对应 `docs/01-07-openwrt-haproxy.md` |
|------|-----------------------------------------------|
| `haproxy-no-check.cfg` | §2 最简§3.1 在其 `server` 行加 `check` |
| `haproxy-http.cfg` | §3.2 HTTP 健康检查(明文 80 后端) |
| `haproxy-tls.cfg` | §3.3 TLS 握手检查443 后端,`mode tcp` |
| `haproxy-https.cfg` | §3.4 HTTPS 应用层检查(需 HAProxy 终结 TLS由 HAProxy 提供证书) |
| `haproxy-proxy-http-tls.cfg` | §5 PROXY + HTTP/TLS 检查 |
## 与 Ansible / OpenWrt
可与 Ansible 共用(复制到 OpenWrt 或通过 playbook 下发)。一键把 **uhttpd 80/443 + HAProxy 18080/18443** 落到路由器见 `scripts/01-07-deploy-openwrt-haproxy.sh`

View File

@@ -1,12 +0,0 @@
# 02-00-nginx-系列说明(占位)
对应文档:[`docs/02-00-nginx-系列说明.md`](../../docs/02-00-nginx-系列说明.md)
## 清单复用说明
本系列02-0102-04的可部署清单统一收敛在
- `ansible/files/02-05-nginx-matrix/`
本目录仅用于 doc_id 对齐占位。

View File

@@ -1,15 +0,0 @@
# 02-01-nginx-control-ingress占位
对应文档:[`docs/02-01-nginx-control-ingress.md`](../../docs/02-01-nginx-control-ingress.md)
## 真源清单
- 复用清单目录:`ansible/files/02-05-nginx-matrix/`
- 对应文件:`01-control-ingress.yaml`
应用示例:
```bash
kubectl apply -f ansible/files/02-05-nginx-matrix/01-control-ingress.yaml
```

View File

@@ -1,15 +0,0 @@
# 02-02-nginx-control-ingressroute占位
对应文档:[`docs/02-02-nginx-control-ingressroute.md`](../../docs/02-02-nginx-control-ingressroute.md)
## 真源清单
- 复用清单目录:`ansible/files/02-05-nginx-matrix/`
- 对应文件:`02-control-ingressroute.yaml`
应用示例:
```bash
kubectl apply -f ansible/files/02-05-nginx-matrix/02-control-ingressroute.yaml
```

View File

@@ -1,15 +0,0 @@
# 02-03-nginx-worker-ingress占位
对应文档:[`docs/02-03-nginx-worker-ingress.md`](../../docs/02-03-nginx-worker-ingress.md)
## 真源清单
- 复用清单目录:`ansible/files/02-05-nginx-matrix/`
- 对应文件:`03-worker-ingress.yaml`
应用示例:
```bash
kubectl apply -f ansible/files/02-05-nginx-matrix/03-worker-ingress.yaml
```

View File

@@ -1,15 +0,0 @@
# 02-04-nginx-worker-ingressroute占位
对应文档:[`docs/02-04-nginx-worker-ingressroute.md`](../../docs/02-04-nginx-worker-ingressroute.md)
## 真源清单
- 复用清单目录:`ansible/files/02-05-nginx-matrix/`
- 对应文件:`04-worker-ingressroute.yaml`
应用示例:
```bash
kubectl apply -f ansible/files/02-05-nginx-matrix/04-worker-ingressroute.yaml
```

View File

@@ -1,13 +0,0 @@
# Nginx 矩阵 manifests
用于 `ansible/playbooks/nginx-matrix-deploy.yml` 一键部署。
| 文件 | 场景 | 路径 | 节点 |
|------|------|------|------|
| 01-control-ingress.yaml | M1 控制+Ingress | /demo-m1 | 无 nodeSelector |
| 02-control-ingressroute.yaml | M2 控制+IngressRoute | /demo-m2 | 无 nodeSelector |
| 03-worker-ingress.yaml | M3 工作+Ingress | /demo-m3 | nodeSelector=worker随机 |
| 04-worker-ingressroute.yaml | M4 工作+IngressRoute | /demo-m4 | nodeSelector=ylc64 |
M4 默认指定 ylc64M3 随机工作节点;按实际修改。

View File

@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-hostpath-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nginx-hostpath-demo
template:
metadata:
labels:
app: nginx-hostpath-demo
spec:
nodeSelector:
kubernetes.io/hostname: ylc61
containers:
- name: nginx
image: nginx:1.27-alpine
ports:
- containerPort: 80
volumeMounts:
- name: app-data
mountPath: /usr/share/nginx/html
volumes:
- name: app-data
hostPath:
path: /data/nginx-hostpath-demo
type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: nginx-hostpath-demo
namespace: default
spec:
selector:
app: nginx-hostpath-demo
ports:
- port: 80
targetPort: 80
type: ClusterIP

View File

@@ -0,0 +1,26 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-direct-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nfs-direct-demo
template:
metadata:
labels:
app: nfs-direct-demo
spec:
containers:
- name: app
image: nginx:alpine
volumeMounts:
- name: nfs-data
mountPath: /usr/share/nginx/html
volumes:
- name: nfs-data
nfs:
server: <NFS_SERVER_IP>
path: <NFS_EXPORT_PATH_OR_SUBDIR>

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-dynamic-pvc-demo
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: nfs-client
resources:
requests:
storage: 5Gi

View File

@@ -1,9 +0,0 @@
# 03-08-k3s-ha-集群配置与切换(占位)
对应文档:[`docs/03-08-k3s-ha-集群配置与切换.md`](../../docs/03-08-k3s-ha-集群配置与切换.md)
## 说明
- 本篇偏架构/流程与配置项梳理,具体落地会涉及多节点与外部组件(如 LB/DNS/证书)。
- 本目录仅用于 doc_id 对齐占位;暂无独立可复用 manifests。

View File

@@ -1,9 +0,0 @@
# 03-09-k3s-gitops-集群配置管理(占位)
对应文档:[`docs/03-09-k3s-gitops-集群配置管理.md`](../../docs/03-09-k3s-gitops-集群配置管理.md)
## 说明
- 本篇为 GitOps 框架草案Argo CD / Flux 等),最终 manifests 取决于选型与版本。
- 本目录仅用于 doc_id 对齐占位;暂无固定清单。

View File

@@ -1,43 +0,0 @@
# Node.js demo 清单(与 docs/04-0104-14 对齐)
**唯一真源**:本目录下 YAML 与 `docs/` 中说明一致;文档内不重复贴全文,避免漂移。
## 累积规则
- `04-0N-nodejs-demo.yaml` 表示:从 `04-01` 起顺序做完 **04-0104-0N** 各篇能力后的 **一份**`kubectl apply -f` 的完整状态(多资源用 `---` 分隔)。
- **可直接跳到最后一份** 做实验,不必逐文件 apply若要理解每步增量可按编号顺序阅读文档并对照相邻两个 YAML 的差异。
- **04-14**GitOps/CI无独立清单`docs/04-14-nodejs-GitOps与CI流水线.md``docs/05-04-k3s-配置gitlab-cicd.md``docs/03-09-k3s-gitops-集群配置管理.md`
## 文件与文档对照
| 文件 | 文档 | 备注 |
|------|------|------|
| `04-01-nodejs-demo.yaml` | `docs/04-01-k3s-nodejs-高级部署.md` | 基线3000、`/node`、无 host |
| `04-02-nodejs-demo.yaml` | `docs/04-02-nodejs-镜像与运行命令.md` | 固定镜像 tag、`imagePullPolicy` |
| `04-03-nodejs-demo.yaml` | `docs/04-03-nodejs-环境变量与配置注入.md` | + ConfigMapSecret 示例见文末 `nodejs-demo-secret.example.yaml` |
| `04-04-nodejs-demo.yaml` | `docs/04-04-nodejs-端口与Service.md` | 监听改 **8080**(自 04-04 起探针与后续均用 8080 |
| `04-05-nodejs-demo.yaml` | `docs/04-05-nodejs-资源请求与限制.md` | + resources |
| `04-06-nodejs-demo.yaml` | `docs/04-06-nodejs-探针与健康检查.md` | + 探针 |
| `04-07-nodejs-demo.yaml` | `docs/04-07-nodejs-调度与亲和.md` | + `nodeSelector`(默认 **ylc62**,请改为本机节点名) |
| `04-08-nodejs-demo.yaml` | `docs/04-08-nodejs-安全上下文.md` | + 非 root、只读根、`/tmp` emptyDir |
| `04-09-nodejs-demo.yaml` | `docs/04-09-nodejs-存储与卷.md` | + PVC `nodejs-demo-data`(默认 **local-path** |
| `04-10-nodejs-demo.yaml` | `docs/04-10-nodejs-Ingress与Traefik.md` | Ingress`host` + `/api`curl 需 **Host** |
| `04-11-nodejs-demo.yaml` | `docs/04-11-nodejs-副本与滚动发布.md` | replicas=3 + RollingUpdate |
| `04-12-nodejs-demo.yaml` | `docs/04-12-nodejs-TLS与证书.md` | **websecure** + TLS须先创建 `nodejs-demo-tls` Secret |
| `04-13-nodejs-demo.yaml` | `docs/04-13-nodejs-HPA.md` | + HPA需 metrics-server |
## 应用方式
```bash
# 仓库根目录
kubectl apply -f ansible/files/04-01-nodejs-demo/04-01-nodejs-demo.yaml
```
或使用 Ansible`ansible/playbooks/nodejs-demo-apply.yml`,变量 `nodejs_demo_manifest` 指定文件名。
## dry-run
```bash
kubectl apply --dry-run=client -f ansible/files/04-01-nodejs-demo/04-01-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-02-nodejs-镜像与运行命令(占位)
对应文档:[`docs/04-02-nodejs-镜像与运行命令.md`](../../docs/04-02-nodejs-镜像与运行命令.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-02-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-02-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-03-nodejs-环境变量与配置注入(占位)
对应文档:[`docs/04-03-nodejs-环境变量与配置注入.md`](../../docs/04-03-nodejs-环境变量与配置注入.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-03-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-03-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-04-nodejs-端口与Service占位
对应文档:[`docs/04-04-nodejs-端口与Service.md`](../../docs/04-04-nodejs-端口与Service.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-04-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-04-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-05-nodejs-资源请求与限制(占位)
对应文档:[`docs/04-05-nodejs-资源请求与限制.md`](../../docs/04-05-nodejs-资源请求与限制.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-05-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-05-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-06-nodejs-探针与健康检查(占位)
对应文档:[`docs/04-06-nodejs-探针与健康检查.md`](../../docs/04-06-nodejs-探针与健康检查.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-06-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-06-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-07-nodejs-调度与亲和(占位)
对应文档:[`docs/04-07-nodejs-调度与亲和.md`](../../docs/04-07-nodejs-调度与亲和.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-07-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-07-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-08-nodejs-安全上下文(占位)
对应文档:[`docs/04-08-nodejs-安全上下文.md`](../../docs/04-08-nodejs-安全上下文.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-08-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-08-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-09-nodejs-存储与卷(占位)
对应文档:[`docs/04-09-nodejs-存储与卷.md`](../../docs/04-09-nodejs-存储与卷.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-09-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-09-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-10-nodejs-Ingress与Traefik占位
对应文档:[`docs/04-10-nodejs-Ingress与Traefik.md`](../../docs/04-10-nodejs-Ingress与Traefik.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-10-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-10-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-11-nodejs-副本与滚动发布(占位)
对应文档:[`docs/04-11-nodejs-副本与滚动发布.md`](../../docs/04-11-nodejs-副本与滚动发布.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-11-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-11-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-12-nodejs-TLS与证书占位
对应文档:[`docs/04-12-nodejs-TLS与证书.md`](../../docs/04-12-nodejs-TLS与证书.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-12-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-12-nodejs-demo.yaml
```

View File

@@ -1,13 +0,0 @@
# 04-13-nodejs-HPA占位
对应文档:[`docs/04-13-nodejs-HPA.md`](../../docs/04-13-nodejs-HPA.md)
## 真源清单(复用 04-01 累积目录)
- 真源目录:`ansible/files/04-01-nodejs-demo/`
- 对应累积清单:`04-13-nodejs-demo.yaml`
```bash
kubectl apply -f ansible/files/04-01-nodejs-demo/04-13-nodejs-demo.yaml
```

View File

@@ -1,9 +0,0 @@
# 04-14-nodejs-GitOps与CI流水线占位
对应文档:[`docs/04-14-nodejs-GitOps与CI流水线.md`](../../docs/04-14-nodejs-GitOps与CI流水线.md)
## 说明
- 本篇为流程/方法论文档,通常不会提供一份固定可复用的 K8s 清单。
- 如需参考示例清单,可从 `ansible/files/04-01-nodejs-demo/` 选择对应阶段的累积 YAML。

View File

@@ -0,0 +1,10 @@
services:
glances:
image: nicolargo/glances:latest
container_name: glances
environment:
- TZ=Asia/Shanghai
- GLANCES_OPT=-w
ports:
- "61208:61208"
restart: unless-stopped

View File

@@ -0,0 +1,6 @@
# Homer config.yml fragment example
- name: "System Metrics"
type: "Glances"
icon: "fa-solid fa-heart-pulse"
url: "https://glances.example.com"
stats: [cpu, mem]

View File

@@ -1,10 +0,0 @@
# GitLab CI 示例(与 docs 对照)
| 文件 | 文档 |
|------|------|
| `gitlab-ci-minimal.example.yml` | `docs/05-04-k3s-配置gitlab-cicd.md` |
| `gitlab-ci-multi-arch-deploy.example.yml` | `docs/05-04-k3s-配置gitlab-cicd.md` |
| `../05-03-gitlab-runner/gitlab-ci-runner-tags.example.yml` | `docs/05-03-k3s-安装gitlab-含runner.md` |
复制为 `.gitlab-ci.yml``include` 引用;变量与 Runner 以文档为准。

View File

@@ -1,9 +0,0 @@
# 05-05-prometheus与grafana占位
对应文档:[`docs/05-05-prometheus与grafana.md`](../../docs/05-05-prometheus与grafana.md)
## 说明
- 监控栈通常通过 Helm Chart如 kube-prometheus-stack安装清单会随版本变化。
- 本目录仅用于 doc_id 对齐占位;后续若固化 values/Chart 版本,可在此补齐 manifests/values。

View File

@@ -1,9 +0,0 @@
# 06-01-k3s-networkpolicy-故障排查(占位)
对应文档:[`docs/06-01-k3s-networkpolicy-故障排查.md`](../../docs/06-01-k3s-networkpolicy-故障排查.md)
## 说明
- 本篇为排障手册/命令集合,**不提供固定可部署清单**。
- 本目录仅用于 doc_id 对齐占位。

View File

@@ -1,9 +0,0 @@
# 06-02-运维小结(占位)
对应文档:[`docs/06-02-运维小结.md`](../../docs/06-02-运维小结.md)
## 说明
- 本篇为运维建议/巡检要点总结,通常不对应单一可部署清单。
- 本目录仅用于 doc_id 对齐占位。

View File

@@ -1,12 +0,0 @@
# 06-03-k3s-自动备份与恢复-openlist-webdav对齐 README
对应文档:[`docs/06-03-k3s-自动备份与恢复-openlist-webdav.md`](../../docs/06-03-k3s-自动备份与恢复-openlist-webdav.md)
## 真源清单目录
本篇可部署清单当前收敛在:
- `ansible/files/06-03-openlist-webdav/`
说明:该目录名未镜像 docs 文件名为满足“doc_id 目录对齐”口径,本目录仅作为桥接与入口。