Itamaeチートシート

  • 227
    いいね
  • 2
    コメント

対象バージョン

v1.9.6 (https://github.com/itamae-kitchen/itamae/releases/tag/v1.9.6)

※随時更新の予定です

全リソース共通のアトリビュート

アトリビュート名 用途 必須
aciton 実行するアクション × Symbol or Array
only_if あるコマンドが成功したときのみ実行 × String
not_if あるコマンドが失敗した時のみ実行 × String
user 実行ユーザ × String

リソース

execute

概要

  • シェルコマンドを実行する

アトリビュート

アトリビュート名 用途 必須
command 実行するシェルコマンド String

デフォルト値

アトリビュート名
action :run
Ex
execute "update yum repo" do
  user "root"
  command "yum -y update"
end

git

概要

  • git cloneを実行する

アトリビュート

アトリビュート名 用途 必須
repository cloneしたいgitリポジトリ String

デフォルト値

アトリビュート名
action :sync
Ex
git "/usr/local/rbenv" do
  repository "git://github.com/sstephenson/rbenv.git"
end

remote_file

概要

  • ファイルを転送する
  • Chefでいうところのcookbook_file
  • sourceは相対パスで指定

アトリビュート

アトリビュート名 用途 必須
owner 所有者 × String
group 所属グループ × String
source 転送したいファイルのパス String

デフォルト値

アトリビュート名
action :create
Ex
remote_file "/etc/profile.d/rbenv.sh" do
  owner "root"
  group "root"
  source "remote_files/rbenv.sh"
end

remote_directory

概要

  • ディレクトリを転送する
  • Chefでいうところのremote_directory
  • sourceは相対パスで指定

アトリビュート

アトリビュート名 用途 必須
owner 所有者 × String
group 所属グループ × String
source 転送したいファイルのパス String

デフォルト値

アトリビュート名
action :create
Ex
remote_directory "/etc/var/www" do
  owner "root"
  group "root"
  source "remote_files/etc/var/www"
end

template

概要

  • 用意したテンプレートファイル(erb)を転送する
  • テンプレートファイルにはノード or variablesで定義した変数かを埋め込む

アトリビュート

アトリビュート名 用途 必須
owner 所有者 × String
group 所属グループ × String
source 転送したいテンプレートファイルのパス String
variables テンプレートファイルに引き渡したい変数 × Hash

デフォルト値

アトリビュート名
action :create
Ex
template "/tmp/template" do
  source "hello.erb"
  variables(goodbye: "Good bye")
end

package

概要

  • パッケージをインストールする

アトリビュート

アトリビュート名 用途 必須
name インストールしたいパッケージ名 × String
version インストールしたいパッケージのバージョン × String
options インストール時の実行オプション × String

デフォルト値

アトリビュート名
action :install
Ex
package "nginx" do
  version "1.6.1"
  options "--force-yes"
end

directory

概要

  • ディレクトリを作成する

アトリビュート

アトリビュート名 用途 必須
mode パーミッション × String
owner 所有者 × String
group 所属グループ × String

デフォルト値

アトリビュート名
action :create
Ex
directory "/var/foo/bar" do
  mode "775"
  owner "hoge"
  group "hoge"
end

link

概要

  • シンボリックリンクを作成する

アトリビュート

アトリビュート名 用途 必須
link リンク先のパス × String
to リンク先のパス String

デフォルト値

アトリビュート名
action :create
Ex
link "/tmp-link" do
  to "/tmp"
end

local_ruby_block

概要

  • blockを実行する

アトリビュート

アトリビュート名 用途 必須
block do 〜 end block内のコードを実行する Proc
Ex
local_ruby_block "greeting" do
  block do
    Itamae::Logger.info "板前"
  end
end

file

概要

  • ファイルを生成する

アトリビュート

アトリビュート名 用途 必須
mode パーミッション × String
owner 所有者 × String
group 所属グループ × String
content ファイルの内容 String
content_file 存在するファイルのパス String

デフォルト値

アトリビュート名
action :create
Ex
file "/tmp/file1" do
  content "Hello, World"
end

user

概要

  • ユーザを作成する

アトリビュート

アトリビュート名 用途 必須
uid ユーザID × String or Integer
gid グループID × String
username ユーザ名 × String
password パスワード × String
home 作成するユーザのホームディレクトリ × String
shell ログインシェル × String
system_user システムユーザとするか否か × true or false

デフォルト値

アトリビュート名
action :create
Ex
user "create user" do
  uid "123456789"
  username "hoge"
  password "abcdffg"
end

service

概要

  • サービスを起動や終了などを行う

アトリビュート

アトリビュート名 用途 必須
name サービス名 String

デフォルト値

アトリビュート名
action :nothing
Ex
service "cron" do
  action :stop
end

gem_package

概要

  • gemパッケージをインストールする

アトリビュート

アトリビュート名 用途 必須
package_name gem名 String
gem_binary 利用するgemコマンドのバイナリのパス × String or Array
version インストールするgemのバージョン × String
options gemコマンドのオプション × Array
source インストールするgemの取得先のURL × String

デフォルト値

アトリビュート名
action :install
gem_binary :gem
Ex
gem_package 'bundler' do
  gem_binary 'usr/local/rbenv/shims/gem'
  options ['--no-ri', '--no-rdoc']
end

謝辞

参考サイト