关于 configuration-management
面向开发者的应用配置管理指南,涵盖多环境配置、环境变量、文件、密钥、功能标志、验证及 12-Factor 实践。
主要功能
- 01管理不同环境的配置
- 02管理密钥与凭据
- 03构建配置层级
- 04功能标志与动态配置
- 05验证配置并遵循 12-Factor
适用场景
- 01设置开发与生产环境配置
- 02保护凭据和密钥
- 03逐步发布功能
- 04将配置迁移到云服务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill configuration-management安装后在 Claude Code 中输入/configuration-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/12-factor-app-configuration.mdconfiguration-hierarchies.mdconfiguration-validation.mddynamic-configuration-remote-config.mdenvironment-variables.mdfeature-flags.mdsecret-management.mdscripts/validate-schema.shtemplates/migration-template.sql详细介绍
配置管理
目录
概述
全面介绍如何跨环境管理应用配置,包括环境变量、配置文件、机密、功能标志,以及遵循 12 因子应用方法论。
适用场景
- 为不同环境设置配置
- 管理机密和凭据
- 实现功能标志
- 创建配置层级
- 遵循 12 因子应用原则
- 将配置迁移到云服务
- 实现动态配置
- 管理多租户配置
快速入门
最小可运行示例:
# .env.development
NODE_ENV=development
PORT=3000
DATABASE_URL=postgresql://localhost:5432/myapp_dev
REDIS_URL=redis://localhost:6379
LOG_LEVEL=debug
API_KEY=dev-api-key-12345
# .env.production
NODE_ENV=production
PORT=8080
DATABASE_URL=${DATABASE_URL} # From environment
REDIS_URL=${REDIS_URL}
LOG_LEVEL=info
API_KEY=${API_KEY} # From secret manager
# .env.test
NODE_ENV=test
DATABASE_URL=postgresql://localhost:5432/myapp_test
LOG_LEVEL=error
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 环境变量 | 环境变量 |
| 配置层级 | 配置层级 |
| 机密管理 | 机密管理 |
| 功能标志 | 功能标志 |
| 12 因子应用配置 | 12 因子应用配置 |
| 配置验证 | 配置验证 |
| 动态配置(远程配置) | 动态配置(远程配置) |
最佳实践
✅ 应该
- 将配置存储在环境变量中
- 为每个环境使用不同的配置文件
- 在启动时验证配置
- 使用机密管理器处理敏感数据
- 切勿将机密提交到版本控制中
- 提供合理的默认值
- 记录所有配置选项
- 使用类型安全的配置对象
- 实现配置层级(基础配置 + 覆盖项)
- 使用功能标志逐步发布
- 遵循 12 因子应用原则
- 为缺失的配置实现优雅降级
- 缓存机密以减少 API 调用
❌ 不应该
- 在源代码中硬编码配置
- 提交包含真实机密的 .env 文件
- 在不同服务中使用不同的配置格式
- 以明文形式存储机密
- 通过 API 暴露配置
- 在开发环境中使用生产凭据
- 忽略配置验证错误
- 在各处直接访问 process.env
- 将配置存储在数据库中(循环依赖)
- 将配置与业务逻辑混在一起
评论
支持 Markdown