Files
LokiStack/kubernetes/deployment.yaml
T
opsx f3733f0bfc feat: 品牌统一 LokiStack + 全站中英 i18n + 用户批量删除 + 主题定时切换与浅色侧栏
- 品牌: Go 模块/数据文件/二进制/构建部署资产全部 opsx→lokistack;前端 localStorage 命名空间迁移(读旧写新,含按用户 id 前缀迁移);修复 nginx upstream 与 Makefile 引用已改名服务的断裂
- i18n: react-i18next 落地,common + 11 个页面域命名空间全站中英(菜单/顶栏/登录/列表页/表单/确认弹窗/状态徽章);设置页语言即时切换;修复词典自注册导致的循环导入白屏
- 用户管理: 批量删除(POST /users/batch-delete,不删自己/最后管理员,部分失败不阻断)+ 行复选/全选/批量工具条
- 主题: 浅色侧栏(中性灰激活态)、四态模式(浅色/深色/跟随系统/定时切换,按时区判定)、顶栏太阳月亮二态、设置页紧凑分段选择器
- UI: 登录记住用户名、CardActionButton 统一五页卡片操作钮、shadcn Badge 替换手写徽章、语义色修正
- 清理: 移除主机 Web 终端(前后端)、k8s-helm/Helm 遗留代码与字段、README 重写精简
- 修复: 侧栏与日志告警 order 重复、路由标题 i18n key 未翻译、词典双逗号等
2026-10-27 17:11:38 +08:00

98 lines
3.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# lokistack 平台本体
#
# 关键约束:
# 1) replicas 必须为 1:JSON DB 为单写者,多副本会互相覆盖。
# 2) strategy 必须为 Recreate:RollingUpdate 期间会同时存在两个 Pod 挂同一个
# RWO PVC,两个进程同时写数据文件会导致数据丢失。
# 3) /app/data 必须挂 PVC,否则重启后 DB / kubeconfig / known_hosts 全丢。
apiVersion: apps/v1
kind: Deployment
metadata:
name: lokistack
namespace: log
labels:
app: lokistack
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: lokistack
template:
metadata:
labels:
app: lokistack
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- name: lokistack
image: lghost/lokistack:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 8080
env:
# 可选:指定 admin 初始密码。不设置则自动生成 16 位随机密码,
# 写入 PVC 的 initial-admin-password.txt 并打印到首次启动日志。
# 获取:kubectl -n log exec deploy/lokistack -- cat /app/data/initial-admin-password.txt
# 自定义:
# - name: ADMIN_INIT_PASSWORD
# valueFrom:
# secretKeyRef:
# name: lokistack-secrets
# key: ADMIN_INIT_PASSWORD
# optional: true
- name: DATA_DIR
value: /app/data
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: lokistack-secrets
key: JWT_SECRET
- name: ENCRYPTION_KEY
valueFrom:
secretKeyRef:
name: lokistack-secrets
key: ENCRYPTION_KEY
# 可选:挂载本地集群 kubeconfig 时启用
# - name: KUBECONFIG
# value: /home/lokistack/.kube/config
volumeMounts:
- name: data
mountPath: /app/data
# 可选:本地集群 kubeconfig(in-cluster 管理本集群时用)
# - name: kubeconfig
# mountPath: /home/lokistack/.kube
# readOnly: true
readinessProbe:
httpGet:
path: /api/v1/health
port: http
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /api/v1/health
port: http
initialDelaySeconds: 30
periodSeconds: 20
failureThreshold: 5
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: "1"
memory: 1Gi
volumes:
- name: data
persistentVolumeClaim:
claimName: lokistack-data
# - name: kubeconfig
# secret:
# secretName: lokistack-kubeconfig