应用市场

不想从空白部署数据库、缓存或监控工具时,可以直接从应用市场选择模板安装到项目空间。内置模板覆盖数据库、缓存、消息队列、对象存储、搜索、监控、制品仓库、数据库管理、Web 服务和常用自托管应用,例如 PostgreSQL、Redis、NATS、ClickHouse、Qdrant、Typesense、Garage、Prometheus、Grafana、Gitea、Vaultwarden、NocoDB、Wiki.js 和 WordPress。

应用市场也提供少量平台组件模板。它们只允许平台管理员安装,会进入平台自有项目空间 platform-system,并像普通应用一样创建应用、部署配置和 Release。这个空间只有平台管理员能看到,不能删除,也不会计入用户项目账单。内置的 Luna Gateway Traffic Probe 用于按需开启访问流量计费采集。

模板安装会创建:

  • 一个应用,并默认使用模板声明的图标;应用图标支持内置图标名、站内资源路径或 http(s) 图片地址。
  • 一个镜像来源的部署配置。
  • 按模板声明的环境变量、密钥变量和运行数据卷。
  • 按模板声明的配置文件和密钥文件;敏感文件会写入 Kubernetes Secret。
  • 可选的首个 Release;默认会立即投递部署任务。

应用市场按“搜索与概览、模板筛选、模板目录”组织浏览路径,所有模板统一进入目录。分类下拉框放在热度与排序方式之前,与排序控件形成同一组列表工具;搜索支持应用名称、镜像、官网和官方仓库。模板卡片只展示应用图标、名称、分类、用途、来源与安装入口,资源规格和镜像地址在安装弹窗中集中确认。

模板图标优先采用应用项目公开的官方 SVG 或图片,其次采用有明确来源和许可的品牌图标库;无法取得可信品牌资产时才显示中性占位图。平台不会为成熟第三方产品绘制近似 Logo。所有外部品牌资产会随前端静态资源一起托管,页面运行时不依赖第三方图标 CDN。

页面顶部 Banner 使用无渐变、无光晕的独立实体抬升表面承载搜索与模板统计,确保在全局主题色画布和深色模式下保持稳定、干净的层级。

模板卡片会提供官方网站和官方仓库入口,方便安装前快速确认来源。没有独立官网的应用会把官方仓库作为官网入口。卡片中的“安装”会打开配置弹窗,不会直接创建资源。

密钥类参数只写入平台密钥存储,部署配置中保存的是密钥引用,不会在前端回显明文。

安装步骤

  1. 进入“应用市场”。
  2. 选择模板并点击“安装”。
  3. 选择项目空间,确认应用名称、应用标识、运行集群、镜像地址、CPU、内存、副本数和数据容量。镜像地址默认填充模板镜像,也可以替换为 Harbor、DockerHub 代理或私有镜像的完整地址。
  4. 填写模板参数。自动生成的密码可以留空,由后端生成。
  5. 保持“安装后立即部署”开启,或关闭后稍后在应用部署页手动发布。

安装成功后,页面会跳转到新应用的部署页。

平台组件

平台组件的安装入口仍在“应用市场”,但会落到平台自有项目空间:

  1. 平台管理员选择带有“平台组件”标识的模板。
  2. 选择目标运行集群。
  3. 填写组件需要的少量参数,例如 Luna DevOps API 地址。
  4. 平台创建或复用 platform-system 项目空间下的组件应用,为目标运行集群创建部署配置和 Release,并生成独立上报 Token。
  5. Worker 使用普通应用部署链路下发 ConfigMap、Secret、Deployment 和 Service;平台额外确保探针 ServiceAccount 与只读 RBAC,因此组件可以在应用部署页查看发布日志、运行日志和 Web Console。

未安装 Gateway Traffic Probe 时,账单页会把访问流量显示为不可用,并引导平台管理员从应用市场安装。系统组件安装记录只保存安装流程和资源引用;账单页每次从目标 Kubernetes 集群读取探针工作负载,不缓存在线状态。工作负载存在但尚未上报有效的正向流量时间窗口时显示“等待上报”,首次有效上报后才展示访问费用;集群断联时统一显示“不可用”。

Gateway Traffic Probe 作为独立镜像 liteyukistudio/devops-gateway-traffic-probe 发布。安装时平台会注入 API_BASE_URLREPORT_TOKENRUNTIME_CLUSTER_IDTRAEFIK_METRICS_URL 等环境变量;其中 REPORT_TOKEN 只保存哈希到平台数据库,普通部署 Secret 保存明文 token 用于上报。TRAEFIK_METRICS_URL 默认按运行集群的 Gateway 命名空间推导,也可以在安装模板中显式填写集群内可访问的 Traefik Prometheus metrics 地址。

模板列表支持按分类筛选、按模板名称、镜像、官网或仓库搜索,也可以按热度权重或名称排序。

使用边界

目前的模板适合使用镜像默认命令即可启动的应用。Prometheus 当前提供抓取自身 /metrics 的最小配置,Grafana 和 Prometheus 仍是独立单应用模板,不会自动创建 Grafana 数据源或发现业务工作负载。Garage 当前作为单节点轻量对象存储模板提供,平台会生成基础配置文件;多节点 layout 初始化、bucket/key 输出和更完整的连接信息会在后续模板 outputs 能力中补齐。WordPress、Mongo Express 等模板需要连接已有数据库,安装前先准备对应的数据库地址和账号。

应用市场模板来自后端内置 JSON。后续第三方模板市场可以继续复用同一份 schema,由后端负责拉取、校验和缓存。