Edited at

Itamaeチートシート

More than 1 year has passed since last update.


対象バージョン

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


謝辞


参考サイト