用途:使用 bjw-s/app-template Helm Chart 部署容器化应用,无需为每个应用编写专用 Helm Chart,通过声明式 values 定义常见 Kubernetes 资源。
主要能力:支持单容器及多容器部署,可配置 controllers、containers、image、service 等字段;提供 values.schema.json 校验;可结合 Flux HelmRelease 与 ResourceSet 使用。Chart 来源为 oci://ghcr.io/bjw-s-labs/helm/app-template。
使用方式:编写 values.yaml,例如 controllers.main.containers.main.image 指定 repository 与 tag,service.main 指定 controller 与端口。Flux 集成时在 kubernetes/platform/helm-charts.yaml 添加条目,chart.name 为 app-template、version 4.6.0、url 为 oci://ghcr.io/bjw-s-labs/helm,values 放在 kubernetes/platform/charts/my-app.yaml。
安全与资源:restricted 命名空间需 defaultPodOptions.securityContext 设置 runAsNonRoot: true 与 seccompProfile: RuntimeDefault,每个容器需 allowPrivilegeEscalation: false、capabilities.drop: ["ALL"]、readOnlyRootFilesystem: true;baseline 建议设置 runAsUser/fsGroup;privileged 无强制要求。task k8s:validate 不检测 PodSecurity 违规,仅在准入时暴露。镜像以 root 运行可设 runAsUser: 65534;应用需写文件系统时用可写 emptyDir 挂载而非关闭 readOnlyRootFilesystem。资源限制用于防止失控进程,内存请求/限制参考:轻量 sidecar 64Mi/256Mi,Web 应用 128-256Mi/512Mi-1Gi,媒体应用 512Mi/2-4Gi,数据库 256Mi/1-2Gi;除非工作负载确实大量占用 CPU,否则不设 CPU 限制。
限制:资料未提供收费、价格、平台支持范围等信息;具体字段完整参考见 references/values-reference.md 与 references/patterns.md。