centostrano 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 (121) hide show
  1. data/CHANGELOG +215 -0
  2. data/COPYING +19 -0
  3. data/LICENSE +339 -0
  4. data/README +166 -0
  5. data/THANKS +5 -0
  6. data/bin/centify +137 -0
  7. data/docs/ANNOUNCE.deprec2 +47 -0
  8. data/docs/README.install +88 -0
  9. data/docs/README.nagios +28 -0
  10. data/docs/README.rails +20 -0
  11. data/docs/README.svn +31 -0
  12. data/docs/ROADMAP.txt +74 -0
  13. data/docs/deprec-1.x/deprec-1.x.quickstart +50 -0
  14. data/docs/deprec-1.x/notes.txt +12 -0
  15. data/docs/deprec_banner.gif +0 -0
  16. data/lib/centostrano.rb +9 -0
  17. data/lib/deprec/capistrano_extensions.rb +391 -0
  18. data/lib/deprec/centostrano.rb +46 -0
  19. data/lib/deprec/recipes/apache.rb +188 -0
  20. data/lib/deprec/recipes/canonical.rb +57 -0
  21. data/lib/deprec/recipes/deprec.rb +188 -0
  22. data/lib/deprec/recipes/deprecated.rb +71 -0
  23. data/lib/deprec/recipes/example.rb +115 -0
  24. data/lib/deprec/recipes/git.rb +106 -0
  25. data/lib/deprec/recipes/gitosis.rb +134 -0
  26. data/lib/deprec/recipes/logrotate.rb +54 -0
  27. data/lib/deprec/recipes/memcache.rb +53 -0
  28. data/lib/deprec/recipes/merb.rb +57 -0
  29. data/lib/deprec/recipes/mongrel.rb +220 -0
  30. data/lib/deprec/recipes/monit.rb +139 -0
  31. data/lib/deprec/recipes/mysql.rb +147 -0
  32. data/lib/deprec/recipes/nginx.rb +172 -0
  33. data/lib/deprec/recipes/postgresql.rb +132 -0
  34. data/lib/deprec/recipes/rails.rb +297 -0
  35. data/lib/deprec/recipes/ruby.rb +71 -0
  36. data/lib/deprec/recipes/sphinx.rb +89 -0
  37. data/lib/deprec/recipes/ssh.rb +93 -0
  38. data/lib/deprec/recipes/svn.rb +167 -0
  39. data/lib/deprec/recipes/users.rb +90 -0
  40. data/lib/deprec/recipes.rb +33 -0
  41. data/lib/deprec/templates/aoe/aoe-init +55 -0
  42. data/lib/deprec/templates/aoe/fence_aoemask +351 -0
  43. data/lib/deprec/templates/apache/httpd-vhost-app.conf.erb +144 -0
  44. data/lib/deprec/templates/apache/httpd.conf +465 -0
  45. data/lib/deprec/templates/apache/index.html.erb +37 -0
  46. data/lib/deprec/templates/apache/master.css +72 -0
  47. data/lib/deprec/templates/centos/repository.erb +6 -0
  48. data/lib/deprec/templates/coraid/aoe-init +55 -0
  49. data/lib/deprec/templates/deprec/caprc.erb +14 -0
  50. data/lib/deprec/templates/heartbeat/authkeys.erb +2 -0
  51. data/lib/deprec/templates/heartbeat/ha.cf.erb +15 -0
  52. data/lib/deprec/templates/heartbeat/haresources.erb +1 -0
  53. data/lib/deprec/templates/logrotate/logrotate.conf.erb +32 -0
  54. data/lib/deprec/templates/mongrel/logrotate.conf.erb +11 -0
  55. data/lib/deprec/templates/mongrel/logrotate.erb +0 -0
  56. data/lib/deprec/templates/mongrel/mongrel_cluster-init-script +54 -0
  57. data/lib/deprec/templates/mongrel/mongrel_cluster.logrotate.d +14 -0
  58. data/lib/deprec/templates/mongrel/mongrel_cluster.yml.erb +10 -0
  59. data/lib/deprec/templates/mongrel/monit.conf.erb +17 -0
  60. data/lib/deprec/templates/monit/monit-init-script +104 -0
  61. data/lib/deprec/templates/monit/monitrc.erb +227 -0
  62. data/lib/deprec/templates/monit/nothing +0 -0
  63. data/lib/deprec/templates/mysql/create_databases.sql +20 -0
  64. data/lib/deprec/templates/mysql/database.yml.prod +6 -0
  65. data/lib/deprec/templates/mysql/database.yml.stage +6 -0
  66. data/lib/deprec/templates/mysql/my.cnf.erb +140 -0
  67. data/lib/deprec/templates/mysql/sphinx.conf.prod +542 -0
  68. data/lib/deprec/templates/mysql/sphinx.conf.stage +542 -0
  69. data/lib/deprec/templates/nagios/cgi.cfg.erb +321 -0
  70. data/lib/deprec/templates/nagios/commands.cfg.erb +240 -0
  71. data/lib/deprec/templates/nagios/contacts.cfg.erb +57 -0
  72. data/lib/deprec/templates/nagios/hosts.cfg.erb +143 -0
  73. data/lib/deprec/templates/nagios/htpasswd.users +1 -0
  74. data/lib/deprec/templates/nagios/localhost.cfg.erb +157 -0
  75. data/lib/deprec/templates/nagios/nagios.cfg.erb +1274 -0
  76. data/lib/deprec/templates/nagios/nagios_apache_vhost.conf.erb +45 -0
  77. data/lib/deprec/templates/nagios/nrpe.cfg.erb +210 -0
  78. data/lib/deprec/templates/nagios/nrpe.xinetd.erb +16 -0
  79. data/lib/deprec/templates/nagios/resource.cfg.erb +34 -0
  80. data/lib/deprec/templates/nagios/services.cfg.erb +79 -0
  81. data/lib/deprec/templates/nagios/templates.cfg.erb +9 -0
  82. data/lib/deprec/templates/nagios/timeperiods.cfg.erb +94 -0
  83. data/lib/deprec/templates/network/hostname.erb +1 -0
  84. data/lib/deprec/templates/network/hosts.erb +2 -0
  85. data/lib/deprec/templates/network/interfaces.erb +22 -0
  86. data/lib/deprec/templates/nginx/logrotate.conf.erb +13 -0
  87. data/lib/deprec/templates/nginx/logrotate.erb +0 -0
  88. data/lib/deprec/templates/nginx/mime.types.erb +70 -0
  89. data/lib/deprec/templates/nginx/nginx-init-script +109 -0
  90. data/lib/deprec/templates/nginx/nginx.conf.erb +120 -0
  91. data/lib/deprec/templates/nginx/nginx.logrotate.d +12 -0
  92. data/lib/deprec/templates/nginx/nothing.conf +1 -0
  93. data/lib/deprec/templates/nginx/rails_nginx_vhost.conf.erb +41 -0
  94. data/lib/deprec/templates/ntp/ntp.conf.erb +42 -0
  95. data/lib/deprec/templates/postfix/aliases.erb +3 -0
  96. data/lib/deprec/templates/postfix/dynamicmaps.cf.erb +8 -0
  97. data/lib/deprec/templates/postfix/main.cf.erb +41 -0
  98. data/lib/deprec/templates/postfix/master.cf.erb +77 -0
  99. data/lib/deprec/templates/postgresql/pg_hba.conf.erb +76 -0
  100. data/lib/deprec/templates/sphinx/monit.conf.erb +5 -0
  101. data/lib/deprec/templates/ssh/ssh_config.erb +50 -0
  102. data/lib/deprec/templates/ssh/sshd_config.erb +78 -0
  103. data/lib/deprec/templates/subversion/svn.apache.vhost.erb +43 -0
  104. data/lib/deprec/templates/trac/apache_vhost.conf.erb +24 -0
  105. data/lib/deprec/templates/trac/trac.ini.erb +106 -0
  106. data/lib/deprec/templates/trac/trac_deprec.png +0 -0
  107. data/lib/deprec/templates/trac/tracd-init.erb +43 -0
  108. data/lib/deprec/templates/xen/15-disable-hwclock +40 -0
  109. data/lib/deprec/templates/xen/network-bridge-wrapper +3 -0
  110. data/lib/deprec/templates/xen/xen-tools.conf.erb +220 -0
  111. data/lib/deprec/templates/xen/xend-config.sxp.erb +195 -0
  112. data/lib/deprec/templates/xen/xend-init.erb +69 -0
  113. data/lib/deprec/templates/xen/xendomains.erb +137 -0
  114. data/lib/deprec/templates/xen/xm.tmpl.erb +85 -0
  115. data/lib/deprec_cmd_completion.sh +26 -0
  116. data/lib/vmbuilder_plugins/all.rb +20 -0
  117. data/lib/vmbuilder_plugins/apt.rb +93 -0
  118. data/lib/vmbuilder_plugins/emerge.rb +76 -0
  119. data/lib/vmbuilder_plugins/gem.rb +90 -0
  120. data/lib/vmbuilder_plugins/std.rb +203 -0
  121. metadata +207 -0
@@ -0,0 +1,71 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+
4
+ # deprecated tasks from deprec1
5
+ # we're now using namespaces and some different naming conventions
6
+
7
+ # XXX use deprecated function to generate these dynamically
8
+
9
+ deprec2_isnt_backwards_compatible = <<-EOF
10
+
11
+ You've installed deprec2 but seem to be using a deprec1 command.
12
+
13
+ You have two options:
14
+
15
+ - install deprec-1.9.x and continue using deprec1
16
+
17
+ Instructions are available at http://www.deprec.org/
18
+
19
+ - use deprec2
20
+
21
+ EOF
22
+
23
+ cap2_warning = <<-EOF
24
+
25
+ You're using Capistrano 2 but using a deprecated cap1 command.
26
+
27
+ EOF
28
+
29
+ task :setup_admin_account do
30
+ puts deprec2_isnt_backwards_compatible
31
+ puts " Replace 'cap setup_admin_account' with 'cap deprec:users:add'"
32
+ puts
33
+ end
34
+
35
+ task :change_root_password do
36
+ puts deprec2_isnt_backwards_compatible
37
+ puts " Replace 'cap change_root_password' with 'cap deprec:users:passwd'"
38
+ puts
39
+ end
40
+
41
+ task :setup_ssh_keys do
42
+ puts deprec2_isnt_backwards_compatible
43
+ puts " Replace 'cap setup_ssh_keys' with 'cap deprec:ssh:setup_keys'"
44
+ puts
45
+ end
46
+
47
+ task :install_rails_stack do
48
+ puts deprec2_isnt_backwards_compatible
49
+ puts " Replace 'cap install_rails_stack' with 'cap deprec:rails:install_rails_stack'"
50
+ puts
51
+ end
52
+
53
+ task :setup do
54
+ puts deprec2_isnt_backwards_compatible
55
+ puts " Replace 'cap setup' with 'cap deploy:setup'"
56
+ puts
57
+ end
58
+
59
+ task :restart_apache do
60
+ puts deprec2_isnt_backwards_compatible
61
+ puts " Replace 'cap restart_apache' with 'cap deprec:apache:restart'"
62
+ puts
63
+ end
64
+
65
+ task :show_tasks do
66
+ puts deprec2_isnt_backwards_compatible
67
+ puts " Replace 'cap show-tasks' with 'cap -T'"
68
+ puts
69
+ end
70
+
71
+ end
@@ -0,0 +1,115 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :deprec do
4
+ namespace :example do
5
+
6
+ SRC_PACKAGES[:example] = {
7
+ :filename => 'example-1.2.3.tar.gz',
8
+ :md5sum => "d050a49bd72222ec21c6bb593b3473a5d example-1.2.3.tar.gz",
9
+ :dir => 'example-1.2.3',
10
+ :url => "http://www.example.org/dist/example/example-1.2.3.tar.gz",
11
+ :unpack => "tar zxf example-1.2.3.tar.gz;",
12
+ :configure => %w(
13
+ ./configure
14
+ --enable-mods-shared=all
15
+ --enable-proxy
16
+ ;
17
+ ).reject{|arg| arg.match '#'}.join(' '),
18
+ :make => 'make;',
19
+ :install => 'make install;',
20
+ :post_install => 'install -b support/apachectl /etc/init.d/httpd;'
21
+ }
22
+
23
+ desc "Install example"
24
+ task :install, :roles => :web do
25
+ install_deps
26
+ deprec2.download_src(SRC_PACKAGES[:example], src_dir)
27
+ deprec2.install_from_src(SRC_PACKAGES[:example], src_dir)
28
+ end
29
+
30
+ task :install_deps do
31
+ apt.install( {:base => %w(build-essential zlib1g-dev)}, :stable )
32
+ end
33
+
34
+ SYSTEM_CONFIG_FILES[:example] = [
35
+
36
+ {:template => "example.conf.erb",
37
+ :path => '/etc/example/example.conf',
38
+ :mode => 0755,
39
+ :owner => 'root:root'}
40
+
41
+ ]
42
+
43
+ PROJECT_CONFIG_FILES[:example] = [
44
+
45
+ {:template => "example.conf.erb",
46
+ :path => 'conf/example.conf',
47
+ :mode => 0755,
48
+ :owner => 'root:root'}
49
+ ]
50
+
51
+
52
+ desc "Generate configuration file(s) for XXX from template(s)"
53
+ task :config_gen do
54
+ config_gen_system
55
+ config_gen_project
56
+ end
57
+
58
+ task :config_gen_system do
59
+ SYSTEM_CONFIG_FILES[:example].each do |file|
60
+ deprec2.render_template(:example, file)
61
+ end
62
+ end
63
+
64
+ task :config_gen_project do
65
+ PROJECT_CONFIG_FILES[:example].each do |file|
66
+ deprec2.render_template(:example, file)
67
+ end
68
+ end
69
+
70
+ desc 'Deploy configuration files(s) for XXX'
71
+ task :config, :roles => :web do
72
+ config_system
73
+ config_project
74
+ end
75
+
76
+ task :config_system, :roles => :web do
77
+ deprec2.push_configs(:example, SYSTEM_CONFIG_FILES[:example])
78
+ end
79
+
80
+ task :config_project, :roles => :web do
81
+ deprec2.push_configs(:example, PROJECT_CONFIG_FILES[:example])
82
+ end
83
+
84
+
85
+ task :start, :roles => :web do
86
+ send(run_method, "/etc/init.d/example reload")
87
+ end
88
+
89
+ task :stop, :roles => :web do
90
+ send(run_method, "/etc/init.d/example reload")
91
+ end
92
+
93
+ task :restart, :roles => :web do
94
+ send(run_method, "/etc/init.d/example restart")
95
+ end
96
+
97
+ task :reload, :roles => :web do
98
+ send(run_method, "/etc/init.d/example reload")
99
+ end
100
+
101
+ task :activate, :roles => :web do
102
+ end
103
+
104
+ task :deactivate, :roles => :web do
105
+ end
106
+
107
+ task :backup, :roles => :web do
108
+ end
109
+
110
+ task :restore, :roles => :web do
111
+ end
112
+
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,106 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :centos do
4
+ namespace :git do
5
+
6
+ set :git_user, 'git'
7
+ set :git_group, 'git'
8
+ set :git_port, '9418'
9
+ set :git_keys_file, '/home/git/.ssh/authorized_keys'
10
+ set :git_root, '/var/git'
11
+
12
+ =begin
13
+ SRC_PACKAGES[:git] = {
14
+ :filename => 'git-1.5.5.4.tar.gz',
15
+ :md5sum => "8255894042c8a6db07227475b8b4622f git-1.5.5.4.tar.gz",
16
+ :dir => 'git-1.5.5.4',
17
+ :url => "http://kernel.org/pub/software/scm/git/git-1.5.5.4.tar.gz",
18
+ :unpack => "tar zxf git-1.5.5.4.tar.gz;",
19
+ :configure => %w(
20
+ ./configure
21
+ ;
22
+ ).reject{|arg| arg.match '#'}.join(' '),
23
+ :make => 'make;',
24
+ :install => 'make install;'
25
+ }
26
+ =end
27
+
28
+ desc "Install git"
29
+ task :install do
30
+ install_deps
31
+ end
32
+
33
+ # install dependencies for git
34
+ task :install_deps do
35
+ yum.enable_repository :epel
36
+ apt.install( {:base => %w(git)}, :stable)
37
+ end
38
+
39
+
40
+ # "Start git server in local directory"
41
+ task :serve do
42
+ cmd = "git-daemon --verbose --port=#{git_port} --base-path=#{Dir.pwd} --base-path-relaxed"
43
+ puts cmd
44
+ `#{cmd}`
45
+ end
46
+
47
+ desc "Create git repos for current dir"
48
+ task :init do
49
+ `git init`
50
+ create_gitignore
51
+ create_files_in_empty_dirs
52
+ `git add . && git commit -m 'initial import'`
53
+ end
54
+
55
+ task :create_gitignore do
56
+ system("echo '.DS_Store' >> .gitignore") # files sometimes created by OSX
57
+ system("echo 'log/*' >> .gitignore") if File.directory?('log')
58
+ system("echo 'tmp/**/*' >> .gitignore") if File.directory?('tmp')
59
+ end
60
+
61
+ task :create_files_in_empty_dirs do
62
+ %w(log tmp).each { |dir|
63
+ system("touch #{dir}/.gitignore") if File.directory?(dir)
64
+ }
65
+ end
66
+
67
+ desc "Create remote origin for current dir"
68
+ task :create_remote_origin do
69
+ File.directory?('.git') || init
70
+
71
+ # Push to remote git repo
72
+ hostname = capture "echo $CAPISTRANO:HOST$"
73
+ system "git remote add origin git@#{hostname.chomp}:#{application}"
74
+ system "git push origin master:refs/heads/master"
75
+
76
+ puts
77
+ puts "New remote Git repo: #{git_user}@#{hostname.chomp}:#{application}"
78
+ puts
79
+
80
+ # File.open('.git/config', 'w') do |c|
81
+ # c.write 'Add the following to .git/config'
82
+ # c.write '[branch "master"]'
83
+ # c.write ' remote = origin'
84
+ # c.write ' merge = refs/heads/master'
85
+ # end
86
+
87
+ end
88
+
89
+ # Create root dir for git repositories
90
+ task :create_git_root do
91
+ deprec2.mkdir(git_root, :mode => 02775, :owner => git_user, :group => git_group, :via => :sudo)
92
+ sudo "chmod -R g+w #{git_root}"
93
+ end
94
+
95
+ # regenerate git authorized keys file from users file in same dir
96
+ task :regenerate_authorized_keys do
97
+ sudo "echo '' > #{git_keys_file}"
98
+ sudo "for file in `ls #{git_keys_file}-*`; do cat $file >> #{git_keys_file}; echo \"\n\" >> #{git_keys_file} ; done"
99
+ sudo "chown #{git_user}.#{git_group} #{git_keys_file}"
100
+ sudo "chmod 0600 #{git_keys_file}"
101
+ end
102
+
103
+
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,134 @@
1
+ # Copyright 2008 by Saulius Grigaitis. All rights reserved.
2
+ require 'fileutils'
3
+ require 'uri'
4
+ require 'optparse'
5
+
6
+ Capistrano::Configuration.instance(:must_exist).load do
7
+ namespace :centos do namespace :gitosis do
8
+
9
+ set :scm_group, 'scm'
10
+
11
+ set(:git_backup_dir) { File.join(backup_dir, 'git') }
12
+
13
+ desc "Install Gitosis"
14
+ task :install, :roles => :scm do
15
+ install_deps
16
+
17
+ deprec2.groupadd(scm_group)
18
+ deprec2.useradd("git", { :gecos => 'git version control', :shell => '/bin/sh', :group => scm_group, :homedir => "/home/git"})
19
+ sudo "/usr/bin/passwd -u -f git"
20
+ deprec2.add_user_to_group("git", scm_group)
21
+
22
+ package_dir = File.join(src_dir, 'gitosis')
23
+ sudo <<-SUDO
24
+ sh -c 'cd #{src_dir};
25
+ test -d #{package_dir}.old && rm -fr #{package_dir}.old;
26
+ test -d #{package_dir} && mv #{package_dir} #{package_dir}.old;
27
+ git clone git://eagain.net/gitosis.git #{package_dir};
28
+ chown -R #{user} #{package_dir};
29
+ chmod -R g+w #{package_dir};
30
+ cd #{package_dir};
31
+ python setup.py install'
32
+ SUDO
33
+
34
+
35
+ unless ssh_options[:keys]
36
+ puts <<-ERROR
37
+
38
+ You need to define the name of your SSH key(s)
39
+ e.g. ssh_options[:keys] = %w(/Users/your_username/.ssh/id_rsa)
40
+
41
+ You can put this in your .caprc file in your home directory.
42
+
43
+ ERROR
44
+ exit
45
+ end
46
+
47
+ put File.read(ssh_options[:keys].first + ".pub"), "/tmp/id_rsa.pub", :mode => 0600
48
+ sudo "sudo -H -u git gitosis-init < /tmp/id_rsa.pub"
49
+ sudo "sudo rm /tmp/id_rsa.pub"
50
+ sudo "sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update"
51
+ end
52
+
53
+ desc "install dependencies for git"
54
+ task :install_deps do
55
+ yum.enable_repository :epel
56
+ apt.install( {:base => %w(git python-devel python-setuptools)}, :stable)
57
+ end
58
+
59
+ desc "Create remote git repository and import project into it"
60
+ task :setup_repo, :roles => :scm do
61
+ path_dir = "config/gitosis"
62
+ FileUtils.mkdir_p(path_dir) if !File.directory?(path_dir)
63
+ system("git clone git@#{domain}:gitosis-admin.git config/gitosis/gitosis-admin.git") if !File.exists?("#{path_dir}/gitosis-admin.git")
64
+
65
+ create_repos
66
+ create_local_repos
67
+ push
68
+ end
69
+
70
+ desc "Create a git repository"
71
+ task :create_repos, :roles => :scm do
72
+ gitosis_admin = File.open(ssh_options[:keys].first + ".pub", "r") do |line|
73
+ line.gets.split(" ").last
74
+ end
75
+ # create key pair if it doesn't exist, and fetch public key
76
+ run "sh -c 'test -f /home/#{user}/.ssh/id_rsa.pub || /usr/bin/ssh-keygen -q -t rsa -N \"\" -f /home/#{user}/.ssh/id_rsa >&/dev/null'"
77
+ #run "chmod 600 /home/#{user}/.ssh/id_rsa && chmod 644 /home/#{user}/.ssh/id_rsa.pub"
78
+ get("/home/#{user}/.ssh/id_rsa.pub", "config/gitosis/gitosis_server.pub")
79
+ gitosis_server = File.open("config/gitosis/gitosis_server.pub", "r") do |line|
80
+ line.gets.split(" ").last
81
+ end
82
+ system("mv config/gitosis/gitosis_server.pub config/gitosis/gitosis-admin.git/keydir/#{gitosis_server}.pub")
83
+ gitosis_conf = <<-GITOSIS
84
+
85
+ [group #{application}]
86
+ writable = #{application}
87
+ members = #{gitosis_admin} #{gitosis_server}
88
+
89
+ GITOSIS
90
+
91
+ File.open("config/gitosis/gitosis-admin.git/gitosis.conf", "a") { |f| f.write(gitosis_conf) }
92
+ system "cd config/gitosis/gitosis-admin.git && git add . && git commit -m \"Added repository #{application} and write permission to user #{gitosis_admin}\" && git push"
93
+ end
94
+
95
+ desc "Create git repository in local project"
96
+ task :create_local_repos do
97
+ unless File.exists?(".git")
98
+ system("git init")
99
+ system("git remote add origin git@#{domain}:#{application}.git")
100
+ system("git add .")
101
+ system("git commit -a -m 'Initial import'")
102
+ end
103
+ end
104
+
105
+ desc "Import project into git repository."
106
+ task :push, :roles => :scm do
107
+ add_ignores
108
+ puts "Importing application."
109
+ system "git push git@#{domain}:#{application}.git master:refs/heads/master"
110
+ system "git-config --add branch.master.remote origin"
111
+ system "git-config --add branch.master.merge refs/heads/master"
112
+ puts "Your repository is: git@#{domain}:#{application}.git"
113
+ end
114
+
115
+ desc "ignore log files, tmp"
116
+ task :add_ignores, :roles => :scm do
117
+ ignore = <<-FILE
118
+ .DS_Store
119
+ log/*.log
120
+ tmp/**/*
121
+ db/*.sqlite3
122
+ config/gitosis
123
+ FILE
124
+ ["log", "tmp/cache", "tmp/pids", "tmp/sessions", "tmp/sockets"].each do |dir|
125
+ system("touch #{dir}/.gitignore")
126
+ end
127
+ File.open(".gitignore", "w") { |f| f.write(ignore.strip.gsub(/^#{ignore[/\A\s*/]}/, "")) }
128
+ system "find . -type d -empty | xargs -I {} touch {}/.gitignore"
129
+ system "git add ."
130
+ system "git commit -a -m 'Touched .gitignore to emtpy folders, ignored log files, tmp, sqlite3 db'"
131
+ end
132
+
133
+ end end
134
+ end
@@ -0,0 +1,54 @@
1
+ # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :centos do
4
+ namespace :logrotate do
5
+
6
+ # Install
7
+
8
+ desc "Install logrotate"
9
+ task :install do
10
+ install_deps
11
+ SYSTEM_CONFIG_FILES[:logrotate].each do |file|
12
+ deprec2.render_template(:logrotate, file.merge(:remote => true))
13
+ end
14
+ end
15
+
16
+ # install dependencies for nginx
17
+ task :install_deps do
18
+ apt.install( {:base => %w(logrotate)}, :stable )
19
+ end
20
+
21
+ # Configure
22
+
23
+ SYSTEM_CONFIG_FILES[:logrotate] = [
24
+
25
+ {:template => 'logrotate.conf.erb',
26
+ :path => '/etc/logrotate.conf',
27
+ :mode => 0755,
28
+ :owner => 'root:root'}
29
+ ]
30
+
31
+ desc "Generate logrotate config from template."
32
+ task :config_gen do
33
+ SYSTEM_CONFIG_FILES[:logrotate].each do |file|
34
+ deprec2.render_template(:logrotate, file)
35
+ end
36
+ end
37
+
38
+ desc "Push logrotate config files to server"
39
+ task :config do
40
+ deprec2.push_configs(:logrotate, SYSTEM_CONFIG_FILES[:logrotate])
41
+ end
42
+
43
+ # Control
44
+ #
45
+ # logrotate is run via cron with a script in /etc/cron.daily/logrotate
46
+
47
+ desc "Force logrotate to run"
48
+ task :force do
49
+ sudo "logrotate -f /etc/logrotate.conf"
50
+ end
51
+
52
+ end
53
+ end
54
+ end