@@ -2,7 +2,7 @@
|
||||
title: Authelia
|
||||
lifecycle: active
|
||||
evidence: documented
|
||||
last_reviewed: 2026-09-16
|
||||
last_reviewed: 2026-09-25
|
||||
last_verified: null
|
||||
sources:
|
||||
- 维护者于 2026-09-16 确认当前状态
|
||||
@@ -10,8 +10,10 @@ sources:
|
||||
|
||||
# Authelia
|
||||
|
||||
**Authelia 已作为 homelab 唯一的主 OIDC broker 工作,当前状态为 active。**
|
||||
此状态由维护者于 2026-09-16 明确,本轮未查询运行环境。
|
||||
**Authelia 继续作为 homelab 的主 OIDC 入口与人类认证后端工作,状态为 active。**
|
||||
基础状态由维护者于 2026-09-16 明确。2026-09-25 新增 [Hydra 人类登录 PoC](hydra.md),
|
||||
以标准 OIDC client 复用 Authelia;其原有应用客户端、Samba AD 后端及 MFA 策略保留。
|
||||
该次仅验证新增配置有效和 Pod 就绪,未更新本页原有功能的整体验收日期。
|
||||
|
||||
## 用途与入口
|
||||
|
||||
|
||||
+7
-1
@@ -2,7 +2,7 @@
|
||||
title: Gitea 与 Actions 使用指南
|
||||
lifecycle: active
|
||||
evidence: documented
|
||||
last_reviewed: 2026-09-16
|
||||
last_reviewed: 2026-09-25
|
||||
last_verified: null
|
||||
---
|
||||
|
||||
@@ -23,6 +23,12 @@ Gitea 托管 homelab 的代码、文档、issue 和 PR;Actions 执行仓库声
|
||||
登录成功但看不到仓库时,先确认当前账号与仓库权限;OIDC 登录本身不会赋予所有项目的管理权。
|
||||
已有账号应沿用原账号关联,遇到关联问题交由管理员处理,不另建同名账号规避。
|
||||
|
||||
## Hydra 实验性登录
|
||||
|
||||
2026-09-25 按维护者要求新增 [Hydra 人类登录 PoC](hydra.md),保留旧 Authelia 登录源。
|
||||
从 <https://git.ddupan.top/user/oauth2/hydra> 发起,需 LAN/Tailscale 连通 Hydra 内网入口。
|
||||
最终认证仍在 Authelia 完成;真实账号返回和权限验收结果见 Hydra 服务页。
|
||||
|
||||
## 创建与修改仓库
|
||||
|
||||
通过页面的 New Repository 创建仓库,选择所属用户或组织、名称及可见性。
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: Hydra 与 OIDC 上游适配器
|
||||
lifecycle: experimental
|
||||
evidence: live-verified
|
||||
last_reviewed: 2026-09-25
|
||||
last_verified: 2026-09-25
|
||||
sources:
|
||||
- https://git.ddupan.top/panxiao81/homelab-infra/pulls/142
|
||||
- https://git.ddupan.top/panxiao81/homelab-infra/pulls/143
|
||||
- 2026-09-25 部署、discovery、重定向与网络隔离检查
|
||||
---
|
||||
|
||||
# Hydra 与 OIDC 上游适配器
|
||||
|
||||
第一轮人类登录 PoC:Hydra 负责 OIDC 签发,薄的 Login/Consent 服务通过标准 OIDC
|
||||
验证上游身份。当前配置的上游是 Authelia,它继续连接 Samba AD 并执行人类 MFA。
|
||||
适配器没有直接连接 LDAP,也不与 Authelia 专有认证协议绑定。
|
||||
|
||||
本服务独立于 Ayatori。当前代码作为 homelab-infra 中的独立 Go module 保存,未新建
|
||||
独立仓库。完整的多主体 IAM 仍是[草案](../architecture/independent-iam-draft.md);
|
||||
本轮不实现 SPIFFE 登录、agent 专用认证、动态授权或统一组迁移。
|
||||
|
||||
## 入口与首次使用
|
||||
|
||||
| 入口 | 用途 |
|
||||
|---|---|
|
||||
| <https://hydra.ad.ddupan.top> | Hydra 公共 OAuth2/OIDC API |
|
||||
| <https://hydra-login.ad.ddupan.top> | Login/Consent 适配器,仅处理具体流程路径 |
|
||||
| <https://git.ddupan.top/user/oauth2/hydra> | 从 Gitea 发起 Hydra 人类登录 |
|
||||
|
||||
Hydra 两个域名仅通过 LAN/Tailscale 可达,无公网 tunnel。请从 Gitea 的 `hydra`
|
||||
登录源进入,在 Authelia 完成既有认证,然后返回 Gitea;旧 `authelia` 登录源保留。
|
||||
Gitea 继续按原有账号关联、仓库权限与 gitea-admins 组映射执行授权。
|
||||
|
||||
```text
|
||||
Gitea → Hydra → OIDC Login/Consent → Authelia → Samba AD
|
||||
← OIDC ← 已验证的人类身份 ← OIDC callback
|
||||
```
|
||||
|
||||
## 验证范围
|
||||
|
||||
2026-09-25 已现场验证:Hydra 数据库迁移成功、两个 Deployment 就绪、ESO SecretSynced、
|
||||
TLS discovery 的 issuer/endpoints 正确、Flux hydra Kustomization Ready/Healthy;
|
||||
HTTP 登录链路可从 Hydra 经适配器到达 Authelia 登录页。
|
||||
|
||||
无效 login、callback、consent 请求返回 403。Gitea Pod 能访问公共 discovery,不能
|
||||
直连 Hydra admin Service;公共 HTTPS 入口的 admin API 返回 404。
|
||||
|
||||
**以上不等于已完成人类端到端登录验收。** Gitea 的新增登录源经 PR #143 接入,Helm revision 19 UpgradeSucceeded、Pod Ready;
|
||||
登录页同时显示 hydra/authelia,从真实 Gitea 入口到达 Authelia 的整段跳转已验证。
|
||||
人类实际完成 MFA、回到原 Gitea 账号及权限的结果仍待确认。
|
||||
`last_verified` 仅覆盖上述明确列出的基础设施与协议入口检查。
|
||||
|
||||
## 实现与维护
|
||||
|
||||
- Hydra 固定 `v26.2.0` 与镜像 digest,使用独立 hydra PostgreSQL database/role。
|
||||
- 源码 `apps/hydra/login-consent`:标准 OIDC 上游适配器。校验 ID token issuer、audience、
|
||||
签名、有效期和 nonce,使用 PKCE S256 与单次、cookie 绑定的 state。
|
||||
- 当前只允许 Gitea client 和 openid/profile/email/groups;按请求 scope 释放 claims,
|
||||
不签发 refresh token,不提供通用自动 consent。主体为上游 issuer/sub 的稳定哈希。
|
||||
- 单副本短期登录事务保存在内存;重启使正在进行的登录失效,用户重新发起即可。
|
||||
- Hydra admin 无 HTTPRoute,NetworkPolicy 仅允许适配器访问;维护时通过受控本地
|
||||
kubectl port-forward,不对外开放 admin。
|
||||
- 秘密保存在 OpenBao `kv/k8s/hydra`,ESO 投射给 Hydra/适配器和 Gitea。禁止重建
|
||||
system_secret 来处理普通启动问题。
|
||||
- Authelia 的新 hydra-login client 通过现有 Helm release 的增量 values 更新,保留全部
|
||||
已有客户端与 two_factor 策略;Authelia 暂未由 Flux 接管。
|
||||
|
||||
源码、构建、claims/client 配置和恢复说明见
|
||||
[Hydra README](https://git.ddupan.top/panxiao81/homelab-infra/src/branch/main/apps/hydra/README.md)。
|
||||
Hydra 部署见 [PR #142](https://git.ddupan.top/panxiao81/homelab-infra/pulls/142),
|
||||
Gitea 接入见 [PR #143](https://git.ddupan.top/panxiao81/homelab-infra/pulls/143)。
|
||||
|
||||
依赖共享 PostgreSQL、OpenBao/ESO、Authelia、Envoy、Samba DNS 与 zot。独立于 Ayatori
|
||||
不等于已完成共享基础设施之外的灾备;恢复需保留 Hydra 数据库和秘密。
|
||||
回退时先撤 Gitea 新登录源,沿用旧 Authelia 入口,不删除用户或原有认证配置。
|
||||
@@ -14,6 +14,7 @@ SPIFFE/SPIRE 已按维护者授权补读 #34;LAN DNS 与 Authelia 已按维护
|
||||
|
||||
| 组件 | 用途 | 记录入口 | 状态依据 | 来源 | 文档缺口 / 下一步 |
|
||||
|---|---|---|---|---|---|
|
||||
| [hydra](hydra.md) | OIDC 签发与通用上游适配器,人类登录 PoC | `hydra.ad.ddupan.top / hydra-login.ad.ddupan.top` | experimental;9 月 25 日基础设施与到达 Authelia 的跳转已验证,真实登录待确认 | `apps/hydra/`、PR #142/#143 | 完成人类 Gitea 登录验收 |
|
||||
| [authelia](authelia.md) | 唯一主 OIDC broker、统一登录 | `auth.ddupan.top` | active;维护者于 2026-09-16 明确已在工作 | 维护者说明、`apps/authelia/` | 同步源码 README 中过时的 OIDC 阶段说明 |
|
||||
| [blocky](lan-dns.md) | LAN 主 DNS、广告过滤、分流 | `192.168.10.127:53` | 维护者说明已作为 DHCP 主 DNS,上游为路由器 | 维护者 2026-09-16 说明、`apps/blocky/README.md` | 无需逐台确认主机;旧源码说明待同步 |
|
||||
| [gitea](gitea.md) | 代码托管与 Actions | `git.ddupan.top` | 记录已部署 | `apps/gitea/README.md` | 已有登录、最小 CI 与 runner 选择指南 |
|
||||
|
||||
Reference in New Issue
Block a user