背景:项目方提供公网 RustFS(https://oss.xinsenidea.com,桶 lingxi-dev)。 改动:.env.example 填入 endpoint / 桶名占位;README 与 A0 报告记录 对象存储接入方式与验证结果;真实密钥仅保存在本地 .env / .env.local。 影响面:环境变量样例与文档,无运行时代码变更。 回滚方式:还原 .env.example 与文档即可。 验证:list buckets、HEAD bucket、PUT/GET/DELETE 探针对象均成功; format:check、lint、typecheck、test 全绿。
This commit is contained in:
1 parent
5628e158c0
commit
2f200fc9d9
3 files changed
+13
-13
No files matched your search
+8
-8
@@ -1,7 +1,7 @@
|
||||
# 灵犀 · 环境变量示例(入库,禁止写真实密钥)
|
||||
# 使用:cp .env.example .env.local(工程规范 09 ENV-09)
|
||||
# 注意:本地 PostgreSQL/Redis 复用本机已有 Docker 服务(127.0.0.1:5432 / 6379);
|
||||
# 对象存储待接入公网 RustFS,待提供 endpoint 与凭据后填写。
|
||||
# 对象存储为公网 RustFS,本地真实值只写入 .env.local / .env(已 gitignore)。
|
||||
|
||||
# ---------- 运行环境 ----------
|
||||
NODE_ENV=development
|
||||
@@ -13,14 +13,14 @@ DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/lingxi?schema=public
|
||||
# ---------- Redis(7.4) ----------
|
||||
REDIS_URL=redis://127.0.0.1:6379
|
||||
|
||||
# ---------- 对象存储(MinIO,S3 协议) ----------
|
||||
S3_ENDPOINT=
|
||||
# ---------- 对象存储(RustFS,S3 协议;A0 统一使用 lingxi-dev 桶) ----------
|
||||
S3_ENDPOINT=https://oss.xinsenidea.com
|
||||
S3_REGION=us-east-1
|
||||
S3_BUCKET_ASSETS=assets
|
||||
S3_BUCKET_RENDERS=renders
|
||||
S3_BUCKET_TEMP=temp
|
||||
S3_ACCESS_KEY=
|
||||
S3_SECRET_KEY=
|
||||
S3_BUCKET_ASSETS=lingxi-dev
|
||||
S3_BUCKET_RENDERS=lingxi-dev
|
||||
S3_BUCKET_TEMP=lingxi-dev
|
||||
S3_ACCESS_KEY=<rustfs-access-key>
|
||||
S3_SECRET_KEY=<rustfs-secret-key>
|
||||
|
||||
# ---------- 认证(本地 dev 值,生产由密钥管理注入) ----------
|
||||
JWT_SECRET=dev-only-jwt-secret-change-me-32chars
|
||||
|
||||
@@ -80,7 +80,7 @@ pnpm dev # 并行启动 api(3000) / web(5173) / worker
|
||||
```
|
||||
|
||||
- **本地数据库**:直接复用本机已有 Docker 服务 `docker-postgres-1`(PostgreSQL 18,`127.0.0.1:5432`),库名 `lingxi`,用户 `postgres`,密码 `postgres`;Redis 复用 `docker-redis-1`(`127.0.0.1:6379`)。请先确认这两个容器已启动,本仓库不会另起 PG/Redis。
|
||||
- **对象存储**:本地不再启动 S3 容器;待接入公网自建 RustFS,endpoint 与凭据确定后写入 `.env.local` 的 `S3_*`。
|
||||
- **对象存储**:使用公网 RustFS(`https://oss.xinsenidea.com`,桶 `lingxi-dev`);A0 的 `assets / renders / temp` 三类产物暂共用该桶,待 A1 按前缀拆分。真实 access key / secret 只写入本地 `.env.local`(已 gitignore),仓库内只保留占位。
|
||||
- **API 文档**:启动 api 后访问 `http://127.0.0.1:3000/api/docs`,OpenAPI JSON 在 `openapi/lingxi.openapi.json`。
|
||||
- **演示登录**:A0 尚未接鉴权(A1 实现),`VITE_PUBLIC_DEMO_SESSION=true` 时登录页使用本地演示会话进入工作台;A1 接入真实登录后删除。
|
||||
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
|
||||
本地 PostgreSQL 与 Redis **复用本机已有 Docker 服务**,不另起容器:`docker-postgres-1`(PostgreSQL 18,`127.0.0.1:5432`,库 `lingxi`、用户 `postgres`、密码 `postgres`)与 `docker-redis-1`(`127.0.0.1:6379`)。仓库不包含任何数据库/缓存容器编排。CI services 使用标准 5432/6379,凭据同为 `postgres/postgres`。
|
||||
|
||||
### 4.2 对象存储待接入公网 RustFS
|
||||
### 4.2 对象存储接入公网 RustFS
|
||||
|
||||
本地 Docker 不提供 S3 服务,`minio/minio` 镜像在当前网络也不可拉取。A0 代码不依赖对象存储(`/health` 只检查 DB 与 Redis),`.env.example` 保留 `S3_*` 占位;后续由项目方提供公网自建 RustFS 的 endpoint 与凭据后填写,应用侧继续只依赖 S3 协议。
|
||||
本地 Docker 不提供 S3 服务,`minio/minio` 镜像在当前网络也不可拉取。项目方已提供公网 RustFS:`https://oss.xinsenidea.com`,桶 `lingxi-dev`。A0 代码不依赖对象存储(`/health` 只检查 DB 与 Redis),已在本地 `.env.local` / `.env` 配置 `S3_*` 并实测通过(list buckets、HEAD bucket、PUT / GET / DELETE 探针对象均成功)。三类产物(assets / renders / temp)暂共用 `lingxi-dev` 桶,A1 落地渲染链路时再按前缀或独立桶拆分。真实 access key / secret 不入库。
|
||||
|
||||
### 4.3 演示登录(A0 临时)
|
||||
|
||||
@@ -80,7 +80,7 @@ npm 上 `oasdiff` 为占位包(0.0.1-security),A0 暂用自研 `scripts/op
|
||||
|
||||
当前离线 Gitea 未部署 Actions runner,推送后远程 CI 会停留在 `queued`。A0 增加 `pnpm ci:local`:按 `.gitea/workflows/ci.yml` 的顺序在本地执行 compose、格式、Lint、类型、单测、构建、迁移与种子、集成、OpenAPI 契约与 e2e,全部通过才退出 0;runner 就绪后远程工作流可直接接管。
|
||||
|
||||
本地开发库为 `lingxi` / `postgres` / `postgres`,直接连接本机已有 PostgreSQL 容器;`.env.example` 与 CI services 保持一致;S3 待 RustFS 信息后配置。
|
||||
本地开发库为 `lingxi` / `postgres` / `postgres`,直接连接本机已有 PostgreSQL 容器;`.env.example` 与 CI services 保持一致;对象存储已接入公网 RustFS(见 §4.2)。
|
||||
|
||||
### 4.8 前端视觉方向
|
||||
|
||||
@@ -98,7 +98,7 @@ npm 上 `oasdiff` 为占位包(0.0.1-security),A0 暂用自研 `scripts/op
|
||||
|
||||
1. **A1 必须移除演示登录**并接入真实 JWT / 刷新令牌 / 权限守卫。
|
||||
2. 种子业务数据待 A1 / A3 / A4 / B0 表就绪后补齐(Q-A0-01)。
|
||||
3. 对象存储待接入公网 RustFS;接入前不使用本地 S3 容器。
|
||||
3. 对象存储为公网 RustFS 单桶,A1 需按产物类型落前缀或拆分桶,并在 CI 配置独立测试桶。
|
||||
4. Web 主包约 599 kB(Semi 全量 CSS 689 kB),A0 接受;M1 前做路由级拆分与 Semi 按需样式。
|
||||
5. 远程 CI 待 Gitea Actions runner 就绪后验证 services 与 Playwright 浏览器安装;当前以 `pnpm ci:local` 为准(已实测通过)。
|
||||
|
||||
|
||||
Reference in new issue
Block a user