dreamcat4-moonshadow 0.0.1

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.
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
+