fix(ui): 前端用户可见文案 opsx-loki → lokistack

修正用户能看到/会复制走的旧名(你反馈的 K8s 示例 token 命令在内):

1. 界面标题(4 处)
   App.tsx            浏览器标题栏
   Layout.tsx         侧边栏 logo / 页面标题 fallback / 移动端导航
   login/index.tsx    登录页大标题
   settings/index.tsx 「关于 lokistack」

2. 集群接入示例(用户直接复制到集群执行,5 处)
   ClusterFormDialog.tsx:
     Role / ServiceAccount 名: opsx-loki       → lokistack
     token Secret 名:         opsx-loki-token  → lokistack-token
     取 token 命令:           get secret opsx-loki-token → lokistack-token

3. 文档
   docs/deployment/README.md, host-nginx.md  旧名全量修正
   README.md 迁移章节之外的示例命令修正;
             迁移章节(从 opsx-loki 升级)保留旧名作历史对照

【刻意不改】
  a) localStorage key(9 个)
     opsxloki.auth.{token,refresh-token,user}
     opsxloki.theme.mode / layout.collapsed / chunk-reloaded
     opsxloki.logs.{query-history,range-history}
     原因:改了所有在线用户立即掉登录,主题/折叠/查询历史全丢。
     要改必须配套迁移(参考 main.tsx 中 lokideploy.* → opsxloki.* 的写法)。

  b) 数据文件名 opsxloki.json(后端硬编码,改了读不到 DB)

  c) Go module 路径 opsxloki/...(159 处 import)
     属编译期内部标识,最终用户不可见;改名需全仓重构 + go.mod 变更。
This commit is contained in:
opsx committed 2026-10-26 17:30:30 +00:00
1 parent 3c9388658b
commit d0b9b6b71d
8 files changed
+43 -43

No files matched your search

+19 -19
View File
@@ -1,4 +1,4 @@
# opsx-loki v2 — 安全的 K8s Loki 部署平台
# lokistack v2 — 安全的 K8s Loki 部署平台
一个轻量级的 **Gin + React + JSON 文件存储** 平台,用于通过 SSH 或 kubeconfig 把 Grafana Loki
日志聚合系统部署到 Kubernetes 集群或裸金属主机上。
@@ -128,8 +128,8 @@ echo "export ENCRYPTION_KEY=$ENCRYPTION_KEY" >> ~/.bashrc
### 第 2 步:用 Docker Compose 启动(推荐)
```bash
git clone https://github.com/your/opsx-loki.git
cd opsx-loki
git clone https://github.com/your/lokistack.git
cd lokistack
# 设置密钥(见第 1 步)
export JWT_SECRET=$(openssl rand -hex 32)
@@ -150,7 +150,7 @@ docker compose logs -f
```bash
# 容器级健康检查(内部)
docker inspect --format='{{.State.Health.Status}}' opsxloki
docker inspect --format='{{.State.Health.Status}}' lokistack
# 期望输出:"healthy"
@@ -169,32 +169,32 @@ curl http://localhost:8080/index.html
```bash
# 方式 1(推荐):从容器内读文件 —— 日志轮转后依然可查
docker compose exec opsxloki cat /app/data/initial-admin-password.txt
docker compose exec lokistack cat /app/data/initial-admin-password.txt
# 方式 2:首次启动日志(只打印一次,重启后不会再有)
docker compose logs opsxloki | grep -A6 "已生成管理员账号"
docker compose logs lokistack | grep -A6 "已生成管理员账号"
# 方式 3:容器已停止时也能用(不要求 running)
docker cp opsxloki:/app/data/initial-admin-password.txt ./
docker cp lokistack:/app/data/initial-admin-password.txt ./
# 方式 4:直接读 named volume(宿主机 root)
sudo cat /var/lib/docker/volumes/opsx-loki_opsxloki-data/_data/initial-admin-password.txt
sudo cat /var/lib/docker/volumes/lokistack_lokistack-data/_data/initial-admin-password.txt
```
> ⚠️ **为什么不能只靠日志**:`docker logs` 只在**首次启动**打印一次;日志轮转或容器重启后,
> 数据库里已有用户,**不会再打印**。所以**文件才是可靠来源**。
>
> 💡 容器名说明:本 compose 指定了 `container_name: opsxloki`,所以可直接用 `opsxloki`。
> 若你的部署没有指定,用服务名形式更通用:`docker compose exec opsxloki cat ...`
> 💡 容器名说明:本 compose 指定了 `container_name: lokistack`,所以可直接用 `lokistack`。
> 若你的部署没有指定,用服务名形式更通用:`docker compose exec lokistack cat ...`
**Kubernetes 环境(同一个文件)**:
```bash
# 读文件(推荐)
kubectl -n log exec deploy/opsx-loki -- cat /app/data/initial-admin-password.txt
kubectl -n log exec deploy/lokistack -- cat /app/data/initial-admin-password.txt
# 首次启动日志
kubectl -n log logs deploy/opsx-loki | grep -A6 "已生成管理员账号"
kubectl -n log logs deploy/lokistack | grep -A6 "已生成管理员账号"
# 拷到本地
kubectl -n log cp <pod-name>:/app/data/initial-admin-password.txt ./
@@ -214,7 +214,7 @@ docker compose up -d
| 项 | 说明 |
|----|------|
| 密码文件权限 | `0600`,属主 `opsxloki` |
| 密码文件权限 | `0600`,属主 `lokistack` |
| 自动清理 | **admin 首次修改密码后,该文件自动删除**(见 `seed.CleanupInitPassword`) |
| 日志内容 | 仅在首次启动打印,且容器日志由运行时轮转 |
| 忘了密码 | 数据卷里文件仍在;若文件已删,用 `ADMIN_INIT_PASSWORD` 重新初始化(需清空数据卷) |
@@ -244,11 +244,11 @@ docker compose -f docker-compose.prod.yml up -d
docker swarm init
# 创建 secrets
echo "$(openssl rand -hex 32)" | docker secret create opsxloki_jwt -
echo "$(openssl rand -hex 32)" | docker secret create opsxloki_key -
echo "$(openssl rand -hex 32)" | docker secret create lokistack_jwt -
echo "$(openssl rand -hex 32)" | docker secret create lokistack_key -
# 部署
docker stack deploy -c docker-compose.prod.yml opsxloki
docker stack deploy -c docker-compose.prod.yml lokistack
```
### 安全清单
@@ -368,7 +368,7 @@ cd frontend && npm run lint # ESLint
| | | ~/.kube (只读) |
| +-------------+ | | ~/.ssh (只读) |
| | 容器 | | | ./data (读写) |
| | (opsxloki | | +---------------------+
| | (lokistack | | +---------------------+
| | UID:1000) | |
| | no-new-privs| |
| | cap_drop:ALL| |
@@ -410,7 +410,7 @@ wget --spider http://localhost:8080/index.html
curl http://localhost:8080/index.html
# Docker inspect
docker inspect --format='{{.State.Health}}' opsxloki
docker inspect --format='{{.State.Health}}' lokistack
```
健康检查参数:
@@ -563,7 +563,7 @@ docker compose up -d
```bash
# 查看容器状态
docker inspect --format='{{.State.Health}}' opsxloki
docker inspect --format='{{.State.Health}}' lokistack
# 查看日志
docker compose logs --tail=50