厨师服务器索引的Web前端

sous-chef的Python项目详细描述


Sous-chef on PyPISous-chef on PyPITravis-CI build status for Sous-chefGitHub issues for Sous-chef

Chef服务器索引的Web前端,显示节点、角色和 环境,以及Ohai插件收集的数据(特别是, 已安装的软件包版本)。

安装

使用以下命令安装Sous Chef和Gunicorn:

pip install 'sous-chef[deploy]'

要求

需要FlaskPyChefGunicorn是 部署,但不是必需的(允许备用wsgi服务器 使用)。可以选择使用调试应用程序使用Flask Debug Toolbar

兼容性

因为依赖于PyChef,所以目标是python 2.6和2.7。

用法

使用Gunicorn

gunicorn 'sous_chef:create_app()'

配置

副厨师将从两个地方之一读取它的配置,具体取决于 它已安装:

# Global install
/usr/var/sous_chef-instance/config.py

# Virtualenv install
$VIRTUALENV/var/sous_chef-instance/config.py

配置文件示例如下:

# The URL of the Chef server
CHEF_URL = 'http://chef.example.com'

# The client name and key to use
CHEF_CLIENT = 'sous'
CHEF_KEY = '/usr/var/sous_chef-instance/sous.pem'

如果未设置这些值,则使用pychef的autoconfigure函数作为回退, 并尝试从~/.chef/knife.rb/etc/chef/client.rb

软件包版本

sous chef将显示来自节点的包元数据(如果可用)。它期望这个 数据格式如下:

"packages": {
        "<package_type>": {
                "<package_name>": {
                        "version": "<package_version"
                },
                ...
        },
        ...
}

例如,rpm ohai插件可以设置以下节点属性:

"packages": {
        "rpm": {
                "package-one": {
                        "version": "0.1.0",
                },
                "package-two": {
                        "version": "2.0.1",
                }
        }
}

调试模式

可以使用^{tt4}在调试模式下运行应用程序$ 功能:

gunicorn 'sous_chef:create_debug_app()'

如果flask-debugtoolbar包可用,则DebugToolbar 扩展将被加载,并可用于在浏览器中显示调试信息。

贡献

贡献是非常受欢迎的-问题和功能请求应该使用 github issue tracker,应该针对development发出pull请求 分支。

问题被分配了easymediumhard的标记,给出了一些指示 一个特性请求的实现应该有多容易或者一个bug会有多难 修复。欢迎对任何未分配的问题进行修复或实现。

请记住,新功能应该对 应用程序-只能与内部组件或 除了主厨服务器之外,不太可能需要重要的基础设施 批准(但仍有待讨论)。

代码样式和设计

python代码应该使用PEP8中的样式,最好传递所有flake8 测验。版本号应该使用Semantic Versioning规范,并且 在setup.pysous_chef/__init__.py中设置。

尽可能多的功能应该“开箱即用”并且在没有 需要显式配置-do需要配置才能使用的功能 要么退回到另一个选项,要么默认关闭。

可选集成(如现有的烧瓶调试工具栏集成) 应该在extras_require而不是^{tt9}中定义需求$ 并确保如果不存在需求,它们不会崩溃。

许可证

副厨师是根据麻省理工学院的许可证。

这个项目包括BootstrapjQuery的副本,这两个副本都是 也有麻省理工学院的执照。

版权所有(c)2014 datasift<;opensource@datasift.com>;

兹免费准许任何人取得 本软件和相关文档文件(“软件”),用于处理 不受限制的软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件,并允许向其提供软件的人员这样做, 必须满足以下条件:

上述版权公告及本许可公告须包括在 软件的拷贝或大部分。

软件按“原样”提供,WI任何形式的保证,快递或 默示的,包括但不限于适销性、适用性的保证 为了特定的目的和不受侵犯。在任何情况下,作者或 版权持有人应对任何索赔、损害或其他责任负责,无论 在诉讼或合同中,侵权行为或其他方式,由 与软件的连接或软件的使用或其他交易

作者

{tt10}$由{a19}在写入 {a20}。

{img1}$ {img2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Frida Java windows的逆向工程   Java术语中的对象初始化   java在何处放置maven参数化junit输入xml文件   java如何在Swift中创建以日期为键、布尔值为值的字典/地图?   java Velocity动态属性访问   java Maven站点我如何找到它们?   java JavaFX按钮在显示阶段时显示为选中状态   文件io字符串方法java赋值   java为SOAP头生成证书   java Android更改EditText的setError弹出消息的背景色   java格式存储为字符串的数字   java Testcontainers+dbrider:无法清除表X,消息:启用自动提交时无法提交。,原因:无效   java程序应该可以运行,但仍然没有输出?   Java在列表末尾添加一个节点?   java类对象中的默认构造函数做什么?   java如何更快地从映射返回键和值?