NX1X/Egret-Nest-Dashboard

GitHub: NX1X/Egret-Nest-Dashboard

一款自托管的 Egret 运行时安全遥测仪表盘,提供 CI/CD 事件摄取、可视化查看以及完善的组织 RBAC 和多方式认证功能。

Stars: 0 | Forks: 0

# 🪶 Egret Nest Dashboard [![GitHub — NX1X/Egret-Nest-Dashboard](https://img.shields.io/badge/GitHub-NX1X%2FEgret--nest--dashboard-181717?logo=github&logoColor=white)](https://github.com/NX1X/Egret-Nest-Dashboard) - **状态:** 认证 + 安全加固完成(Tier 3,[ROADMAP](docs/ROADMAP.md)) - **代码库:** [github.com/NX1X/Egret-Nest-Dashboard](https://github.com/NX1X/Egret-Nest-Dashboard) - **技术栈:** 单一静态 Go 二进制文件 · 纯 Go SQLite (`modernc.org/sqlite`,无 CGO) · 内置 UI (`html/template`) · **零第三方 Web 框架** - **许可证:** Apache-2.0 ## 运行 ``` # Docker (推荐用于 self-hosting) - GitHub Container Registry 或 Docker Hub docker run -p 8080:8080 -v egret-nest-data:/data ghcr.io/nx1x/egret-nest:latest # Docker Hub: docker run -p 8080:8080 -v egret-nest-data:/data nx1x/egret-nest:latest # 或从 source make run # listens on :8080, db in ./egret-nest.db ``` 打开 http://localhost:8080。 ### 配置 (env) 以下是常用配置;**完整参考**(约 15 个变量:SSO 提供商、TLS、密钥、 webhook/metrics token、数据保留、setup token)详见 [docs/DEPLOY.md](docs/DEPLOY.md)。 | 变量 | 默认值 | 用途 | |---|---|---| | `EGRET_NEST_ADDR` | `:8080` | 监听地址 | | `EGRET_NEST_DB` | `egret-nest.db` | SQLite 文件路径 | | `EGRET_NEST_SECRET_KEY` | _(未设置)_ | 32 字节的 hex/base64 密钥,用于静态加密 TOTP 种子 + UI 存储的 SSO 密钥(**请务必设置**) | | `EGRET_NEST_BASE_URL` | _(自动派生)_ | 公共 URL;SSO 重定向必需 | | `EGRET_NEST_TLS_CERT` / `_TLS_KEY` | _(未设置)_ | 原生提供 HTTPS 服务(否则需在 TLS 代理后运行,并设置 `EGRET_NEST_BEHIND_PROXY=1`) | | `EGRET_NEST_INSTANCE` | `Egret Nest` | 显示名称(也可在 GUI 中编辑) | 认证提供商 (GitHub/OIDC) 通过 `EGRET_NEST_GITHUB_*` / `_OIDC_*` 配置,**或者**通过管理员的 **Authentication** 页面设置 —— 参见 [docs/AUTH.md](docs/AUTH.md)。 ## 将 Egret 运行连接到此服务 在你的工作流(或本地)中,将 agent 指向此服务器: ``` env: EGRET_INGEST_URL: https://egret-nest.your-org.example/ingest EGRET_INGEST_TOKEN: ${{ secrets.EGRET_NEST_TOKEN }} # matches EGRET_NEST_TOKEN ``` agent 在每次运行后会 POST 一个 **Envelope** (`schema_version: 1`)。这是 唯一的耦合方式 —— 参见 [摄取契约](https://github.com/NX1X/Egret/blob/main/docs/ingest-contract.md)。 ## API | 方法 & 路径 | 用途 | |---|---| | `POST /ingest` | 接收运行 envelope (JSON),bearer-token 认证。返回 `202` 及 `{id, new_endpoints}`。 | | `POST /webhook/github` | 经过 HMAC-SHA256 验证的 GitHub webhook(未设置时返回 404)。 | | `GET /` · `/runs/{id}` · `/repos` · `/repos/{repo}` | 运行列表 / 详情 / 仓库列表 / 仓库详情。 | | `GET \|POST /account` | 用户自助 TOTP 2FA(本地用户)。 | | `GET \|POST /orgs`, `/org/{id}/members`, `/org/{id}/tokens` | 组织 (Org) 自助服务(owner/admin RBAC)。 | | `GET \|POST /admin/settings \| /admin/auth \| /admin/tokens \| /admin/users` · `/admin/logs` · `/audit` | 管理控制台(instance-admin)。 | | `GET /metrics` | Prometheus 文本格式,token 控制访问(未设置时返回 404)。 | | `GET /healthz` | 存活探针(由数据库检查)。 | 认证流程:`/login`, `/logout`, `/setup`, `/auth/github/*`, `/auth/oidc/*`。 ## 开发 ``` make test # unit tests (no kernel, any OS) make cover # coverage report -> coverage.html make build # static binary -> bin/egret-nest make docker # container image ``` 依赖项均根据 [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) 进行审查:首选 标准库,仅限纯 Go(无 CGO),不使用 npm 构建链。 ## 路线图与状态 **已标记为 `v0.1.0`**(功能完备,经过安全审查)。已交付:ingest + 漂移 视图、完整的认证三部曲(本地用户+TOTP / GitHub / OIDC)及组织 RBAC、session/CSRF 防护、限定范围的 ingest token + HMAC webhook、管理控制台(包含 UI SSO 配置)、原生 TLS、打包(Docker/compose/Helm),以及视觉标识优化 —— 所有功能均经过 安全审查。 详情请参阅下方的 **文档地图**。当前状态和未来方向请参见 [docs/ROADMAP.md](docs/ROADMAP.md)。 ### 文档地图(内容存放位置) | 文档 | 负责 | |---|---| | [CHANGELOG.md](CHANGELOG.md) | 已发布的变更 (`[0.1.0]`) —— 功能历史 | | [docs/ROADMAP.md](docs/ROADMAP.md) | 当前状态 + 规划 | | [docs/AUTH.md](docs/AUTH.md) | 权威的认证与安全设计 | | [docs/DEPLOY.md](docs/DEPLOY.md) | 部署指南 + 完整的 env 参考 | | [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) | 依赖项策略 | ## 联系方式 - **网站:** [nx1xlab.dev](https://nx1xlab.dev) - **联系:** [nx1xlab.dev/contact](https://nx1xlab.dev/contact) - **Bug / 提问:** 在 [github.com/NX1X/Egret-Nest-Dashboard/issues](https://github.com/NX1X/Egret-Nest-Dashboard/issues) 提交 issue - **安全:** 有关私下披露的信息,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 Egret Nest Dashboard 采用 [Apache License 2.0](LICENSE) 授权 — © 2026 NX1X ([nx1xlab.dev](https://nx1xlab.dev))。有关 归属声明和捆绑组件的许可证,请参阅 [NOTICE](NOTICE)。
标签:EVTX分析, Go, RBAC, Ruby工具, SSO, 可视化面板, 安全运营, 扫描框架, 日志审计, 自定义请求头, 自托管, 请求拦截, 遥测平台