sunzi 0.5.1 → 0.6.0

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/README.md CHANGED
@@ -18,7 +18,8 @@ Its design goals are:
18
18
 
19
19
  ### What's new:
20
20
 
21
- * v0.5: Role-based configuration supported. Reworked directory structure. (Incompatible with previous versions)
21
+ * v0.6: System function sunzi::silencer() added for succinct log messages.
22
+ * v0.5: Role-based configuration supported. Reworked directory structure. **Incompatible with previous versions**.
22
23
 
23
24
  Quickstart
24
25
  ----------
data/lib/sunzi/cli.rb CHANGED
@@ -40,6 +40,7 @@ module Sunzi
40
40
  template "templates/create/.gitignore", "#{project}/.gitignore"
41
41
  template "templates/create/sunzi.yml", "#{project}/sunzi.yml"
42
42
  template "templates/create/install.sh", "#{project}/install.sh"
43
+ template "templates/create/recipes/sunzi.sh", "#{project}/recipes/sunzi.sh"
43
44
  template "templates/create/recipes/ssh_key.sh", "#{project}/recipes/ssh_key.sh"
44
45
  template "templates/create/roles/app.sh", "#{project}/roles/app.sh"
45
46
  template "templates/create/roles/db.sh", "#{project}/roles/db.sh"
data/lib/sunzi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sunzi
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -1,14 +1,24 @@
1
1
  #!/bin/bash
2
2
 
3
- # This line is necessary for automated provisioning for Debian/Ubuntu
3
+ # Load base utility functions like sunzi::silencer()
4
+ source recipes/sunzi.sh
5
+
6
+ # This line is necessary for automated provisioning for Debian/Ubuntu.
7
+ # Remove if you're not on Debian/Ubuntu.
4
8
  export DEBIAN_FRONTEND=noninteractive
5
9
 
10
+ # Add Dotdeb repository. Recommended if you're using Debian. See http://www.dotdeb.org/about/
11
+ # source recipes/dotdeb.sh
12
+
6
13
  # SSH key
7
14
  source recipes/ssh_key.sh $(cat attributes/ssh_key)
8
15
 
9
- # Add Dotdeb repository
10
- source recipes/dotdeb.sh
11
-
12
- # Update apt catalog
16
+ # Update apt catalog. If you prefer less verbosity, use the sunzi::silencer version instead
13
17
  aptitude update
14
18
  aptitude -y safe-upgrade
19
+ # sunzi::silencer "aptitude update"
20
+ # sunzi::silencer "aptitude -y safe-upgrade"
21
+
22
+ # Install packages. If you prefer less verbosity, use the sunzi::silencer version instead
23
+ aptitude -y install git-core ntp
24
+ # sunzi::silencer "aptitude -y install git-core ntp"
@@ -5,6 +5,7 @@ if [ -f ~/.ssh/authorized_keys ]; then
5
5
  echo 'authorized_keys already created'
6
6
  else
7
7
  if [ -f "files/$1" ]; then
8
+ echo 'Creating authorized_keys'
8
9
  mkdir -p ~/.ssh
9
10
  cat "files/$1" > ~/.ssh/authorized_keys
10
11
  rm "files/$1"
@@ -0,0 +1,6 @@
1
+ # This file is used to define functions under the sunzi:: namespace.
2
+
3
+ function sunzi::silencer() {
4
+ echo "Running \"$@\""
5
+ eval "$@ > /dev/null 2>&1"
6
+ }
@@ -1,5 +1,5 @@
1
1
  # Install Database Server
2
2
 
3
- source recipes/mongodb-10gen.sh # MongoDB
4
- # source recipes/mysql-server.sh 5.5 # MySQL 5.5
5
- # source recipes/redis-server.sh # Redis
3
+ source recipes/mongodb-10gen.sh # MongoDB
4
+ # aptitude -q -y install mysql-server-5.5 # MySQL 5.5 - You may need to enable Dotdeb in install.sh first
5
+ # aptitude -y install redis-server # Redis - You may need to enable Dotdeb in install.sh first
@@ -1,4 +1,4 @@
1
1
  # Install Web server
2
2
 
3
- source recipes/nginx.sh # Nginx
4
- # source recipes/apache2.sh # Apache
3
+ aptitude -y install nginx # Nginx
4
+ # aptitude -y install apache2 # Apache
@@ -8,12 +8,8 @@ attributes:
8
8
  # Remote recipes here will be downloaded to compiled/recipes.
9
9
  recipes:
10
10
  rvm: https://raw.github.com/kenn/sunzi-recipes/master/ruby/rvm.sh
11
- dotdeb: https://raw.github.com/kenn/sunzi-recipes/master/debian/dotdeb.sh
12
- # nginx: https://raw.github.com/kenn/sunzi-recipes/master/debian/nginx.sh
13
- # apache2: https://raw.github.com/kenn/sunzi-recipes/master/debian/apache2.sh
11
+ # dotdeb: https://raw.github.com/kenn/sunzi-recipes/master/debian/dotdeb.sh
14
12
  # mongodb-10gen: https://raw.github.com/kenn/sunzi-recipes/master/debian/mongodb-10gen.sh
15
- # mysql-server: https://raw.github.com/kenn/sunzi-recipes/master/debian/mysql-server.sh
16
- # redis-server: https://raw.github.com/kenn/sunzi-recipes/master/debian/redis-server.sh
17
13
 
18
14
  # Files specified here will be copied to compiled/files.
19
15
  files:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunzi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-05 00:00:00.000000000 Z
12
+ date: 2012-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &2165136600 !ruby/object:Gem::Requirement
16
+ requirement: &2165105300 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2165136600
24
+ version_requirements: *2165105300
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rainbow
27
- requirement: &2165136160 !ruby/object:Gem::Requirement
27
+ requirement: &2165104840 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2165136160
35
+ version_requirements: *2165104840
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2165135720 !ruby/object:Gem::Requirement
38
+ requirement: &2165104400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2165135720
46
+ version_requirements: *2165104400
47
47
  description: Server provisioning utility for minimalists
48
48
  email:
49
49
  - kenn.ejima@gmail.com
@@ -69,6 +69,7 @@ files:
69
69
  - lib/templates/create/.gitignore
70
70
  - lib/templates/create/install.sh
71
71
  - lib/templates/create/recipes/ssh_key.sh
72
+ - lib/templates/create/recipes/sunzi.sh
72
73
  - lib/templates/create/roles/app.sh
73
74
  - lib/templates/create/roles/db.sh
74
75
  - lib/templates/create/roles/web.sh