通過在虛擬機中安裝腳本正在初始化PostgreSQL數據庫我想運行下列設置腳本使用木偶來配置就是BEING通過虛擬機部署的PostgreSQL數據庫,通過無業遊民供應:使用傀儡
#!/bin/bash -e
sudo su - postgres
createdb testdb
psql -s tm351test -c "create user test password 'test';GRANT ALL PRIVILEGES ON DATABASE testdb TO test;"
touch /root/postgresql.done
我流浪漢的配置採取以下形式:
package {
[
'postgresql',
'postgresql-client'
]: ensure => latest;
}
file {
'/root/postgresql.setup':
source => 'puppet:///modules/infinite_interns/root/postgresql.setup',
owner => root,
group => root,
mode => '0744';
}
#TO DO - how do we guarantee the postgresql server is running and tools available?
exec {
'setup-postgresql':
cwd => '/root',
command => '/root/postgresql.setup',
creates => '/root/postgresql.done';
}
service {
'postgresql':
ensure => running,
enable => true;
}
Package['postgresql'] -> Service['postgresql']
如何保證我的PostgreSQL服務器已安裝並運行,並且命令行工具可用,在運行配置腳本之前?
我是Puppet的新手 - 是否執行()不運行如果創建的文件postgresql.done
存在?
我懷疑psql
命令可能還需要一個確認的「返回」來執行命令 - 我該怎麼做?
好的 - 所以它是凌晨3點,我無法弄清楚如何使用它/包括它。假設我是從:class myBoxes :: box :: pgtest {..my bits ..}供應,並且我想要一個帶有用戶/密碼test/test的db名稱testdb。我使用什麼和在哪裏(我的傀儡文件中有mod'puppetlabs/postgresql') – psychemedia