Foreman
Foreman 是一个免费的开源项目,它使您能够轻松地将重复性任务自动化,快速部署应用程序,并主动管理您的服务器生命周期,无论是在内部还是在云中。
从配置和配置到协调和监控,Foreman 与您现有的基础架构集成,使操作更加简单。
- 网站:theforeman.org
- ServerFault 标签:Foreman
- 问题:Redmine
- Wiki: Foreman wiki
- 社区和支持:我们使用 Freenode IRC 频道
- #theforeman for general support
- #theforeman-dev for development chat
- 邮件列表:
使用 Puppet、Ansible、Chef、Salt 和 Foreman 的 智能代理 架构,您可以轻松实现重复性任务的自动化,快速部署应用,并主动管理变更,无论是在内部使用VM和裸机还是在云端。
Foreman 提供了全面的、交互设施,包括 Web 前端、CLI 和 RESTful API,使您能够在坚实的基础上构建更高级别的业务逻辑。
Foreman 是一个成熟的项目,部署在许多组织中,管理着从 10 几台到 10000 多台服务器。它被用于 RDO 和 RHOS(红帽 OpenStack 发行版)等发行版中,并拥有丰富的插件库。
Foreman 特性:
- 自动化您的混合基础设施,使操作更愉快
- 发现、调配和升级您的整个裸机基础设施
- 跨私有云和公共云创建和管理实例
- 对您的主机进行分组并批量管理,而不考虑其位置
- 查看历史更改以进行审核或故障排除
- 根据需要通过一个健壮的插件架构进行扩展
- 根据系统定义自动构建映像(在每个平台上),以优化部署
- 对您的基础架构进行 LDAP 认证和 RBAC 授权
- 还有更多
支持平台
- CentOS,Scientific Linux 或 Oracle Linux 7,x86_64
- Debian 8(Jessie),i386 /amd64 /armhf
- Fedora 24,x86_64
- 红帽企业版 Linux 7,x86_64
- Ubuntu 16.04(Xenial),i386 /amd64 /armhf /aarch64
- Ubuntu 14.04(Trusty),i386 /amd64
- 其他操作系统将需要使用替代安装方法(参见手册)。
- 安装将需要至少 4GB 内存,有关详细信息,请参阅系统要求。
安装
阅读手册的快速入门部分。如果您知道您的设置有一些特定的需要,请阅读安装方案部分。
文档
我们的主要文档参考是 Foreman 手册。如果你发现了一些你想填补的空白,请在这个 repo 中贡献你的力量。
API
我们使用 apipie。那个 API 章节提供了有关访问 API 以及请求和响应布局的更多信息。另请参阅我们网站上提供的参考文档,或者通过你自己的 Foreman 安装,在 URL 上添加 /apidoc 来查看可用的 API 路由。
插件
插件是扩展和修改 Foreman 功能的工具。它们被实现为 Rails 引擎,打包成 gems,因此很容易安装到 Foreman 中。
插件页面 列出了所有可用的插件,并提供了关于如何安装和开发它们的更多信息。
如何捐助?
一般来说,请遵循 Foreman 指南。对于与代码相关的贡献,请将这个项目分叉,并发送一个包含所有改动的拉取请求。一些需要注意的事情:
遵循提交信息风格的规则,并创建一个 Redmine 问题。这样做可以帮助审稿人更快地合并你的贡献。
我们有一本开发手册来帮助开发人员了解 Foreman 开发人员如何编写代码。
Rubocop 会分析你的代码,你可以用 rake rubocop 在本地运行。
我们所有的拉取请求都会在我们的 Jenkins CI system 系统中运行完整的测试套件。请在您的拉取请求中包含测试,以满足任何功能的添加或更改。
媒介
我们在网站的媒体部分保留了一个关于 Foreman 生态系统中所有内容的讲座、教程和文章的存储库。如果你想发表你的文章,只需向 theforeman.org 资源库 提交一个拉取请求。
特别感谢
这个项目的原作者是 Ohad Levy 和 Paul Kelly。你可以在 Contributors 中找到一个更详细的名单,其中包括对这个项目做出贡献的人。
许可证
请参阅 LICENSE 文件。
Foreman 软件库/软件包采用 GNU GPL v3 或更新版本授权,但有一些例外。
Copyright (c) 2009-2020 to Ohad Levy, Paul Kelly and their respective owners.
Foreman项目的所有版权人都在单独的文件 "Contributors "中。
除非下面有特别说明,这个程序和整个软件库都是自由软件:你可以根据自由软件基金会发布的 GNU 通用公共许可证(GNU General Public License)的条款重新发布它和/或修改它,无论是该许可证的第3版,还是任何更新的版本。
本程序发布的目的是希望它是有用的,但没有任何保证,甚至没有默示的适销性或适合特定用途的保证。请参阅 GNU 通用公共许可证了解更多详情。
您应该已经随本程序收到了一份GNU通用公共许可证的副本。如果没有,请看 GNU 许可证。
以下文件和目录是例外:
- app/views/unattended/ztp/provision.erb is (c) 2013, Juniper Networks under 2-clause BSD license.
- lib/tasks/convert.rake is (c) 2008, Matson Systems, Inc. under Revised BSD license.
- extras/noVNC/websockify is (c) 2011, Joel Martin under LGPL v3 license.
- vendor/assets/fonts/ is (c) 2011-2016, Red Hat Inc. under SIL Open Font License v1.1 or LGPL v2.1 licenses.
- vendor/assets/javascripts/jquery.flot.axislabels.js is (c) 2010 Xuan Luo under MIT license.
- app/assets/images/RancherOS.png is (c) 2018 Rancher Labs, Inc.
保留所有权利。
LICENSE 文件包含 GNU GPL v3 许可证的全文,以及上面提到的所有附加许可证的文本。
(Second edition: vz revised at 2020.10.15)