应用市场

不想从空白部署数据库、缓存或监控工具时,可以直接从应用市场选择模板安装到项目空间。内置模板覆盖数据库、缓存、消息队列、对象存储、搜索、监控、制品仓库、数据库管理、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;默认会立即投递部署任务。

模板卡片会把镜像、官方网站和官方仓库放在一起,方便安装前快速确认来源。没有独立官网的应用会把官方仓库作为官网入口。

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

安装步骤

  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 时,账单页会把访问流量显示为不可用,并引导平台管理员从应用市场安装。组件安装后,探针启动会先向平台发送 hello,并在每轮采集前刷新 heartbeat;账单页据此显示“已部署 / 等待上报”。探针首次成功上报一个正向流量时间窗口后,账单页才会认为访问流量可用。该在线状态保存在 Redis 或 API 进程内存的短 TTL 运行态中,不写入系统组件安装表,避免手动删除 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,由后端负责拉取、校验和缓存。