itamae

配置管理工具
授权协议 MIT
开发语言 Ruby
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 琴元凯
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

受Chef启发的配置管理工具,但更简单,轻便。原名Lightchef。

概念

  • Chef-like DSL (但不兼容 Chef)

  • 比Chef更简单、轻便

  • 只有食谱

  • Idempotent

安装

$ gem install itamae

开始

创建一个 recipe 文件 recipe.rb:

package 'nginx' do
  action :installendservice 'nginx' do
  action [:enable, :start]end

然后执行itamae命令将 recipe 应用到本地计算机。

$ itamae local recipe.rb
 INFO : Starting Itamae...
 INFO : Recipe: /home/user/recipe.rb
 INFO :    package[nginx]
 INFO :       action: install
 INFO :          installed will change from 'false' to 'true'
 INFO :    service[nginx]
 INFO :       action: enable
 INFO :       action: start

或者你也可以通过 itamae ssh将recipe应用到远程计算机。

$ itamae ssh --host host001.example.jp recipe.rb

您还可以通过itamae ssh--vagrant申请一个recipe到Vagrant VM。

$ itamae ssh --vagrant --host vm_name recipe.rb

点击 Itamae Wiki 查看更多信息

运行测试

要求:Vagrant

$ bundle exec rake spec
 相关资料
  • 在 Laravel 中,大多数采用 .env 文件管理,深度配置都采用 config/*.php 配置。 在 ThinkSNS+ 这一现象并没有发生改变,我们也推崇使用 Laravel 方式进行管理配置,但是有时候我们往往需要后期配置, 但是后期配置不可能期望用户去修改配置文件。这很危险,用户大多都没有技术能力。 所以,在 ThinkSNS+ 在 Laravel 配置的基础上增加了一份更加灵活的配

  • Swoole框架提供了配置文件管理的功能。配置可以直接用数组的方式进行访问,底层会自动加载配置文件目录下的$key.php文件。配置文件必须在末尾return $array返回配置的信息。 使用方法 //在控制器中 $this->config['user']; //其他位置 Swoole::$php->config['user']; 设置配置文件路径 Swoole\Config::setPath

  • San CLI 的配置文件为san.config.js,该文件放在项目的根目录下,当执行 San CLI 命令时,San CLI 会自动读取san.config.js的内容,在项目创建后,首先需要修改san.config.js来配置文件打包等选项。San CLI UI 将配置的每一项转换为表单,同时将配置项的语义直观的展示在页面,无需查找文档,直接在San CLI UI中修改表单,保存后即可看到s

  • local settings 作为一个开源项目,我们在这方面做得并不是特别好——当然是有意如此的。不过,这里我们还是做一些简单的介绍。对于我们的项目来说,我们需要一些额外的配置,如我们的数据库中的DATABASES、DEFAULT_AUTHENTICATION_CLASSES、CORS_ORIGIN_ALLOW_ALL、SECRET_KEY应该在不同的环境中都有不同的配置。 我们可以一个创建loc

  • 概述 应用的配置信息,一般通过环境变量来注入。这些配置的值,可以抽取出来,存放到ConfigMap里面。ConfigMap以Key-Value的形式来保存这些配置信息。 在部署应用的时候,可以通过引用ConfigMap的Key来设置环境变量,而不是直接赋值。这样可以集中管理配置信息,方便应用多次部署以及多个应用之间共享配置信息。

  • 在 Swarm 集群中管理配置数据 在动态的、大规模的分布式集群上,管理和分发配置文件也是很重要的工作。传统的配置文件分发方式(如配置文件放入镜像中,设置环境变量,volume 动态挂载等)都降低了镜像的通用性。 在 Docker 17.06 以上版本中,Docker 新增了 docker config 子命令来管理集群中的配置信息,以后你无需将配置文件放入镜像或挂载到容器中就可实现对服务的配置。