53 lines
4.0 KiB
Markdown
53 lines
4.0 KiB
Markdown
---
|
||
name: unidesk-selfmedia
|
||
description: UniDesk SelfMedia 工厂的 YAML-first 运维技能,覆盖 NC01 生产 Secret 分发与消费者生效、GitHub 到 Gitea/PaC/Tekton/GitOps/Argo 自动交付、WebTerm/Codex 权限边界、公网 IP 健康与登录鉴权验收。用户提到 SelfMedia、自媒体工厂、selfmedia-nc01、管理员账号密码更新、WebTerm、微信公众号文章、4317 公网入口、SelfMedia 部署或流水线运维时使用。
|
||
---
|
||
|
||
# UniDesk SelfMedia 运维
|
||
|
||
遵循 `Skill(cli-spec)`,只通过 UniDesk owning YAML 和受控 CLI 操作 NC01 运行面。
|
||
|
||
## 固定边界
|
||
|
||
- 把 `config/selfmedia.yaml` 作为部署、存储、运行时、权限和公网暴露真相。
|
||
- 把 `config/secrets-distribution.yaml` 作为管理员凭据、API key、Codex 凭据和消费者 rollout 真相。
|
||
- 把 `config/platform-infra/pipelines-as-code.yaml` 与 `config/platform-infra/gitea.yaml` 作为自动交付真相。
|
||
- 通过 `trans NC01:<workspace>` 在 NC01 选中的最新干净 UniDesk worktree 执行命令。
|
||
- 只披露 sourceRef、键名、presence、fingerprint、字节数和步骤摘要;不得读取、打印或从运行面反解 Secret 值。
|
||
- SelfMedia 源码交付只由 `pikainc/selfmedia` PR merge 触发;不得人工创建 PipelineRun、推送 Gitea、刷新 Argo 或 patch 运行时。
|
||
|
||
## 高频流程
|
||
|
||
1. SelfMedia Web 源码改动纳入 Git index 后,只执行一次仓库自带验证入口:
|
||
- `trans NC01:/root/.worktrees/selfmedia/<task> argv bun run verify:web`;
|
||
- 该入口根据 `package.json` 与 `bun.lock` 自动安装或复用根目录和 Web 依赖;
|
||
- 同一次调用依次完成 Web 测试、生产构建和 `git diff --check HEAD`;
|
||
- 禁止先探测 `node_modules`、手工安装依赖,再分别重复上述校验。
|
||
2. 管理员凭据更新时,按[运维入口](references/operations.md#管理员凭据分发)依次执行 `plan`、`sync`、job 查询和 `status`。
|
||
3. 确认 `selfmedia-nc01` 的 `consumerRollout` 已声明 `selfmedia` Deployment;应用启动时读取 Secret,缺少 rollout 不能判定新凭据已生效。
|
||
4. 代码发布只观察 PR merge 后的自动 PaC/GitOps 收敛;只有自动链失败时才下钻 status/history/debug-step。
|
||
5. 最后从 YAML 解析公网地址,验证 `/` 与 `/healthz` 可达、匿名业务 API 返回 `401`,再用用户提供的新账号完成登录。
|
||
6. Temporal/native 开发与部署态作业验收直接使用[运维入口](references/operations.md#temporal-native-与部署态验收):
|
||
- 正确的单阶段语法固定为 `step run <阶段>`;
|
||
- 不先查源码或试探别名。
|
||
|
||
## 验收判定
|
||
|
||
- Secret 同步结果必须为 `succeeded`、`valuesPrinted=false`,并且消费者 restart/status 均为 `exitCode=0`。
|
||
- `secrets status` 必须确认 `selfmedia-access`、`selfmedia-runtime`、`selfmedia-codex` 的声明键完整。
|
||
- WebTerm 必须保留 PVC session、restart/resume、统一 SelfMedia CLI 与非 root、无 ServiceAccount token/Kubernetes/Docker/宿主权限边界。
|
||
- 公网验收只记录 HTTP 状态、session/job/trace、fingerprint 和 artifact SHA,不记录 cookie、账号、密码或 API key。
|
||
- `verify:web` 只负责源码层依赖准备、Web 测试、生产构建和差异格式检查;浏览器、公网、鉴权、WebTerm 与 PaC/Argo 运行面验收仍按任务范围执行。
|
||
|
||
## 相关技能
|
||
|
||
- SelfMedia 使用 `$unidesk-devlevel` 区分 L0 Function、L1 Native、L2 Development 和 L3 Production 四种开发方式;本 skill 继续提供项目 adapter 和验收命令。
|
||
- Secret/YAML 归属或 renderer 修改同时使用 `$unidesk-ymalops`。
|
||
- PaC、Tekton、GitOps、Argo 或自动交付排障同时使用 `$unidesk-cicd`。
|
||
- 跨节点现场闭环同时使用 `$unidesk-daddev` 与 `$unidesk-trans`。
|
||
- 公网页面、布局或浏览器原入口验收同时使用 `$unidesk-webdev`。
|
||
|
||
## 详细入口
|
||
|
||
- 凭据分发、源码侧制品刷新、自动交付、Temporal/native 作业和公网验收命令见[运维入口](references/operations.md)。
|