厨师服务器索引的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第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用