DoD-Platform-One/bigbang
GitHub: DoD-Platform-One/bigbang
一个用于在 Kubernetes 集群中按国防部要求进行声明式、持续交付与加固的软件包部署工具。
Stars: 202 | Forks: 89
# 大爆炸
Big Bang 是一个用于向 Kubernetes 集群部署经过国防部(DoD)加固和批准的软件包的声明式、持续交付工具。
[点击此处查看 Big Bang 快速入门指南](docs/installation/environments/quick-start.md)
## 用法与范围
Big Bang 的范围是提供公开可用的安装清单,以符合国防部 DevSecOps 参考架构并包含其他有用的实用程序。Big Bang 软件包分为三类:
- **核心(Core):** [核心软件包](./docs/packages/index.md#core) 是 DoD DevSecOps 参考架构所需的一组能力,由 Big Bang 开发团队直接支持。目前被视为核心的具体能力包括服务网格、策略强制、日志记录、监控和运行时安全。
- **附加组件(Add-ons):** [附加组件软件包](./docs/packages/index.md#supported-add-ons) 是 Big Bang 开发团队直接支持但不属于上述核心定义的软件包/能力。这些用于扩展 Big Bang 的功能/特性。
- **社区(Community):** [社区软件包](https://repo1.dso.mil/big-bang/product/community) 是由更广泛的 Big Bang 社区(例如用户和/或供应商)维护的软件包。这些软件包可以是核心或附加组件的替代品,甚至是用于扩展 Big Bang 使用/功能的新软件包。
为了使 Big Bang 的安装成为有效的安装/配置,您必须安装/部署每个类别的一个核心软件包。更多关于类别和选项的详细信息,请参见[此处](./docs/packages/index.md#core)。
Big Bang 还构建了用于测试和验证 Big Bang 软件包的工具。这些工具按原样提供,不提供支持。
Big Bang 旨在用于部署和维护一组经过国防部加固和批准的软件包。入口/出口、负载均衡、策略审计、日志记录和/或监控的部署和配置均通过 Big Bang 处理。还可以启用和自定义其他软件包(例如 ArgoCD 和 GitLab)以扩展 Big Bang 的基线。部署完成后,Kubernetes 集群可用于添加任务特定的应用程序。
更多信息可以在 [Big Bang 文档](./docs/index.md) 中找到。
## 入门
- 您需要实例化一个适合您需求的 Big Bang 环境。[Big Bang 客户模板](https://repo1.dso.mil/big-bang/customers/template) 提供给您复制到您自己的 Git 仓库并进行修改。
- 有一个 [快速入门指南](https://repo1.dso.mil/big-bang/bigbang/-/blob/master/docs/guides/deployment-scenarios/quickstart.md) 可用作示例部署场景。
## 贡献给 Big Bang
有三种主要方式可以为 Big Bang 贡献。它们如下列出:
- [为 Big Bang 团队的待办事项列表做贡献](https://repo1.dso.mil/big-bang/bigbang/-/issues)。
- [在 Big Bang 技术监督委员会(BBTOC)下的开源项目做贡献](https://repo1.dso.mil/big-bang/product/bbtoc/-/blob/master/CONTRIBUTING.md)。
- [提交新的软件包提案](https://repo1.dso.mil/big-bang/product/bbtoc/-/issues/new?issue%5Bmilestone_id%5D=)。
- 如果您有兴趣提交新软件包,请查阅 [软件包生命周期入门指南](./docs/community/development/package-lifecycle/onboarding.md) 和 [软件包生命周期集成指南](./docs/community/development/package-lifecycle/integration.md)。
- 将指派一名引导员到该项目,在 [Big Bang 社区软件包](https://repo1.dso.mil/big-bang/product/community) 中创建存储库。
更多详细信息请参见 [贡献指南](./CONTRIBUTING.md)。
## 发布计划
- Big Bang 发布采用基于并大致遵循 [语义化版本 2.0.0 指南](https://semver.org/spec/v2.0.0.html)(主版本.次版本.修订版本)的标准化版本控制。这些发布不基于固定时间表,而是遵循本节中描述的方案。
### 修订版本
当 Big Bang 核心软件包的标签(即版本号)发生变化,或对 Big Bang 模板或 values 文件进行错误修复时,会执行修订版本升级。修订版本号的变更应与特定次版本内的先前修订版本向后兼容。如果核心软件包发生显著的功能变化,需要调整 Big Bang 模板,则这将需要变更次版本或主版本,具体取决于对用于集成软件包与 Big Bang 的 values 和密钥的影响。
注意:通常不会为附加软件包更新创建修订版本,而是期望客户通过直接更改 `git.tag`/`helmRepo.tag` 或“继承”这些更新来更新这些软件包。
### 次版本
当 Big Bang 与核心或附加组件的集成发生变化时,需要次版本升级。例如,以下更改需要次版本变更:
- 伞形 values.yaml 的变更(除 package 版本键的变更外)
- 任何 Big Bang 模板的变更(非错误修复变更)
次版本变更应向后兼容。
### 主版本
主版本升级表示包含可能破坏与以前版本兼容性的重大更改的发布。当 Big Bang 架构或关键 values 文件键发生变更时,需要进行主版本变更。例如,移除核心软件包或更改传播到所有核心和附加组件的显著 values 被视为主版本变更。主版本变更的示例如下:
- 移除或重命名 Big Bang values.yaml 顶级键(例如 istio 和/或 git 仓库值)。
- 更改图表/templates 文件结构或键值。
- 核心/附加组件软件包之间需要更改所有软件包图表的额外集成。
- 修改 Big Bang GitOps 引擎(即从 FluxCD 切换到 ArgoCD)。
要查看路线图或特定版本中包含的内容,您仍可以参考我们的 [项目里程碑](https://repo1.dso.mil/groups/big-bang/-/milestones)。
## 提供 Big Bang 反馈
您的反馈对我们很重要。请填写 [Big Bang 反馈表](https://forms.osi.apps.mil/r/QjGsAfZLeV) 以帮助我们持续改进未来的 Big Bang 体验。填写完表格后,您可以预约与我们的用户体验研究团队进行进一步讨论。
## 浏览我们的文档
以下是大 Bang 文档中有用的起点:
- [开发者贡献文档](./docs/community/development/index.md)
- [关键 Big Bang 概念概述](./docs/concepts/index.md)
- [Big Bang 教程](./docs/tutorials/)
- [Big Bang 先决条件](./docs/getting-started/prerequisites.md)
- [Big Bang 示例配置](https://repo1.dso.mil/big-bang/bigbang/-/tree/master/docs/reference/configs/example)
标签:Add-ons, ArgoCD, Big Bang, Community, Core, DevSecOps, DoD, FTP漏洞扫描, Helm, Lerna, Logging, Monitoring, Runtime Security, Service Mesh, Web截图, 上游代理, 公开清单, 军事, 参考架构, 合规, 国防, 国防部, 声明式部署, 子域名突变, 安全编排, 安装清单, 安装部署, 容器安全, 批准包, 持续交付, 日志, 服务网格, 核心包, 测试工具, 监控, 硬化包, 策略强制, 策略执行, 请求拦截, 隐蔽技术, 验证工具