dreamcat4-moonshadow 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/LICENSE +165 -0
  2. data/app_generators/moonshine/moonshine_generator.rb +154 -0
  3. data/app_generators/moonshine/templates/Capfile +3 -0
  4. data/app_generators/moonshine/templates/rails/deploy.rb +3 -0
  5. data/app_generators/moonshine/templates/rails/gems.yml +1 -0
  6. data/app_generators/moonshine/templates/rails/manifest.rb +55 -0
  7. data/app_generators/moonshine/templates/rails/moonshine.rake +83 -0
  8. data/app_generators/moonshine/templates/rails/moonshine.yml +43 -0
  9. data/app_generators/moonshine/templates/readme.templates +5 -0
  10. data/app_generators/moonshine_plugin/USAGE +8 -0
  11. data/app_generators/moonshine_plugin/moonshine_plugin_generator.rb +39 -0
  12. data/app_generators/moonshine_plugin/templates/README.rdoc +14 -0
  13. data/app_generators/moonshine_plugin/templates/init.rb +3 -0
  14. data/app_generators/moonshine_plugin/templates/plugin.rb +19 -0
  15. data/app_generators/moonshine_plugin/templates/spec.rb +24 -0
  16. data/app_generators/moonshine_plugin/templates/spec_helper.rb +8 -0
  17. data/bin/moonshine +17 -0
  18. data/bin/moonshine_plugin +17 -0
  19. data/lib/moonshine.rb +7 -0
  20. data/lib/moonshine/bootstrap/bootstrap.mri.sh +21 -0
  21. data/lib/moonshine/bootstrap/bootstrap.ree.sh +34 -0
  22. data/lib/moonshine/capistrano.rb +242 -0
  23. data/lib/moonshine/manifest.rb +151 -0
  24. data/lib/moonshine/manifest/rails.rb +54 -0
  25. data/lib/moonshine/manifest/rails/apache.rb +99 -0
  26. data/lib/moonshine/manifest/rails/apt_gems.yml +32 -0
  27. data/lib/moonshine/manifest/rails/mysql.rb +79 -0
  28. data/lib/moonshine/manifest/rails/os.rb +115 -0
  29. data/lib/moonshine/manifest/rails/passenger.rb +93 -0
  30. data/lib/moonshine/manifest/rails/postgresql.rb +83 -0
  31. data/lib/moonshine/manifest/rails/rails.rb +237 -0
  32. data/lib/moonshine/manifest/rails/sqlite3.rb +8 -0
  33. data/lib/moonshine/manifest/rails/templates/innodb.cnf.erb +6 -0
  34. data/lib/moonshine/manifest/rails/templates/logrotate.conf.erb +15 -0
  35. data/lib/moonshine/manifest/rails/templates/moonshine.cnf.erb +63 -0
  36. data/lib/moonshine/manifest/rails/templates/passenger.conf.erb +106 -0
  37. data/lib/moonshine/manifest/rails/templates/passenger.vhost.erb +273 -0
  38. data/lib/moonshine/manifest/rails/templates/pg_hba.conf.erb +83 -0
  39. data/lib/moonshine/manifest/rails/templates/postgresql.conf.erb +493 -0
  40. data/lib/moonshine/manifest/rails/templates/unattended_upgrades.erb +18 -0
  41. data/lib/moonshine_setup_manifest.rb +39 -0
  42. metadata +135 -0
@@ -0,0 +1,18 @@
1
+ // Automatically upgrade packages from these (origin, archive) pairs
2
+ Unattended-Upgrade::Allowed-Origins {
3
+ "Ubuntu intrepid-security";
4
+ // "Ubuntu intrepid-updates";
5
+ };
6
+
7
+ // List of packages to not update
8
+ Unattended-Upgrade::Package-Blacklist {
9
+ <% configuration[:unattended_upgrade][:package_blacklist].to_a.each do |blacklist| %>
10
+ "<%= blacklist %>";
11
+ <% end %>
12
+ };
13
+
14
+ // Send email to this address for problems or packages upgrades
15
+ // If empty or unset then no email is sent, make sure that you
16
+ // have a working mail setup on your system. The package 'mailx'
17
+ // must be installed or anything that provides /usr/bin/mail.
18
+ Unattended-Upgrade::Mail "<%= configuration[:user] %>@localhost";
@@ -0,0 +1,39 @@
1
+ # Running <tt>cap deploy:setup</tt> or <tt>cap moonshine:bootstrap</tt>
2
+ # in uploads your <p>config/moonshine.yml</p> to <tt>/tmp/moonshine.yml</tt>
3
+ # on your server and applies this manifest.
4
+ #
5
+ # Requires these three variables in a YAML <tt>config/moonshine.yml</tt>:
6
+ #
7
+ # application: your_app_name
8
+ # user: rails
9
+ # deploy_to: /srv/your_app_name
10
+ class MoonshineSetupManifest < ShadowPuppet::Manifest
11
+ configure(YAML.load_file('/tmp/moonshine.yml'))
12
+
13
+ recipe :directories
14
+
15
+ # TODO: replicate bin/bootstrap.sh here for 100% idempotency
16
+
17
+ # Essentially replicates the deploy:setup command from capistrano, but sets
18
+ # up permissions correctly
19
+ def directories
20
+ deploy_to_array = configuration[:deploy_to].split('/')
21
+ deploy_to_array.each_with_index do |dir, index|
22
+ next if index == 0 || index >= (deploy_to_array.size-1)
23
+ file '/'+deploy_to_array[1..index].join('/'), :ensure => :directory
24
+ end
25
+ dirs = [
26
+ "#{configuration[:deploy_to]}",
27
+ "#{configuration[:deploy_to]}/shared",
28
+ "#{configuration[:deploy_to]}/shared/config",
29
+ "#{configuration[:deploy_to]}/releases"
30
+ ]
31
+ dirs.each do |dir|
32
+ file dir,
33
+ :ensure => :directory,
34
+ :owner => configuration[:user],
35
+ :group => configuration[:group] || configuration[:user],
36
+ :mode => '775'
37
+ end
38
+ end
39
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dreamcat4-moonshadow
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jesse Newland
8
+ - Rob Lingle
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-09-01 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: shadow_puppet
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 0.3.1
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.8.7
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rubigen
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 1.5.2
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: commander
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.2.9
55
+ version:
56
+ description: Rails deployment and configuration management done right. ShadowPuppet + Capistrano == crazy delicious
57
+ email: jesse@railsmachine.com
58
+ executables:
59
+ - moonshine
60
+ - moonshine_plugin
61
+ extensions: []
62
+
63
+ extra_rdoc_files:
64
+ - LICENSE
65
+ files:
66
+ - app_generators/moonshine/moonshine_generator.rb
67
+ - app_generators/moonshine/templates/Capfile
68
+ - app_generators/moonshine/templates/rails/deploy.rb
69
+ - app_generators/moonshine/templates/rails/gems.yml
70
+ - app_generators/moonshine/templates/rails/manifest.rb
71
+ - app_generators/moonshine/templates/rails/moonshine.rake
72
+ - app_generators/moonshine/templates/rails/moonshine.yml
73
+ - app_generators/moonshine/templates/readme.templates
74
+ - app_generators/moonshine_plugin/USAGE
75
+ - app_generators/moonshine_plugin/moonshine_plugin_generator.rb
76
+ - app_generators/moonshine_plugin/templates/README.rdoc
77
+ - app_generators/moonshine_plugin/templates/init.rb
78
+ - app_generators/moonshine_plugin/templates/plugin.rb
79
+ - app_generators/moonshine_plugin/templates/spec.rb
80
+ - app_generators/moonshine_plugin/templates/spec_helper.rb
81
+ - bin/moonshine
82
+ - bin/moonshine_plugin
83
+ - lib/moonshine.rb
84
+ - lib/moonshine/bootstrap/bootstrap.mri.sh
85
+ - lib/moonshine/bootstrap/bootstrap.ree.sh
86
+ - lib/moonshine/capistrano.rb
87
+ - lib/moonshine/manifest.rb
88
+ - lib/moonshine/manifest/rails.rb
89
+ - lib/moonshine/manifest/rails/apache.rb
90
+ - lib/moonshine/manifest/rails/apt_gems.yml
91
+ - lib/moonshine/manifest/rails/mysql.rb
92
+ - lib/moonshine/manifest/rails/os.rb
93
+ - lib/moonshine/manifest/rails/passenger.rb
94
+ - lib/moonshine/manifest/rails/postgresql.rb
95
+ - lib/moonshine/manifest/rails/rails.rb
96
+ - lib/moonshine/manifest/rails/sqlite3.rb
97
+ - lib/moonshine/manifest/rails/templates/innodb.cnf.erb
98
+ - lib/moonshine/manifest/rails/templates/logrotate.conf.erb
99
+ - lib/moonshine/manifest/rails/templates/moonshine.cnf.erb
100
+ - lib/moonshine/manifest/rails/templates/passenger.conf.erb
101
+ - lib/moonshine/manifest/rails/templates/passenger.vhost.erb
102
+ - lib/moonshine/manifest/rails/templates/pg_hba.conf.erb
103
+ - lib/moonshine/manifest/rails/templates/postgresql.conf.erb
104
+ - lib/moonshine/manifest/rails/templates/unattended_upgrades.erb
105
+ - lib/moonshine_setup_manifest.rb
106
+ - LICENSE
107
+ has_rdoc: false
108
+ homepage: http://railsmachine.github.com/moonshine/
109
+ licenses:
110
+ post_install_message:
111
+ rdoc_options:
112
+ - --charset=UTF-8
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: "0"
120
+ version:
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: "0"
126
+ version:
127
+ requirements: []
128
+
129
+ rubyforge_project:
130
+ rubygems_version: 1.3.5
131
+ signing_key:
132
+ specification_version: 3
133
+ summary: Rails deployment and configuration management done right. ShadowPuppet + Capistrano == crazy delicious
134
+ test_files: []
135
+