JupyterHub 进阶实践:集成 Azure AD 实现企业级单点登录 (二期)
引言
在一期部署中,我们成功搭建了基于 SystemdSpawner 与本地 PAM 认证的多用户 JupyterHub。随着团队规模的扩大,手动管理 Linux 用户、维护密码不仅繁琐,而且无法满足企业对单点登录(SSO)与多因素认证(MFA)的安全合规要求。
本期我们将 JupyterHub 升级为 Azure AD(Microsoft Entra ID)OAuth2 认证。由于一期已经严格遵循了统一的用户名规范,本次升级无需迁移已有用户数据,可以实现无痛过渡。
JupyterHub 极简部署实践:基于 SystemdSpawner 与本地 PAM 认证 (一期)
为什么选择 JupyterHub + SystemdSpawner
多用户 Jupyter 平台常见方案是基于 Kubernetes (Zero to JupyterHub) 或 Docker (DockerSpawner)。但对于中小团队或单机部署,Kubernetes 维护成本过高,DockerSpawner 存在数据权限映射和容器管理开销。
我们需要一个更轻量、贴合宿主机环境的方案。SystemdSpawner 是一个理想的选择:它能够利用 Linux 原生 systemd 服务的 cgroup 限制 CPU 和内存资源,且用户打开 Terminal 直接就是真实的宿主机 Shell,方便使用宿主机已安装的各种开发工具。这非常适合单机、多用户的高效共享开发服务器。
如何使用 NetBird 快速构建企业级安全内网
为什么选择 NetBird
随着企业业务的分布式发展和远程办公的普及,构建一个安全、高效且易于管理的内网变得至关重要。传统的 VPN 解决方案(如 OpenVPN、IPsec)配置繁琐,对客户端支持有限,且由于中心化架构容易产生网络瓶颈。
我们需要一个现代化的替代方案,它应该具备以下特质:部署简单、配置下发自动化、基于点对点直连(降低延迟),且拥有直观的管理面板。这就是我们选择 NetBird 的原因。它不仅满足上述所有需求,还完美地平衡了企业级安全需求与极简的运维体验。
用 Node.js 实现 Windows RDP 自动登录
一台 Windows 机器上有多个账号,其中一个需要在后台保持登录来跑依赖桌面会话的定时任务。手动用远程桌面连一下太原始,改注册表 AutoAdminLogon 也只能设默认登录账号,无法在 A 账号已登录的情况下让 B 账号也在后台上线。最终方案:用 Node.js 在本地跑一个 RDP 客户端,连本机 3389 端口把目标账号登上去。
RulEuler:基于 Rete 算法的开源规则引擎
业务系统里大量的 if-else 判断逻辑(风控策略、审批流程、定价规则等)散落在代码中,每次调整都要改代码、测试、发版。RulEuler 是一个基于 Rete 算法的开源规则引擎,将业务规则从代码中剥离,通过可视化编辑和文本表达式管理规则,实现热更新和独立维护。
将 Kiro 的 Claude Opus 模型通过 CC Switch 代理到 Claude Code 使用
Kiro 内置了 Claude Opus 4.6 等模型,但这些模型只能在 Kiro IDE 内使用。本文介绍如何借助 CLIProxyAPI(Plus)和 CC Switch,将 Kiro 的模型 token 代理出来,供 Claude Code(以及 VSCode 中的 Claude Code 扩展)使用。
本地部署 Overleaf + VS Code 打通 + Copilot / Gemini / Claude 辅助写 LaTeX
上文(本地化部署 Overleaf):https://caritasem.github.io/2024/08/latex-on-premise-overleaf-template/
本文记录两件事:
用 VS Code(Overleaf Workshop 插件)把项目同步到本地编辑,并用 Copilot 做润色/改写等 AI 协作。
1. VS Code 打通 Overleaf(Overleaf Workshop)
step 1:安装插件
在 VS Code 扩展里搜索并安装:Overleaf Workshop。
类 VS Code 编辑器一般也可用(例如 Antigravity),步骤基本一致。
step 2:用 Cookie 登录(相当于以 co-autho...
32 post articles, 4 pages.