恩克拉多斯
土卫二组件的Monrepo:
backend/-后端Lambda源frontend/-web UI(PWA源代码+活动GitHub Actions部署流)tools/enceladus-mcp-server/-Enceladus MCP服务器源代码+简报模板infrastructure/-部署元数据、奇偶校验审计映射和生成的证据
⚠️ 关键:JWT和Lambda部署要求
🚨 切勿在macOS上构建Lambda部署包。
基于macOS构建的编译依赖项(PyJWT、密码学、cffi)会产生与Lambda的Linux ELF运行时不兼容的Mach-O二进制文件。这会导致无声的JWT导入失败(_JWT_AVAILABLE=False),导致所有经过身份验证的请求返回401。
所有Lambda函数的解决方案:
# Use --platform targeting for Linux compatibility
pip install \
--platform manylinux2014_x86_64 \
--only-binary=:all: \
-r requirements.txt -t build_dir相关事件:
- ENC-ISS-041:缺少跟踪器API JWT库(2026-02-24,固定)
- DVP-ISS-059:跟踪器突变api JWT库缺失(2026-02-20,已修复)
- DVP-ISS-071:项目服务身份验证失败(2026-02-21,已修复)
看: JWT_AUTHENTICATION_FORENSICS.md 用于完整的事件分析和预防框架。
______________________________________________________________________
状态
API和MCP源文件现在存储在这个回购中,因此完整的恩克拉多斯代码库可以在GitHub中获得。
重要部署边界:
- UI:通过GitHub Actions+后端部署管理器启用自动部署。
- API/MCP+生产Lambdas:GitHub操作部署工作流配置用于
生产Lambda函数。覆盖范围在中跟踪 infrastructure/lambda_workflow_manifest.json 并由以下人员执行 .github/workflows/lambda-workflow-coverage-guard.yml.
- CloudFormation API堆栈更新(
infrastructure/cloudformation/03-api.yaml)都是
通过部署 .github/workflows/cloudformation-api-stack-deploy.yml 定位 堆栈 enceladus-api 拥有OIDC的特权角色。
UI部署集成
UI部署现在使用GitHub Actions与后端部署管理器集成。
- 工作流程:
.github/workflows/ui-backend-deploy.yml - 提交脚本:
tools/submit_backend_ui_deploy.py - 触发条件:
- 推至 main 随着变化 frontend/ui/** - 手册 workflow_dispatch
非UI路径(backend/**, tools/enceladus-mcp-server/**)不要触发此工作流。 下的生产Lambda路径 backend/lambda/** 由专人处理 lambda-*-deploy.yml 工作流程。
所需的存储库机密
AWS_ROLE_TO_ASSUME(推荐的OIDC路径),或AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY(+可选AWS_SESSION_TOKEN)
后端目标
工作流向项目的现有后端管道提交部署请求 devops:
- DynamoDB表:
devops-deployment-manager - 队列:
devops-deploy-queue.fifo - 部署配置位置:
s3://jreese-net/deploy-config/devops/deploy.json
手动局部干运行
cd /Users/jreese/agents-dev/projects/enceladus/repo
python3 tools/submit_backend_ui_deploy.py \
--project-id devops \
--summary "Dry run validation from local" \
--related-ids "DVP-TSK-421" \
--dry-run源同步(API/MCP)
要从规范DevOps工具目录刷新API/MCP源镜像,请执行以下操作:
cd /Users/jreese/agents-dev/projects/enceladus/repo
./tools/sync_non_ui_sources.sh夜间奇偶校验审计
自动奇偶校验审计配置为每晚运行:
- 工作流程:
.github/workflows/nightly-parity-audit.yml - 脚本:
tools/parity_audit.py - Lambda映射:
infrastructure/parity/lambda_function_map.json - 每个功能元数据:
infrastructure/lambda-manifests/*.json
手动运行:
cd /Users/jreese/agents-dev/projects/enceladus/repo
python3 tools/parity_audit.py --output-dir infrastructure/parity/out秘密护栏
秘密保护现在在多个层面上实施:
- GitHub存储库设置:
- 秘密扫描:已启用 - 推送保护:已启用
- CI门:
- 工作流程: .github/workflows/secrets-guardrail.yml - 在PR上运行并推送 main - 扫描git历史记录+文件系统以查找机密 - 计划的每日扫描还会检查公共GitHub仓库URL
- 局部预推钩(推荐):
- 挂钩文件: .githooks/pre-push - 每个克隆安装一次:
cd /Users/jreese/agents-dev/projects/enceladus/repo
./tools/install_git_hooks.sh随时手动运行防护扫描:
cd /Users/jreese/agents-dev/projects/enceladus/repo
./tools/secrets_guard.shMCP API边界守卫
MCP工具处理程序必须使用Enceladus服务API进行业务数据访问和 不得通过直接DynamoDB读/写绕过API。
- 政策文件:
docs/mcp-api-boundary-governance.md - CI警卫:
.github/workflows/mcp-api-boundary-guard.yml - 保护脚本:
tools/check_mcp_api_boundary.py
