1 个不稳定版本
新 0.0.28 | 2024年8月15日 |
---|
#545 在 HTTP服务器
每月 39 次下载
240KB
3K SLoC
Nirvati
Nirvati 是一个基于 Kubernetes 构建的现代服务器管理软件。此存储库包含 Nirvati 的后端组件,这些组件是用 Rust 编写的。
Nirvati 前端,该前端与该存储库的 GraphQL API 交互,是独立维护的,并使用 Nuxt 构建。
共享组件
- 通用:Nirvati 各个组件之间的共享代码,也可能对插件开发者有用。
- 应用程序核心:应用程序系统的类型和共享代码。特别适用于插件开发者。
- 数据库定义:我们数据库系统的 Prisma 客户端。不建议在 Nirvati 之外使用。
- 审计日志模块:Nirvati 审计日志的实用工具(WIP)
- SaaS 模块:用于利用 Nirvati 的 SaaS 产品的实用工具(WIP)
服务
- 核心:负责执行各种管理任务和不适合其他类别的任务的微服务,如注册用户。仅适用于 GraphQL API。
- 应用程序管理器:负责解析和安装应用程序的微服务。仅适用于 GraphQL API。
- HTTPS管理器:负责在 Kubernetes 中创建
ClusterIssuer
和Certificate
资源的微服务。仅适用于 GraphQL API。 - GraphQL API:仪表板用于与 Nirvati 交互的接口。跟踪系统状态、数据库中的用户和权限,并代表用户与各种系统组件进行交互。
- 后台更新器:定期下载添加到各个应用商店的新应用,并保持尚未安装的应用的定义更新。
- 初始化:用于在现有的Kubernetes集群上引导新的Nirvati安装的容器。
- 迁移:执行更新后的更改。
- 操作系统初始化:Nirvati操作系统的最小初始化系统。(正在进行中)
插件
依赖项
~61MB
~1M SLoC