server_maint 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,40 +0,0 @@
1
- #
2
- # Cookbook Name:: postgresql
3
- # Recipe:: ruby
4
- #
5
- # Author:: Joshua Timberman (<joshua@opscode.com>)
6
- # Copyright 2012 Opscode, Inc.
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- begin
22
- require 'pg'
23
- rescue LoadError
24
- execute "apt-get update" do
25
- ignore_failure true
26
- action :nothing
27
- end.run_action(:run) if node['platform_family'] == "debian"
28
-
29
- node.set['build_essential']['compiletime'] = true
30
- include_recipe "build-essential"
31
- include_recipe "postgresql::client"
32
-
33
- node['postgresql']['client']['packages'].each do |pg_pack|
34
-
35
- resources("package[#{pg_pack}]").run_action(:install)
36
-
37
- end
38
-
39
- chef_gem "pg"
40
- end
@@ -1,64 +0,0 @@
1
- #/postgresql.conf.
2
- # Cookbook Name:: postgresql
3
- # Recipe:: server
4
- #
5
- # Author:: Joshua Timberman (<joshua@opscode.com>)
6
- # Author:: Lamont Granquist (<lamont@opscode.com>)
7
- # Copyright 2009-2011, Opscode, Inc.
8
- #
9
- # Licensed under the Apache License, Version 2.0 (the "License");
10
- # you may not use this file except in compliance with the License.
11
- # You may obtain a copy of the License at
12
- #
13
- # http://www.apache.org/licenses/LICENSE-2.0
14
- #
15
- # Unless required by applicable law or agreed to in writing, software
16
- # distributed under the License is distributed on an "AS IS" BASIS,
17
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
-
22
- ::Chef::Recipe.send(:include, Opscode::OpenSSL::Password)
23
-
24
- include_recipe "postgresql::client"
25
-
26
- # randomly generate postgres password
27
- node.set_unless['postgresql']['password']['postgres'] = secure_password
28
- node.save unless Chef::Config[:solo]
29
-
30
- if node['postgresql']['version'].to_f <= 8.3
31
- node.default['postgresql']['ssl'] = "off"
32
- else
33
- node.default['postgresql']['ssl'] = "true"
34
- end
35
-
36
- # Include the right "family" recipe for installing the server
37
- # since they do things slightly differently.
38
- case node['platform']
39
- when "redhat", "centos", "fedora", "suse", "scientific", "amazon"
40
- include_recipe "postgresql::server_redhat"
41
- when "debian", "ubuntu"
42
- include_recipe "postgresql::server_debian"
43
- end
44
-
45
- template "#{node['postgresql']['dir']}/pg_hba.conf" do
46
- source "pg_hba.conf.erb"
47
- owner "postgres"
48
- group "postgres"
49
- mode 00600
50
- notifies :reload, resources(:service => "postgresql"), :immediately
51
- end
52
-
53
- # Default PostgreSQL install has 'ident' checking on unix user 'postgres'
54
- # and 'md5' password checking with connections from 'localhost'. This script
55
- # runs as user 'postgres', so we can execute the 'role' and 'database' resources
56
- # as 'root' later on, passing the below credentials in the PG client.
57
- bash "assign-postgres-password" do
58
- user 'postgres'
59
- code <<-EOH
60
- echo "ALTER ROLE postgres ENCRYPTED PASSWORD '#{node['postgresql']['password']['postgres']}';" | psql
61
- EOH
62
- not_if "echo '\connect' | PGPASSWORD=#{node['postgresql']['password']['postgres']} psql --username=postgres --no-password -h localhost"
63
- action :run
64
- end
@@ -1,64 +0,0 @@
1
- #
2
- # Cookbook Name:: postgresql
3
- # Recipe:: server
4
- #
5
- # Author:: Joshua Timberman (<joshua@opscode.com>)
6
- # Author:: Lamont Granquist (<lamont@opscode.com>)#
7
- # Copyright 2009-2011, Opscode, Inc.
8
- #
9
- # Licensed under the Apache License, Version 2.0 (the "License");
10
- # you may not use this file except in compliance with the License.
11
- # You may obtain a copy of the License at
12
- #
13
- # http://www.apache.org/licenses/LICENSE-2.0
14
- #
15
- # Unless required by applicable law or agreed to in writing, software
16
- # distributed under the License is distributed on an "AS IS" BASIS,
17
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
-
22
- include_recipe "postgresql::client"
23
-
24
-
25
- if node['postgresql']['version'].to_f <= 8.3
26
- node.default['postgresql']['ssl'] = "off"
27
- else
28
- node.default['postgresql']['ssl'] = "true"
29
- end
30
-
31
- node['postgresql']['server']['packages'].each do |pg_pack|
32
- package pg_pack do
33
- action :install
34
- end
35
- end
36
-
37
- service "postgresql" do
38
- case node['platform']
39
- when "ubuntu"
40
- case
41
- when node['platform_version'].to_f <= 10.04
42
- service_name "postgresql-#{node['postgresql']['version']}"
43
- else
44
- service_name "postgresql"
45
- end
46
- when "debian"
47
- case
48
- when node['platform_version'].to_f <= 5.0
49
- service_name "postgresql-#{node['postgresql']['version']}"
50
- else
51
- service_name "postgresql"
52
- end
53
- end
54
- supports :restart => true, :status => true, :reload => true
55
- action [:enable, :start]
56
- end
57
-
58
- template "#{node['postgresql']['dir']}/postgresql.conf" do
59
- source "debian.postgresql.conf.erb"
60
- owner "postgres"
61
- group "postgres"
62
- mode 0600
63
- notifies :restart, resources(:service => "postgresql"), :immediately
64
- end
@@ -1,77 +0,0 @@
1
- #
2
- # Cookbook Name:: postgresql
3
- # Recipe:: server
4
- #
5
- # Author:: Joshua Timberman (<joshua@opscode.com>)
6
- # Author:: Lamont Granquist (<lamont@opscode.com>)
7
- # Copyright 2009-2011, Opscode, Inc.
8
- #
9
- # Licensed under the Apache License, Version 2.0 (the "License");
10
- # you may not use this file except in compliance with the License.
11
- # You may obtain a copy of the License at
12
- #
13
- # http://www.apache.org/licenses/LICENSE-2.0
14
- #
15
- # Unless required by applicable law or agreed to in writing, software
16
- # distributed under the License is distributed on an "AS IS" BASIS,
17
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- # See the License for the specific language governing permissions and
19
- # limitations under the License.
20
- #
21
-
22
- include_recipe "postgresql::client"
23
-
24
- # Create a group and user like the package will.
25
- # Otherwise the templates fail.
26
-
27
- group "postgres" do
28
- gid 26
29
- end
30
-
31
- user "postgres" do
32
- shell "/bin/bash"
33
- comment "PostgreSQL Server"
34
- home "/var/lib/pgsql"
35
- gid "postgres"
36
- system true
37
- uid 26
38
- supports :manage_home => false
39
- end
40
-
41
- node['postgresql']['server']['packages'].each do |pg_pack|
42
- package pg_pack do
43
- action :install
44
- end
45
- end
46
-
47
- case node['platform']
48
- when "redhat","centos","scientific"
49
- case
50
- when node['platform_version'].to_f >= 6.0
51
- package "postgresql-server"
52
- else
53
- package "postgresql#{node['postgresql']['version'].split('.').join}-server"
54
- end
55
- when "fedora","suse"
56
- package "postgresql-server"
57
- end
58
-
59
- # Following not valid for 9.x version of postgresql
60
- if node['postgresql']['version'].to_f < 9.0
61
- execute "/sbin/service postgresql initdb" do
62
- not_if { ::FileTest.exist?(File.join(node['postgresql']['dir'], "PG_VERSION")) }
63
- end
64
- end
65
-
66
- service "postgresql" do
67
- supports :restart => true, :status => true, :reload => true
68
- action [:enable, :start]
69
- end
70
-
71
- template "#{node['postgresql']['dir']}/postgresql.conf" do
72
- source "redhat.postgresql.conf.erb"
73
- owner "postgres"
74
- group "postgres"
75
- mode 0600
76
- notifies :restart, resources(:service => "postgresql"), :immediately
77
- end