fam
|
1cf53316df
|
Merge pull request 'piano-sheet: 修 CI + ns 改 cube-piano' (#2) from feat/piano-sheet into master
deploy piano-sheet / build-and-deploy (push) Failing after 1m13s
Reviewed-on: https://famzheng.me/gitea/fam/cube/pulls/2
|
2026-05-05 09:04:40 +00:00 |
|
Fam Zheng
|
538bbb7ecd
|
piano-sheet: ns cube-piano-sheet → cube-piano
ns 跟 app 名解耦,workflow 加 NS env 不再 cube-$APP 拼。
|
2026-05-05 10:03:38 +01:00 |
|
Fam Zheng
|
09c3236b5b
|
ci(piano-sheet): apply k8s manifests before rollout
CI 第一次跑时 ns / PVC / svc / ingress 还不存在,直接 set image
会失败。加一步 kubectl apply -f apps/piano-sheet/k8s/,让 ns +
PVC + deployment + service + ingress + middleware 都先就位,再
做镜像 set + rollout status。
|
2026-05-05 09:57:04 +01:00 |
|
Fam Zheng
|
28713e489f
|
app #2 piano-sheet: 钢琴谱管理 / 阅读,piano.famzheng.me
deploy cube / build-and-deploy (push) Successful in 1m8s
deploy piano-sheet / build-and-deploy (push) Failing after 1m38s
deploy simpleasm / build-and-deploy (push) Successful in 1m22s
后端 axum + sqlite,图片直接 BLOB 存进 pages 表(单张 ≤ 10MB / 单
谱 ≤ 64 页),5 个 endpoint:multipart upload、列表、详情、单页图片
(带 immutable cache header)+ healthz。
前端 vue3 + pinia + vue-router,3 个视图:列表(卡片网格 + 首页缩
略)、上传(拖拽 + 顺序预览)、阅读(全屏,左右点按 / 键盘 / 拖
拽进度条翻页,2.5s 自动隐藏 chrome)。视图状态走 URL(reader 的
当前页是 ?page=N)。
部署:cube-piano-sheet ns + 10Gi PVC + traefik ingress + 一条
buffering middleware 把 body 上限抬到 700MB。镜像 < 20MB(scratch
+ musl 静态)。
|
2026-05-05 09:29:02 +01:00 |
|
Fam Zheng
|
e81f44662a
|
doc: simpleasm 上线收尾(README + todo.md,oci 端 308 redirect)
|
2026-05-04 18:12:01 +01:00 |
|
Fam Zheng
|
388b505e0b
|
app #1 simpleasm: 从 oci 迁过来,asm.famzheng.me 已上线
deploy cube / build-and-deploy (push) Successful in 1m18s
deploy simpleasm / build-and-deploy (push) Successful in 1m45s
- 后端 FastAPI 重写为 axum + rusqlite (musl static, 2.8MB)
- 前端原样搬运 (Vue3 + Vite + Pinia + vue-router + vite-plugin-yaml)
- k8s: cube-simpleasm ns + 1Gi PVC (k3s local-path) + Recreate strategy
- CI: 复刻 deploy-cube.yml,按 apps/simpleasm/** 触发
- cube 门户里 simpleasm 状态从 pending 改成 live
- 数据冷启 (Fam 拍板不带历史进度)
|
2026-05-04 15:12:22 +01:00 |
|
Fam Zheng
|
5b2e53c040
|
doc: README 同步当前状态(act_runner 迁 fam、registry 上线、cube #0 已部署)
|
2026-05-04 13:37:34 +01:00 |
|
Fam Zheng
|
5ee0b7880c
|
ci: 移除 debug step,CI 已通
deploy cube / build-and-deploy (push) Successful in 47s
|
2026-05-04 11:36:09 +01:00 |
|
Fam Zheng
|
a263f57f69
|
ci: 临时加 debug step 排查 docker permission
deploy cube / build-and-deploy (push) Successful in 47s
|
2026-05-04 11:34:14 +01:00 |
|
Fam Zheng
|
3dec5fac69
|
ci: runs-on ubuntu-latest(不带 :host 后缀)
deploy cube / build-and-deploy (push) Failing after 4s
act_runner 注册时只把 label 名发给 gitea('ubuntu-latest'),
':host' 后缀只在 runner 自己的 config.yaml 里用来选 executor。
workflow 用 'ubuntu-latest:host' 会一直 queued。
|
2026-05-04 11:26:06 +01:00 |
|
Fam Zheng
|
93b6fa3061
|
app #0: cube.famzheng.me 入口门户 + 平台脚手架
deploy cube / build-and-deploy (push) Has been cancelled
monorepo 第一刀:
- workspace + crates/cube-core(base router / healthz / ServeDir SPA fallback / JSON tracing / SIGTERM shutdown)
- apps/cube:axum 主程序 + Vite + Vue 3 + TS 门户(暗色调 + 渐变 logo + app 卡片网格)
- Dockerfile:scratch + musl 静态二进制,镜像 2.6MB
- k8s/:cube-cube ns + Deployment + Service + Ingress(cube.famzheng.me,traefik LE 自动签)
- registry:新增 registry.famzheng.me ingress 反代到 gitea 内置 container registry,
自动化身份用 mochi(registry.famzheng.me/mochi/cube)
- CI:.gitea/workflows/deploy-cube.yml,host shell runner(gnoc),
build → push → kubectl rollout 五步流水
- README:把宪法段改成 monorepo 模式 + monorepo 目录结构
- 新增宪法条款:前端视图状态走 URL(path + query)保证可 bookmark
|
2026-05-04 11:22:59 +01:00 |
|
Fam Zheng
|
011e7ddb98
|
README: 平台约定(栈/部署/CI 一锅端)
把脚手架决策定下来,作为 cube 上所有 app 必须遵守的"宪法":
- 域名:<app>.famzheng.me,零 DNS 操作
- 后端:Rust + Axum,每 app 独立仓库,cube-core crate 复用样板
- 前端:Vite + Vue 3 + TS(选 Vue 是因为 AI 写得稳)
- 构建:host musl 编译 + scratch 容器
- Registry:gitea 自带(registry.famzheng.me 反代 /v2/*)
- CI:gitea Actions + 现有 instance-level act_runner
- 通用约定:/healthz, stdout JSON log, env+Secret 配置, 禁 config 文件挂载
|
2026-05-04 11:08:01 +01:00 |
|
Fam Zheng
|
6fd8cf897e
|
Initial cube docs: README + oci migration todo
cube 是跑在 famzheng.me 节点上的小 app 平台,用来收纳从 oci
迁过来的 Fam 个人小工具。oci 主机本身留给 Hera,不退役。
- README.md:定位、迁移名单、注意事项
- doc/todo.md:迁移清单(portfolio / repo-vis / simpleasm / guitar / pyroblem)
|
2026-05-04 10:57:30 +01:00 |
|