mybot 0.0.1 → 0.0.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.
@@ -0,0 +1,30 @@
1
+ module Core
2
+ module Ubuntu
3
+ class Service < Mybot::Lib
4
+ def initialize(node)
5
+ @node = node
6
+ end
7
+
8
+ def start(options = {})
9
+ error "service is required" unless options[:service]
10
+
11
+ options[:cmd] = "service #{options[:service]} start"
12
+ @node.run(options)
13
+ end
14
+
15
+ def stop(options = {})
16
+ error "service is required" unless options[:service]
17
+
18
+ options[:cmd] = "service #{options[:service]} stop"
19
+ @node.run(options)
20
+ end
21
+
22
+ def restart(options = {})
23
+ error "service is required" unless options[:service]
24
+
25
+ options[:cmd] = "service #{options[:service]} restart"
26
+ @node.run(options)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,76 @@
1
+ module Core
2
+ module Ubuntu
3
+ class Users < Mybot::Lib
4
+ def initialize(node)
5
+ @node = node
6
+ end
7
+
8
+ def list(options = {})
9
+ options[:cmd] = "cat /etc/passwd | cut -d: -f1"
10
+ out = @node.run(options)
11
+ out.split("\r\n")
12
+ end
13
+
14
+ def exists?(options = {})
15
+ error "username is required" unless options[:username]
16
+
17
+ list(options).include?(options[:username])
18
+ end
19
+
20
+ def create(options = {})
21
+ error "username is required" unless options[:username]
22
+ error "password is required" unless options[:password]
23
+
24
+ options[:cmd] = "adduser #{options[:username]}"
25
+ options[:fullname] ||= ""
26
+ options[:room_number] ||= ""
27
+ options[:work_phone] ||= ""
28
+ options[:home_phone] ||= ""
29
+
30
+ @node.run(options) do |cmd|
31
+ cmd.on "Enter new UNIX password:" do
32
+ cmd.write options[:password]
33
+ end
34
+
35
+ cmd.on "Retype new UNIX password:" do
36
+ cmd.write options[:password]
37
+ end
38
+
39
+ cmd.on "Full Name []:" do
40
+ cmd.write options[:fullname]
41
+ end
42
+
43
+ cmd.on "Room Number []:" do
44
+ cmd.write options[:room_number]
45
+ end
46
+
47
+ cmd.on "Work Phone []:" do
48
+ cmd.write options[:work_phone]
49
+ end
50
+
51
+ cmd.on "Home Phone []:" do
52
+ cmd.write options[:home_phone]
53
+ end
54
+
55
+ cmd.on "Other []:" do
56
+ cmd.write "user created by mybot"
57
+ end
58
+
59
+ cmd.on "Is the information correct? [Y/n]" do
60
+ cmd.write "Y"
61
+ end
62
+ end
63
+ end
64
+
65
+ def remove(options = {})
66
+ error "username is required" unless options[:username]
67
+
68
+ options[:cmd] = "userdel #{options[:username]}"
69
+ @node.run(options)
70
+
71
+ options[:cmd] = "rm -rf /home/#{options[:username]}"
72
+ @node.run(options)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,31 @@
1
+ module Core
2
+ module Ubuntu
3
+ class Vim < Mybot::Lib
4
+ def initialize(node)
5
+ @node = node
6
+ @node.use [
7
+ "core/fs",
8
+ "core/ubuntu/apt"
9
+ ]
10
+ end
11
+
12
+ def installed?(options = {})
13
+ options[:file] = "/usr/bin/vim"
14
+ @node.fs.exists?(options)
15
+ end
16
+
17
+ def install(options = {})
18
+ options[:pkg] = "vim"
19
+ @node.apt.install(options)
20
+ end
21
+
22
+ def remove(options = {})
23
+ options[:pkg] = "vim"
24
+ @node.apt.remove(options)
25
+ end
26
+
27
+ def reconfigure(options = {})
28
+ end
29
+ end
30
+ end
31
+ end
File without changes
File without changes
@@ -0,0 +1,80 @@
1
+ LockFile ${APACHE_LOCK_DIR}/accept.lock
2
+ PidFile ${APACHE_PID_FILE}
3
+ Timeout 300
4
+ KeepAlive On
5
+ MaxKeepAliveRequests 100
6
+ KeepAliveTimeout 5
7
+
8
+ <IfModule mpm_prefork_module>
9
+ StartServers 5
10
+ MinSpareServers 5
11
+ MaxSpareServers 10
12
+ MaxClients 150
13
+ MaxRequestsPerChild 0
14
+ </IfModule>
15
+
16
+ <IfModule mpm_worker_module>
17
+ StartServers 2
18
+ MinSpareThreads 25
19
+ MaxSpareThreads 75
20
+ ThreadLimit 64
21
+ ThreadsPerChild 25
22
+ MaxClients 150
23
+ MaxRequestsPerChild 0
24
+ </IfModule>
25
+
26
+ <IfModule mpm_event_module>
27
+ StartServers 2
28
+ MinSpareThreads 25
29
+ MaxSpareThreads 75
30
+ ThreadLimit 64
31
+ ThreadsPerChild 25
32
+ MaxClients 150
33
+ MaxRequestsPerChild 0
34
+ </IfModule>
35
+
36
+ User ${APACHE_RUN_USER}
37
+ Group ${APACHE_RUN_GROUP}
38
+ AccessFileName .htaccess
39
+
40
+ <Files ~ "^\.ht">
41
+ Order allow,deny
42
+ Deny from all
43
+ Satisfy all
44
+ </Files>
45
+
46
+ DefaultType None
47
+ HostnameLookups Off
48
+ ErrorLog ${APACHE_LOG_DIR}/error.log
49
+ LogLevel warn
50
+
51
+ Include mods-enabled/*.load
52
+ Include mods-enabled/*.conf
53
+ Include ports.conf
54
+
55
+ LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
56
+ LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
57
+ LogFormat "%h %l %u %t \"%r\" %>s %O" common
58
+ LogFormat "%{Referer}i -> %U" referer
59
+ LogFormat "%{User-agent}i" agent
60
+
61
+ Include conf.d/
62
+
63
+ <% if passenger[:enabled] %>
64
+ LoadModule passenger_module <%= passenger[:rbenv_root] %>/versions/<%= passenger[:ruby_version] %>/lib/ruby/gems/<%= passenger[:ruby_system_version] %>/gems/passenger-<%= passenger[:version] %>/libout/apache2/mod_passenger.so
65
+ PassengerRoot <%= passenger[:rbenv_root] %>/versions/<%= passenger[:ruby_version] %>/lib/ruby/gems/<%= passenger[:ruby_system_version] %>/gems/passenger-<%= passenger[:version] %>
66
+ PassengerDefaultRuby <%= passenger[:rbenv_root] %>/versions/<%= passenger[:ruby_version] %>/bin/ruby
67
+ <% end %>
68
+
69
+ <% apps.each do |name, app| %>
70
+ <% if app[:type] == "rails" %>
71
+ <VirtualHost *:80>
72
+ ServerName <%= app[:server_name] %>
73
+ DocumentRoot <%= app[:path] %>/public
74
+ <Directory <%= app[:path] %>/public>
75
+ AllowOverride all
76
+ Options -MultiViews
77
+ </Directory>
78
+ </VirtualHost>
79
+ <% end %>
80
+ <% end %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mybot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-12 00:00:00.000000000 Z
12
+ date: 2013-04-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -101,6 +101,7 @@ extra_rdoc_files: []
101
101
  files:
102
102
  - .gitignore
103
103
  - Botfile
104
+ - CHANGELOG.md
104
105
  - Gemfile
105
106
  - LICENSE.txt
106
107
  - README.md
@@ -111,7 +112,9 @@ files:
111
112
  - lib/mybot/cli.rb
112
113
  - lib/mybot/command.rb
113
114
  - lib/mybot/commands.rb
115
+ - lib/mybot/core-ext/kernel.rb
114
116
  - lib/mybot/fmt.rb
117
+ - lib/mybot/lib.rb
115
118
  - lib/mybot/messages.rb
116
119
  - lib/mybot/node.rb
117
120
  - lib/mybot/recipes.rb
@@ -119,9 +122,21 @@ files:
119
122
  - lib/mybot/template.rb
120
123
  - lib/mybot/version.rb
121
124
  - mybot.gemspec
122
- - vendor/lib/mybot/.gitkeep
123
- - vendor/tasks/.gitkeep
124
- - vendor/tpl/mybot/.gitkeep
125
+ - vendor/lib/core/.gitkeep
126
+ - vendor/lib/core/fs.rb
127
+ - vendor/lib/core/osx/git.rb
128
+ - vendor/lib/core/ubuntu/apache.rb
129
+ - vendor/lib/core/ubuntu/apt.rb
130
+ - vendor/lib/core/ubuntu/git.rb
131
+ - vendor/lib/core/ubuntu/mysql.rb
132
+ - vendor/lib/core/ubuntu/passenger.rb
133
+ - vendor/lib/core/ubuntu/ruby.rb
134
+ - vendor/lib/core/ubuntu/service.rb
135
+ - vendor/lib/core/ubuntu/users.rb
136
+ - vendor/lib/core/ubuntu/vim.rb
137
+ - vendor/recipes/.gitkeep
138
+ - vendor/tpl/core/.gitkeep
139
+ - vendor/tpl/core/ubuntu/apache/apache2.conf.erb
125
140
  homepage: https://github.com/sebastiansito/mybot
126
141
  licenses:
127
142
  - MIT
@@ -146,5 +161,5 @@ rubyforge_project:
146
161
  rubygems_version: 1.8.23
147
162
  signing_key:
148
163
  specification_version: 3
149
- summary: Mybot, your personal bot
164
+ summary: mybot, my personal bot
150
165
  test_files: []