machines 0.5.1 → 0.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/.yardopts +2 -0
- data/README.md +22 -13
- data/lib/machines/commandline.rb +1 -1
- data/lib/machines/installation.rb +1 -1
- data/lib/machines/version.rb +1 -1
- data/machines.gemspec +2 -1
- data/spec/lib/machines/commandline_spec.rb +1 -1
- metadata +27 -11
data/.yardopts
ADDED
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
Machines
|
1
|
+
Machines
|
2
2
|
===========================================================
|
3
3
|
|
4
|
+
**A custom Ubuntu system in less than 15 minutes**
|
5
|
+
|
4
6
|
Setup Ubuntu development and server **Machines** locally or in the cloud for developing and hosting Ruby, Rails and related environments.
|
5
7
|
|
6
8
|
Run commands like:
|
@@ -21,7 +23,7 @@ Status
|
|
21
23
|
|
22
24
|
September 2012
|
23
25
|
|
24
|
-
* Released 0.5.
|
26
|
+
* Released 0.5.2 gem
|
25
27
|
* Working development and server builds.
|
26
28
|
* Cloud deployments to complete.
|
27
29
|
|
@@ -30,11 +32,17 @@ Features
|
|
30
32
|
|
31
33
|
* An opinionated Ubuntu configuration script with sensible defaults
|
32
34
|
* Easily override the defaults with configuration options and custom ruby
|
33
|
-
* Supports several cloud services
|
35
|
+
* Supports several cloud services [Not complete]
|
34
36
|
* Default template supports Nginx, Passenger, Ruby, Rails, MySQL, Git, Monit, Logrotate
|
35
37
|
* Preconfigured Ruby & Rails light development environment (Openbox or Subtle)
|
36
38
|
* Bring up new instances fully configured in less than 15 minutes
|
37
39
|
|
40
|
+
What it's Not
|
41
|
+
-----------------------------------------------------------
|
42
|
+
|
43
|
+
* It does not replace the base installation (Yet). A minimal Ubuntu must be installed prior to running the *Machines* install
|
44
|
+
|
45
|
+
|
38
46
|
Motivation
|
39
47
|
-----------------------------------------------------------
|
40
48
|
|
@@ -90,9 +98,8 @@ configuration settings for various programs, your `Machinesfile` and the various
|
|
90
98
|
* [64bit ISO](http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/mini.iso)
|
91
99
|
* [32bit image](http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/current/images/netboot/boot.img.gz)
|
92
100
|
* [32bit ISO](http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/current/images/netboot/mini.iso)
|
93
|
-
* Images can be written to USB with (
|
94
|
-
*
|
95
|
-
* Insert the USB stick and boot from it to install Ubuntu
|
101
|
+
* Images can be written to USB with `gunzip boot.img.gz && sudo dd if=boot.img of=/dev/sdX` where `sdX` is your USB device (use `dmesg` to get this)
|
102
|
+
* Insert the USB stick and boot from it to install Ubuntu (See **Setting up a test VM** below for installing on a Virtual Machine)
|
96
103
|
* Install SSH Server & note the IP address
|
97
104
|
|
98
105
|
sudo apt-get update && sudo apt-get -y install openssh-server && ifconfig
|
@@ -175,9 +182,10 @@ Make sure you've downloaded one of the ISOs from the list in *Prepare the target
|
|
175
182
|
* Version: Ubuntu (64 bit)
|
176
183
|
1. Settings -> Network -> Adapter 2 -> Enable Network Adapter
|
177
184
|
* Attached to: Host-only Adapter
|
178
|
-
1. Start -> Media Source
|
179
|
-
1. Installer boot menu -> Install -> Accept defaults except for:
|
180
|
-
*
|
185
|
+
1. Start VM -> Next -> Media Source folder icon (next to dropdown) -> mini.iso -> Next -> Start
|
186
|
+
1. Ubuntu Installer boot menu -> Install -> Accept defaults except for:
|
187
|
+
* Select correct country/keyboard
|
188
|
+
* Primary network interface: eth0
|
181
189
|
* Full name for the new user: user
|
182
190
|
* Username for your account: user
|
183
191
|
* Choose a password for the new user: password
|
@@ -185,17 +193,18 @@ Make sure you've downloaded one of the ISOs from the list in *Prepare the target
|
|
185
193
|
* YES to partition disks (choose partition entire disk if asked)
|
186
194
|
* Add OpenSSH from application installer menu
|
187
195
|
1. Devices -> CD/DVD Devices -> Uncheck mini.iso
|
188
|
-
1. Reboot
|
189
|
-
*
|
196
|
+
1. Reboot and login
|
197
|
+
* <machine name> login: user
|
190
198
|
* Password: password
|
191
|
-
1. Run `ifconfig` and make a note of eth1 inet addr
|
199
|
+
1. Run `ifconfig` and make a note of the `eth1` inet addr. It should be 192.168.56.101 if this is the first VM you've installed
|
200
|
+
* If you don't see `eth1` then `sudo nano /etc/network/interfaces` and add the lines `auto eth1` and `iface eth1 inet dhcp` as with `eth0`. Save and exit. Run `ifconfig` again and note the inet addr of `eth1`
|
192
201
|
1. Take a snapshot (restore before each test run)
|
193
202
|
|
194
203
|
|
195
204
|
What's happening under the hood
|
196
205
|
-----------------------------------------------------------
|
197
206
|
|
198
|
-
* An ssh connection is established to send all commands and uploads
|
207
|
+
* An ssh connection is established to send all commands and uploads (similar to Capistrano)
|
199
208
|
* Ssh uses the specified user and then sudo is added to commands that require it
|
200
209
|
* When sudo is needed for file uploads. The file is uploaded to /tmp then sudo cp'd to the destination
|
201
210
|
* When `package` is called in the `Machinesfile` that file is loaded either from the projects packages folder
|
data/lib/machines/commandline.rb
CHANGED
@@ -67,7 +67,7 @@ module Machines
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def htpasswd options
|
70
|
-
path = File.join($conf.webserver, '
|
70
|
+
path = File.join($conf.webserver, 'htpasswd')
|
71
71
|
say "Generate BasicAuth password and add to #{path}"
|
72
72
|
username = ask('Username: ')
|
73
73
|
password = enter_password 'users'
|
@@ -14,7 +14,7 @@ module Machines
|
|
14
14
|
end
|
15
15
|
|
16
16
|
# Adds a DEB source
|
17
|
-
# @param [String] source URL of the package. If YOUR_UBUNTU_VERSION_HERE is included then it
|
17
|
+
# @param [String] source URL of the package. If `YOUR_UBUNTU_VERSION_HERE` is included then it
|
18
18
|
# is replaced by the Ubuntu version name
|
19
19
|
# @param [Hash] options
|
20
20
|
# @option options [String] :key URL of key
|
data/lib/machines/version.rb
CHANGED
data/machines.gemspec
CHANGED
@@ -189,7 +189,7 @@ describe Machines::Commandline do
|
|
189
189
|
$conf.webserver = 'server'
|
190
190
|
$input.string = "user\npass\npass\n"
|
191
191
|
htpasswd nil
|
192
|
-
File.read('server/
|
192
|
+
File.read('server/htpasswd').must_match /user:.{13}/
|
193
193
|
end
|
194
194
|
end
|
195
195
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: machines
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.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: 2012-09-
|
12
|
+
date: 2012-09-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -108,7 +108,7 @@ dependencies:
|
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
111
|
+
name: guard
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|
@@ -124,7 +124,7 @@ dependencies:
|
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0'
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name: guard
|
127
|
+
name: guard-bundler
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
@@ -140,7 +140,7 @@ dependencies:
|
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '0'
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
|
-
name: guard-
|
143
|
+
name: guard-minitest
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
145
145
|
none: false
|
146
146
|
requirements:
|
@@ -156,7 +156,7 @@ dependencies:
|
|
156
156
|
- !ruby/object:Gem::Version
|
157
157
|
version: '0'
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
|
-
name:
|
159
|
+
name: fakefs
|
160
160
|
requirement: !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
@@ -172,7 +172,7 @@ dependencies:
|
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
174
|
- !ruby/object:Gem::Dependency
|
175
|
-
name:
|
175
|
+
name: fog
|
176
176
|
requirement: !ruby/object:Gem::Requirement
|
177
177
|
none: false
|
178
178
|
requirements:
|
@@ -188,7 +188,7 @@ dependencies:
|
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: '0'
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
|
-
name:
|
191
|
+
name: github-markup
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
@@ -251,6 +251,22 @@ dependencies:
|
|
251
251
|
- - ! '>='
|
252
252
|
- !ruby/object:Gem::Version
|
253
253
|
version: '0'
|
254
|
+
- !ruby/object:Gem::Dependency
|
255
|
+
name: redcarpet
|
256
|
+
requirement: !ruby/object:Gem::Requirement
|
257
|
+
none: false
|
258
|
+
requirements:
|
259
|
+
- - ! '>='
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: '0'
|
262
|
+
type: :development
|
263
|
+
prerelease: false
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
266
|
+
requirements:
|
267
|
+
- - ! '>='
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
254
270
|
- !ruby/object:Gem::Dependency
|
255
271
|
name: rev
|
256
272
|
requirement: !ruby/object:Gem::Requirement
|
@@ -302,14 +318,14 @@ dependencies:
|
|
302
318
|
description: Install and configure Ubuntu desktops, laptops, servers and cloud instances.
|
303
319
|
Install software, configure settings, preferences, keys, projects, applications,
|
304
320
|
scripts, etc...
|
305
|
-
email:
|
306
|
-
cGhpbEBlbGVjdHJpY3Zpc2lvbnMuY29t
|
321
|
+
email: phil@electricvisions.com
|
307
322
|
executables:
|
308
323
|
- machines
|
309
324
|
extensions: []
|
310
325
|
extra_rdoc_files: []
|
311
326
|
files:
|
312
327
|
- .gitignore
|
328
|
+
- .yardopts
|
313
329
|
- EXAMPLES.md
|
314
330
|
- Gemfile
|
315
331
|
- Guardfile
|
@@ -502,7 +518,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
502
518
|
version: '0'
|
503
519
|
segments:
|
504
520
|
- 0
|
505
|
-
hash:
|
521
|
+
hash: 1670062508932557270
|
506
522
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
507
523
|
none: false
|
508
524
|
requirements:
|