厨师服务器索引的Web前端
sous-chef的Python项目详细描述
Chef服务器索引的Web前端,显示节点、角色和 环境,以及Ohai插件收集的数据(特别是, 已安装的软件包版本)。
安装
使用以下命令安装Sous Chef和Gunicorn:
pip install 'sous-chef[deploy]'
要求
需要Flask和PyChef。Gunicorn是 部署,但不是必需的(允许备用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请求 分支。
问题被分配了easy、medium和hard的标记,给出了一些指示 一个特性请求的实现应该有多容易或者一个bug会有多难 修复。欢迎对任何未分配的问题进行修复或实现。
请记住,新功能应该对 应用程序-只能与内部组件或 除了主厨服务器之外,不太可能需要重要的基础设施 批准(但仍有待讨论)。
代码样式和设计
python代码应该使用PEP8中的样式,最好传递所有flake8 测验。版本号应该使用Semantic Versioning规范,并且 在setup.py和sous_chef/__init__.py中设置。
尽可能多的功能应该“开箱即用”并且在没有 需要显式配置-do需要配置才能使用的功能 要么退回到另一个选项,要么默认关闭。
可选集成(如现有的烧瓶调试工具栏集成) 应该在extras_require而不是^{tt9}中定义需求$ 并确保如果不存在需求,它们不会崩溃。
许可证
副厨师是根据麻省理工学院的许可证。
这个项目包括Bootstrap和jQuery的副本,这两个副本都是 也有麻省理工学院的执照。
版权所有(c)2014 datasift<;opensource@datasift.com>;
兹免费准许任何人取得 本软件和相关文档文件(“软件”),用于处理 不受限制的软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件,并允许向其提供软件的人员这样做, 必须满足以下条件:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
软件按“原样”提供,WI任何形式的保证,快递或 默示的,包括但不限于适销性、适用性的保证 为了特定的目的和不受侵犯。在任何情况下,作者或 版权持有人应对任何索赔、损害或其他责任负责,无论 在诉讼或合同中,侵权行为或其他方式,由 与软件的连接或软件的使用或其他交易