#apps #graphql #plugin #repo #repository #service #nirvati

nirvati-apps

Nirvati应用程序的实用工具

1 个不稳定版本

0.0.28 2024年8月15日

#545HTTP服务器

每月 39 次下载

AGPL-3.0-or-later

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 中创建 ClusterIssuerCertificate 资源的微服务。仅适用于 GraphQL API。
  • GraphQL API:仪表板用于与 Nirvati 交互的接口。跟踪系统状态、数据库中的用户和权限,并代表用户与各种系统组件进行交互。
  • 后台更新器:定期下载添加到各个应用商店的新应用,并保持尚未安装的应用的定义更新。
  • 初始化:用于在现有的Kubernetes集群上引导新的Nirvati安装的容器。
  • 迁移:执行更新后的更改。
  • 操作系统初始化:Nirvati操作系统的最小初始化系统。(正在进行中)

插件

依赖项

~61MB
~1M SLoC