capitate 0.1.9 → 0.2.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 (78) hide show
  1. data/Capfile +3 -2
  2. data/History.txt +6 -0
  3. data/Manifest.txt +28 -11
  4. data/bin/capitate +13 -61
  5. data/config/hoe.rb +2 -2
  6. data/docs/nginx.README +12 -0
  7. data/docs/recipes/centos.txt +33 -0
  8. data/docs/recipes/deploy-pending.txt +25 -0
  9. data/docs/recipes/deploy-web.txt +33 -0
  10. data/docs/recipes/deploy.txt +159 -0
  11. data/docs/recipes/docs.txt +26 -0
  12. data/docs/recipes/imagemagick-centos.txt +20 -0
  13. data/docs/recipes/imagemagick.txt +8 -0
  14. data/docs/recipes/index.txt +26 -0
  15. data/docs/recipes/memcached-centos.txt +32 -0
  16. data/docs/recipes/memcached.txt +35 -0
  17. data/docs/recipes/mongrel_cluster-centos.txt +27 -0
  18. data/docs/recipes/mongrel_cluster.txt +40 -0
  19. data/docs/recipes/monit-centos.txt +32 -0
  20. data/docs/recipes/monit.txt +8 -0
  21. data/docs/recipes/mysql-centos.txt +22 -0
  22. data/docs/recipes/mysql.txt +58 -0
  23. data/docs/recipes/nginx-centos.txt +43 -0
  24. data/docs/recipes/nginx.txt +51 -0
  25. data/docs/recipes/rails.txt +58 -0
  26. data/docs/recipes/ruby-centos.txt +22 -0
  27. data/docs/recipes/ruby.txt +8 -0
  28. data/docs/recipes/sphinx-centos.txt +35 -0
  29. data/docs/recipes/sphinx.txt +89 -0
  30. data/lib/capitate/cap_ext/run_via.rb +14 -0
  31. data/lib/capitate/plugins/gem.rb +2 -3
  32. data/lib/capitate/plugins/prompt.rb +24 -0
  33. data/lib/capitate/plugins/script.rb +29 -15
  34. data/lib/capitate/plugins/templates.rb +45 -40
  35. data/lib/capitate/plugins/yum.rb +12 -22
  36. data/lib/capitate/task_node.rb +28 -9
  37. data/lib/capitate/version.rb +2 -2
  38. data/lib/capitate.rb +4 -5
  39. data/lib/deployment/deploy.rb +42 -0
  40. data/lib/deployment/install-centos-rubyweb.rb +131 -0
  41. data/lib/recipes/centos/centos.rb +30 -21
  42. data/lib/recipes/centos/imagemagick.rb +9 -8
  43. data/lib/recipes/centos/memcached.rb +11 -21
  44. data/lib/recipes/centos/mongrel_cluster.rb +7 -11
  45. data/lib/recipes/centos/monit.rb +13 -18
  46. data/lib/recipes/centos/mysql.rb +6 -9
  47. data/lib/recipes/centos/nginx.rb +17 -30
  48. data/lib/recipes/centos/ruby.rb +14 -19
  49. data/lib/recipes/centos/sphinx.rb +14 -28
  50. data/lib/recipes/docs.rb +22 -6
  51. data/lib/recipes/memcached.rb +14 -8
  52. data/lib/recipes/mongrel_cluster.rb +11 -14
  53. data/lib/recipes/mysql.rb +22 -40
  54. data/lib/recipes/nginx.rb +9 -4
  55. data/lib/recipes/rails.rb +53 -6
  56. data/lib/recipes/sphinx.rb +86 -17
  57. data/lib/templates/capistrano/Capfile +2 -6
  58. data/lib/templates/monit/cert.sh +1 -1
  59. data/lib/templates/mysql/install_db.sql.erb +2 -2
  60. data/lib/templates/sphinx/sphinx.conf.erb +28 -399
  61. data/lib/templates/sphinx/sphinx_app.initd.centos.erb +1 -1
  62. data/website/index.html +20 -34
  63. data/website/index.txt +12 -22
  64. data/website/stylesheets/screen.css +22 -11
  65. data/website/template.rhtml +7 -5
  66. data/website/template_recipe.rhtml +7 -3
  67. metadata +55 -15
  68. data/lib/capitate/plugins/package.rb +0 -30
  69. data/lib/capitate/plugins/profiles.rb +0 -33
  70. data/lib/capitate/plugins/wget.rb +0 -23
  71. data/lib/profiles/centos-sick.rb +0 -116
  72. data/lib/recipes/README +0 -5
  73. data/lib/recipes/centos/README +0 -3
  74. data/lib/recipes/gems.rb +0 -20
  75. data/lib/recipes/packages.rb +0 -39
  76. data/lib/recipes/recipes.rb +0 -30
  77. data/lib/templates/centos/setup_for_web.sh +0 -17
  78. data/lib/templates/centos/sudoers +0 -95
data/lib/recipes/gems.rb DELETED
@@ -1,20 +0,0 @@
1
- namespace :gems do
2
-
3
- desc <<-DESC
4
- Install gems.
5
-
6
- set :gem_list, [
7
- "rake",
8
- "mysql -- --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql --with-mysql-config",
9
- "raspell"
10
- ]
11
-
12
- DESC
13
- task :install do
14
- # Settings
15
- fetch(:gem_list)
16
-
17
- gemc.install(gem_list)
18
- end
19
-
20
- end
@@ -1,39 +0,0 @@
1
- namespace :packages do
2
-
3
- desc <<-DESC
4
- Remove, update and install packages.
5
-
6
- packages_type: Package manager type. Currently can only be :yum. \n\nTODO: Support more package managers.
7
-
8
- set :packages_type, :yum
9
-
10
- packages_remove: Packages to remove.
11
-
12
- set :packages_remove, [ "openoffice.org-*", "ImageMagick" ]
13
-
14
- packages_add: Packages to add.
15
-
16
- set :packages_add, [ "gcc", "kernel-devel", "libevent-devel", "libxml2-devel" ]
17
-
18
- DESC
19
- task :install do
20
-
21
- # Settings
22
- fetch(:packages_type)
23
- fetch(:packages_add)
24
- fetch(:packages_remove)
25
-
26
- # Set package type
27
- package.type = packages_type
28
-
29
- # Remove packages
30
- package.remove(packages_remove) unless packages_remove.blank?
31
-
32
- # Update all existing packages
33
- package.update
34
-
35
- # Install packages
36
- package.install(packages_add) unless packages_add.blank?
37
- end
38
-
39
- end
@@ -1,30 +0,0 @@
1
- namespace :recipes do
2
-
3
- desc <<-DESC
4
- Run recipes, as user.
5
-
6
- *recipes_run*: Recipes to run.
7
-
8
- set :recipes, [ "centos:setup_for_web", "packages:install", "ruby:centos:install" ]
9
-
10
- *recipes_user*: The user to run as for these recipes. Defaults to root.
11
-
12
- set :recipes_user, "root"
13
-
14
- DESC
15
- task :run do
16
-
17
- # Settings
18
- fetch(:recipes_run)
19
- fetch_or_default(:recipes_user, "root")
20
-
21
- # Change user to install user for this recipes run
22
- set_user(recipes_user)
23
-
24
- # These run after install task and install all the apps
25
- recipes_run.each do |task_name|
26
- after "recipes:run", task_name
27
- end
28
- end
29
-
30
- end
@@ -1,17 +0,0 @@
1
- #!/bin/sh
2
-
3
- set -e
4
- trap ERROR ERR
5
-
6
- # Add admin group
7
- cat /etc/group | grep admin || /usr/sbin/groupadd admin
8
-
9
- # Install sudoers
10
- install -o root -m 440 /tmp/sudoers /etc/sudoers
11
- rm -f /tmp/sudoers
12
-
13
- # Change inittab to runlevel 3
14
- sed -i -e 's/^id:5:initdefault:/id:3:initdefault:/g' /etc/inittab
15
-
16
- # Create web apps directory
17
- mkdir -p /var/www/apps
@@ -1,95 +0,0 @@
1
- ## Sudoers allows particular users to run various commands as
2
- ## the root user, without needing the root password.
3
- ##
4
- ## Examples are provided at the bottom of the file for collections
5
- ## of related commands, which can then be delegated out to particular
6
- ## users or groups.
7
- ##
8
- ## This file must be edited with the 'visudo' command.
9
-
10
- ## Host Aliases
11
- ## Groups of machines. You may prefer to use hostnames (perhap using
12
- ## wildcards for entire domains) or IP addresses instead.
13
- # Host_Alias FILESERVERS = fs1, fs2
14
- # Host_Alias MAILSERVERS = smtp, smtp2
15
-
16
- ## User Aliases
17
- ## These aren't often necessary, as you can use regular groups
18
- ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
19
- ## rather than USERALIAS
20
- # User_Alias ADMINS = jsmith, mikem
21
-
22
-
23
- ## Command Aliases
24
- ## These are groups of related commands...
25
-
26
- ## Networking
27
- Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
28
-
29
- ## Installation and management of software
30
- Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
31
-
32
- ## Services
33
- Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
34
-
35
- ## Updating the locate database
36
- Cmnd_Alias LOCATE = /usr/sbin/updatedb
37
-
38
- ## Storage
39
- Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
40
-
41
- ## Delegating permissions
42
- Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
43
-
44
- ## Processes
45
- Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
46
-
47
- ## Drivers
48
- Cmnd_Alias DRIVERS = /sbin/modprobe
49
-
50
- # Defaults specification
51
-
52
- #
53
- # Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
54
- # You have to run "ssh -t hostname sudo <cmd>".
55
- #
56
- #Defaults requiretty
57
-
58
- Defaults env_reset
59
- Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
60
- LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
61
- LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
62
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
63
- LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
64
- _XKB_CHARSET XAUTHORITY"
65
-
66
- ## Next comes the main part: which users can run what software on
67
- ## which machines (the sudoers file can be shared between multiple
68
- ## systems).
69
- ## Syntax:
70
- ##
71
- ## user MACHINE=COMMANDS
72
- ##
73
- ## The COMMANDS section may have other options added to it.
74
- ##
75
- ## Allow root to run any commands anywhere
76
- root ALL=(ALL) ALL
77
- %admin ALL=(ALL) ALL
78
-
79
- ## Allows members of the 'sys' group to run networking, software,
80
- ## service management apps and more.
81
- # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
82
-
83
- ## Allows people in group wheel to run all commands
84
- # %wheel ALL=(ALL) ALL
85
-
86
- ## Same thing without a password
87
- # %wheel ALL=(ALL) NOPASSWD: ALL
88
-
89
- ## Allows members of the users group to mount and unmount the
90
- ## cdrom as root
91
- # %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
92
-
93
- ## Allows members of the users group to shutdown this system
94
- # %users localhost=/sbin/shutdown -h now
95
-