values-secrets.yaml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. # Helm Values for Secret and ConfigMap Management
  2. # Kubernetes Secret 和 ConfigMap 管理的 Helm Values 示例
  3. # 全局配置
  4. global:
  5. # 命名空间
  6. namespace: production
  7. # 是否启用 Secret 管理
  8. enableSecretManagement: true
  9. # 是否启用 ConfigMap 管理
  10. enableConfigMapManagement: true
  11. # Secret 加密配置
  12. secretEncryption:
  13. enabled: true
  14. algorithm: "aes-256-cbc"
  15. # 安全策略
  16. securityPolicy:
  17. # Secret 访问日志记录
  18. auditSecretAccess: true
  19. # Secret 轮换周期(天)
  20. secretRotationDays: 90
  21. # 是否启用 Pod Security Policy
  22. podSecurityPolicy: true
  23. # Secret 配置
  24. secrets:
  25. # 数据库 Secret(所有数据库服务共用)
  26. database:
  27. name: database-credentials
  28. type: Opaque
  29. data:
  30. # 从环境变量或 Vault 获取
  31. db-username: "${DB_USERNAME}"
  32. db-password: "${DB_PASSWORD}"
  33. db-host: "mysql-master.internal"
  34. db-port: "3306"
  35. # WeChat API Secret
  36. wechat:
  37. name: wechat-api-credentials
  38. type: Opaque
  39. data:
  40. payment-app-id: "${WECHAT_PAYMENT_APP_ID}"
  41. payment-app-secret: "${WECHAT_PAYMENT_APP_SECRET}"
  42. platform-app-id: "${WECHAT_PLATFORM_APP_ID}"
  43. platform-app-secret: "${WECHAT_PLATFORM_APP_SECRET}"
  44. # API Keys
  45. apiKeys:
  46. name: api-keys-secret
  47. type: Opaque
  48. data:
  49. import-secret-key: "${IMPORT_SECRET_KEY}"
  50. oss-secret-key: "${OSS_SECRET_KEY}"
  51. # ConfigMap 配置
  52. configMaps:
  53. # 服务通用配置
  54. common:
  55. name: app-common-config
  56. data:
  57. log.level: "INFO"
  58. app.timezone: "Asia/Shanghai"
  59. app.encoding: "UTF-8"
  60. # 数据库连接池配置
  61. databasePool:
  62. name: database-pool-config
  63. data:
  64. hikari.maximum-pool-size: "20"
  65. hikari.minimum-idle: "5"
  66. hikari.connection-timeout: "30000"
  67. hikari.idle-timeout: "600000"
  68. hikari.max-lifetime: "1800000"
  69. # 服务特定配置(示例)
  70. services:
  71. shop-recycle-payment-web:
  72. replicas: 3
  73. resources:
  74. requests:
  75. memory: "512Mi"
  76. cpu: "250m"
  77. limits:
  78. memory: "1Gi"
  79. cpu: "500m"
  80. # Secret 引用
  81. secrets:
  82. - name: shop-recycle-payment-web-secret
  83. keyMapping:
  84. - key: database-password
  85. env: SPRING_DATASOURCE_PASSWORD
  86. - key: wechat-app-id
  87. env: SPRING_WECHAT_APP_ID
  88. # ConfigMap 引用
  89. configMaps:
  90. - name: shop-recycle-payment-web-configmap
  91. env: SPRING_CONFIG_NAME
  92. shop-recycle-merchant-wechat-web:
  93. replicas: 2
  94. resources:
  95. requests:
  96. memory: "256Mi"
  97. cpu: "200m"
  98. limits:
  99. memory: "512Mi"
  100. cpu: "400m"
  101. secrets:
  102. - name: shop-recycle-merchant-wechat-web-secret
  103. keyMapping:
  104. - key: database-password
  105. env: SPRING_DATASOURCE_PASSWORD
  106. - key: wechat-app-secret
  107. env: SPRING_WECHAT_APP_SECRET
  108. # RBAC 配置
  109. rbac:
  110. enabled: true
  111. # Secret 阅读角色
  112. secretReaderRole:
  113. name: secret-reader
  114. rules:
  115. - apiGroups: [""]
  116. resources: ["secrets"]
  117. verbs: ["get", "list"]
  118. # ConfigMap 阅读角色
  119. configMapReaderRole:
  120. name: configmap-reader
  121. rules:
  122. - apiGroups: [""]
  123. resources: ["configmaps"]
  124. verbs: ["get", "list", "watch"]
  125. # 监控和日志
  126. monitoring:
  127. # Prometheus 指标
  128. prometheusMetrics:
  129. enabled: true
  130. port: 8080
  131. path: /metrics
  132. # 审计日志
  133. auditLog:
  134. enabled: true
  135. level: "DEBUG"
  136. secretAudit: true
  137. # 备份和恢复
  138. backup:
  139. # 启用 Secret 备份
  140. enabled: true
  141. # 备份频率
  142. schedule: "0 2 * * *" # 每天凌晨 2 点
  143. # 备份位置
  144. location: "/backup/k8s-secrets"
  145. # 备份加密
  146. encryption: true
  147. # 保留天数
  148. retentionDays: 30
  149. # 部署策略
  150. deployment:
  151. # 灰度发布
  152. canary:
  153. enabled: true
  154. initialPercentage: 5
  155. incrementPercentage: 10
  156. # 金丝雀检查
  157. canaryChecks:
  158. - name: "health-check"
  159. interval: 30
  160. failureThreshold: 3
  161. - name: "secret-access-check"
  162. interval: 60
  163. failureThreshold: 1