traktor 0.3.5.2

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.
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2010 Formrausch
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ Traktor
2
+ =======
3
+
4
+ Formrausch addtions to vlad deployment. Many new defaults.
data/bin/traktor ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+
4
+ def copy(file, to='.')
5
+ puts "=> #{file}"
6
+ file_path = File.join(File.dirname(__FILE__), '..', 'lib', 'generators', file)
7
+ FileUtils.cp(file_path, File.join(Dir.pwd, to))
8
+ end
9
+
10
+ puts "Hello from traktor!"
11
+
12
+ FileUtils.mkdir_p('config')
13
+ copy('deploy.rb', 'config')
14
+ copy('Rakefile')
15
+ copy('Gemfile')
@@ -0,0 +1,35 @@
1
+ source :rubygems
2
+ source "http://gems.formrausch.com"
3
+
4
+ gem 'traktor' #includes vlad, racksh, thin...
5
+
6
+ gem 'sinatra'
7
+ gem 'sinatra-reloader'
8
+
9
+ gem 'rack-flash'
10
+ gem 'padrino'
11
+ gem 'builder'
12
+
13
+ gem 'dm-core'
14
+ gem 'dm-validations'
15
+ gem 'dm-migrations'
16
+ gem 'dm-timestamps'
17
+ gem 'dm-validations'
18
+ gem 'dm-migrations'
19
+ gem 'dm-types'
20
+
21
+ gem 'mime-types'
22
+
23
+ group :development do
24
+ gem 'sqlite3-ruby'
25
+ gem 'dm-sqlite-adapter'
26
+ end
27
+
28
+ group :production do
29
+ #gem 'dm-postgres-adapter'
30
+ gem 'dm-mysql-adapter'
31
+ end
32
+
33
+ gem 'compass'
34
+ gem 'fastercsv'
35
+
@@ -0,0 +1,13 @@
1
+ begin
2
+ require ::File.expand_path('../.bundle/environment', __FILE__)
3
+ rescue LoadError
4
+ require "rubygems"
5
+ require "bundler"
6
+ Bundler.setup
7
+ end
8
+
9
+ begin
10
+ require 'vlad'
11
+ require 'traktor'
12
+ Vlad.load :app => :passenger, :config => 'config/deploy.rb', :scm => :git
13
+ end
@@ -0,0 +1,6 @@
1
+ set :application, "name"
2
+ set :repository, "git@example.com:repo.git"
3
+ set :domain, "user@server"
4
+ set :web, 'http://example.de'
5
+
6
+
data/lib/helpers.rb ADDED
@@ -0,0 +1,32 @@
1
+ Rake::TaskManager.class_eval do
2
+ def remove_task(task_name)
3
+ @tasks.delete(task_name.to_s)
4
+ end
5
+ end
6
+
7
+ def remove_task(task_name)
8
+ Rake.application.remove_task(task_name)
9
+ end
10
+
11
+ def rake(target)
12
+ res = "cd #{current_release} && #{rake_cmd} RACK_ENV=#{rails_env} #{target}"
13
+ puts res
14
+ res
15
+ end
16
+
17
+ def console(cmd)
18
+ info "ssh #{domain} -t '#{cmd}'"
19
+ system "ssh #{domain} -t '#{cmd}'"
20
+ end
21
+
22
+ task :list do
23
+ info 'All Rake tasks defined by traktor'
24
+ info 'Tasks'
25
+ Rake.application.tasks.each do |task|
26
+ puts task
27
+ end
28
+ info 'Variables'
29
+ [web_command, user, deploy_to, scm_path, revision].each do |cmd|
30
+ puts cmd
31
+ end
32
+ end
data/lib/traktor.rb ADDED
@@ -0,0 +1,136 @@
1
+ # require 'vlad'
2
+ require 'renfield'
3
+ require 'hoe/rake'
4
+ require 'erb'
5
+ require 'tilt'
6
+ require 'helpers'
7
+
8
+ # ====== VARIABLES =======
9
+
10
+ set :web_command, "sudo /etc/init.d/nginx"
11
+ set :user, "deploy"
12
+
13
+ set :mkdir_shared, []
14
+ set :ln_shared, []
15
+
16
+ set(:application) { puts "Please define 'application' variable."; exit }
17
+ set(:web) { "http://#{domain.split(/@/).last}/" }
18
+ set(:deploy_to) { "/srv/web/#{application}" }
19
+ set(:scm_path) { "#{deploy_to}/scm" }
20
+ set(:revision) { `git rev-parse HEAD`.strip }
21
+
22
+
23
+ # ====== BUNDLER =======
24
+ namespace :bundler do
25
+ desc 'Install gems from Gemfile via bundler'
26
+ remote_task :install, :roles => :app do
27
+ info "Installing gems via bundler"
28
+ run "cd #{deploy_to}/current && bundle install --deployment --without development test"
29
+ end
30
+ end
31
+
32
+
33
+ # ====== VLAD =======
34
+ namespace :vlad do
35
+ desc 'Start Nginx'
36
+ remote_task :start_web, :roles => :app do
37
+ info "Restarting nginx"
38
+ run "#{web_command} restart"
39
+ end
40
+
41
+
42
+ desc 'Restart Passenger'
43
+ remote_task :start_app, :roles => :app do
44
+ info "Restarting passenger"
45
+ run "touch #{deploy_to}/current/tmp/restart.txt"
46
+ end
47
+
48
+
49
+ # === SHARED =====
50
+
51
+
52
+ remote_task :setup_app, :roles => :app do
53
+ info "Creating directories in shared"
54
+ unless mkdir_shared.empty?
55
+ run "umask #{umask} && mkdir -vp #{mkdir_shared.map {|d| File.join(shared_path, d)} * ' '}"
56
+ end
57
+ end
58
+
59
+
60
+ remote_task :update_symlinks, :roles => :app do
61
+ info "Setting up shared files and links"
62
+
63
+ info '** Copy ALL files inside shared/config to latest/config'
64
+ run "find #{shared_path}/config -type f | while read f; do cp -v $f #{latest_release}/${f\##{shared_path}/}; done"
65
+
66
+ info "** Link extra shared directories"
67
+ ln_shared.each do |d|
68
+ run "ln -sfn #{shared_path}/#{d} #{latest_release}/#{d}"
69
+ end
70
+
71
+ info "** Link shared to latest/config/shared"
72
+ run "ln -sfn #{shared_path} #{latest_release}/config/shared"
73
+
74
+ info "** Saving current revision (#{revision}) to /REVISION"
75
+ run "echo #{revision} > #{latest_release}/REVISION"
76
+ end
77
+
78
+
79
+ # === CONFIG NGINX =====
80
+
81
+ desc 'Compile config files'
82
+ remote_task :compile, :roles => :app do
83
+ info "Compiling config files"
84
+
85
+ Dir['config/*.erb'].each do |file|
86
+ info "** Rendering #{file}"
87
+ template = Tilt.new(file)
88
+ info template.render
89
+ run "echo \"#{template.render}\" > #{shared_path}/#{file.split('.erb').first}"
90
+ end
91
+ end
92
+
93
+ namespace :maintenance do
94
+ task :check do
95
+ if !File.exist? 'public/maintenance.html'
96
+ error "Create maintenance.html in /public"
97
+ exit
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+
104
+ # ====== REMOTE =======
105
+ namespace :remote do
106
+ namespace :app do
107
+ task :logs do
108
+ console("tail -f #{deploy_to}/shared/logs/production.log")
109
+ end
110
+
111
+ task :console do
112
+ console("cd #{deploy_to}/current && RACK_ENV=production bundle exec racksh")
113
+ end
114
+
115
+ desc "Start the app with first request"
116
+ remote_task :request do
117
+ info "Pinging #{application} at #{web}"
118
+ run "curl -I #{web}/"
119
+ end
120
+ end
121
+ end
122
+
123
+ desc 'Deploy and Restart the application'
124
+ task :deploy => ['vlad:maintenance:check', 'vlad:confirm', 'vlad:maintenance:set', 'vlad:update', 'vlad:update_symlinks', 'bundler:install', 'vlad:migrate', 'vlad:start_app', "vlad:maintenance:remove", 'remote:app:request']
125
+
126
+ desc 'Create remote directory structure'
127
+ task :setup => ['vlad:setup', 'vlad:setup_app']
128
+
129
+ desc 'Compile erb files in config and restart nginx-server'
130
+ task :reload_nginx => ["vlad:compile", "vlad:start_web"]
131
+
132
+ desc 'Tail remote logs'
133
+ task :logs => 'remote:app:logs'
134
+
135
+ desc 'Remote app console'
136
+ task :console => 'remote:app:console'
@@ -0,0 +1,3 @@
1
+ module Traktor
2
+ VERSION = "0.3.5.2"
3
+ end
metadata ADDED
@@ -0,0 +1,234 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: traktor
3
+ version: !ruby/object:Gem::Version
4
+ hash: 71
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 5
10
+ - 2
11
+ version: 0.3.5.2
12
+ platform: ruby
13
+ authors:
14
+ - Thomas Winkler
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-11-04 00:00:00 +01:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: shoulda
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :development
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: hoe
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 19
45
+ segments:
46
+ - 2
47
+ - 6
48
+ - 2
49
+ version: 2.6.2
50
+ type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: renfield
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 0
63
+ version: "0"
64
+ type: :runtime
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: tilt
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: 3
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ type: :runtime
79
+ version_requirements: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ name: vlad
82
+ prerelease: false
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ type: :runtime
93
+ version_requirements: *id005
94
+ - !ruby/object:Gem::Dependency
95
+ name: vlad-git
96
+ prerelease: false
97
+ requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 3
103
+ segments:
104
+ - 0
105
+ version: "0"
106
+ type: :runtime
107
+ version_requirements: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ name: vlad-extras
110
+ prerelease: false
111
+ requirement: &id007 !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 3
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ type: :runtime
121
+ version_requirements: *id007
122
+ - !ruby/object:Gem::Dependency
123
+ name: racksh
124
+ prerelease: false
125
+ requirement: &id008 !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ hash: 3
131
+ segments:
132
+ - 0
133
+ version: "0"
134
+ type: :runtime
135
+ version_requirements: *id008
136
+ - !ruby/object:Gem::Dependency
137
+ name: thin
138
+ prerelease: false
139
+ requirement: &id009 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ hash: 3
145
+ segments:
146
+ - 0
147
+ version: "0"
148
+ type: :runtime
149
+ version_requirements: *id009
150
+ - !ruby/object:Gem::Dependency
151
+ name: rack
152
+ prerelease: false
153
+ requirement: &id010 !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ hash: 3
159
+ segments:
160
+ - 0
161
+ version: "0"
162
+ type: :runtime
163
+ version_requirements: *id010
164
+ - !ruby/object:Gem::Dependency
165
+ name: haml
166
+ prerelease: false
167
+ requirement: &id011 !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
174
+ - 0
175
+ version: "0"
176
+ type: :runtime
177
+ version_requirements: *id011
178
+ description: Formrausch addtions to vlad deployment. Many new defaults.
179
+ email:
180
+ - tom@formrausch.com.com
181
+ executables:
182
+ - traktor
183
+ extensions: []
184
+
185
+ extra_rdoc_files: []
186
+
187
+ files:
188
+ - bin/traktor
189
+ - lib/generators/deploy.rb
190
+ - lib/generators/Gemfile
191
+ - lib/generators/Rakefile
192
+ - lib/helpers.rb
193
+ - lib/traktor/version.rb
194
+ - lib/traktor.rb
195
+ - LICENSE
196
+ - README.md
197
+ has_rdoc: true
198
+ homepage: http://formrausch.com
199
+ licenses: []
200
+
201
+ post_install_message:
202
+ rdoc_options: []
203
+
204
+ require_paths:
205
+ - lib
206
+ required_ruby_version: !ruby/object:Gem::Requirement
207
+ none: false
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ hash: 3
212
+ segments:
213
+ - 0
214
+ version: "0"
215
+ required_rubygems_version: !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ hash: 23
221
+ segments:
222
+ - 1
223
+ - 3
224
+ - 6
225
+ version: 1.3.6
226
+ requirements: []
227
+
228
+ rubyforge_project: traktor
229
+ rubygems_version: 1.3.7
230
+ signing_key:
231
+ specification_version: 3
232
+ summary: Formrausch vlad deploy additions
233
+ test_files: []
234
+