opskeleton 0.4.3 → 0.4.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f96777aff9ddc3b121c11fe44c3d5130a04b1f2
4
- data.tar.gz: e86a8b20e7fc3361e6178f33bb9729a9f080229b
3
+ metadata.gz: 9b52de7c4675f155af2b31a093aa253fe7179469
4
+ data.tar.gz: 1ed1a417000ba6050068fb1051e3f17b51088644
5
5
  SHA512:
6
- metadata.gz: 1784ee4ef551f274d354d8f5709aec5aefa2b92cbc00d80047b7e6c17c924c1ee045eb99ff5cd16ac3475d4dbeefe190a09d20c0c58e2e5fe32bd7a29c742da6
7
- data.tar.gz: 0970176dd5ed6298651efbe8036f7ff51bd271c781d6fee9668861deb4f040bbd1f3e6933627d65a435764816a8a61abd1df3e8b8ad5e685e96374a71b3801e8
6
+ metadata.gz: 62dabb7d933a806f5ca713f6f32482708ade4f012a3416e955c30987cfe7c952a56f753c05e8a306a259ff4901265ffd2bb72bf6cda0f108f0168846b3498a3e
7
+ data.tar.gz: ef9158f66fff15787c46d188bb442e0a8ea8495cab9560e962e23ad1400fd2fa18615c087d01c140477dd342c3bc06763aa321552706233b7074d67da1cba268
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  script:
5
+ - "touch ~/.configuration.rb"
5
6
  - "bundle install"
6
- - "rake test"
7
+ - "bundle exec rake test"
7
8
 
data/Gemfile.lock CHANGED
@@ -8,27 +8,27 @@ PATH
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- bintray_deploy (0.0.2)
11
+ bintray_deploy (0.0.3)
12
12
  configuration
13
13
  rest-client
14
14
  thor
15
15
  coderay (1.1.0)
16
16
  configuration (1.3.2)
17
17
  diff-lcs (1.2.5)
18
- facter (1.7.3)
19
- hiera (1.3.0)
18
+ facter (1.7.4)
19
+ hiera (1.3.1)
20
20
  json_pure
21
21
  json_pure (1.8.1)
22
- metaclass (0.0.1)
22
+ metaclass (0.0.2)
23
23
  method_source (0.8.2)
24
- mime-types (2.0)
25
- mocha (0.14.0)
24
+ mime-types (2.1)
25
+ mocha (1.0.0)
26
26
  metaclass (~> 0.0.1)
27
27
  pry (0.9.12.4)
28
28
  coderay (~> 1.0)
29
29
  method_source (~> 0.8)
30
30
  slop (~> 3.4)
31
- puppet (3.3.2)
31
+ puppet (3.4.2)
32
32
  facter (~> 1.6)
33
33
  hiera (~> 1.0)
34
34
  rgen (~> 0.6.5)
@@ -37,7 +37,7 @@ GEM
37
37
  rake
38
38
  rspec (>= 2.9.0)
39
39
  rspec-puppet (>= 0.1.1)
40
- rake (10.1.0)
40
+ rake (10.1.1)
41
41
  rest-client (1.6.7)
42
42
  mime-types (>= 1.16)
43
43
  rgen (0.6.6)
@@ -49,7 +49,7 @@ GEM
49
49
  rspec-expectations (2.14.4)
50
50
  diff-lcs (>= 1.1.3, < 2.0)
51
51
  rspec-mocks (2.14.4)
52
- rspec-puppet (0.1.6)
52
+ rspec-puppet (1.0.1)
53
53
  rspec
54
54
  slop (3.4.7)
55
55
  thor (0.18.1)
data/README.md CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  <img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/opskeleton.png" width='100%' hight='100%' alt="" />
3
2
 
4
3
  # Intro
@@ -20,18 +19,13 @@ See it in action [here](https://www.youtube.com/watch?v=LNlHC54Ej8c).
20
19
  Usage
21
20
  =========
22
21
 
23
- Installing perquisites (on Ubuntu)
24
-
25
- ```bash
26
- $ sudo aptitude install ruby1.9.1 ruby1.9.1-dev
27
- # see https://rvm.io/rvm/install/
28
- $ curl -L https://get.rvm.io | bash -s stable --ruby
22
+ Perquisites (on Ubuntu):
29
23
 
30
- # install vagrant [see](http://docs-v1.vagrantup.com/v1/docs/getting-started/) for latest package
31
- $ wget http://files.vagrantup.com/packages/64e360814c3ad960d810456add977fd4c7d47ce6/vagrant_x86_64.deb
32
- $ sudo dpkg -i vagrant_x86_64.deb
24
+ * Vagrant 1.4.x
25
+ * RVM
26
+ * Ruby 1.9.x
33
27
 
34
- # re-launch current terminal session, the following should work
28
+ ```bash
35
29
  $ rvm use system
36
30
  $ sudo gem install opskeleton
37
31
  ```
@@ -41,9 +35,9 @@ Creating out first sandbox
41
35
  ```bash
42
36
  $ rvm use system
43
37
  # parameters include name vagrant-box
44
- $ opsk generate redis ubuntu-12.10
38
+ $ opsk generate redis ubuntu-13.10
45
39
  $ cd redis-sandbox
46
- # bundle installs gems in the background
40
+ $ bundle install
47
41
  $ librarian-puppet install
48
42
  $ vagrant up
49
43
  ```
@@ -57,7 +51,7 @@ Folder layout:
57
51
  <img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/opsk-folders.png" width='30%' hight='50%' alt="" />
58
52
 
59
53
 
60
- ## Lifecycle
54
+ ## Module lifecycle
61
55
 
62
56
  Opskelaton defines a simple module life cycle:
63
57
 
@@ -69,6 +63,52 @@ Life cycle scheme:
69
63
 
70
64
  <img src="https://raw.github.com/narkisr/vagrant-sketching-board/master/images/module-lifecycle-black.png" width='30%' hight='50%' alt="" />
71
65
 
66
+ ## Packaging
67
+
68
+ Opskelaton fully supports deployment and portable execution of sandboxes on non Vagrant environments:
69
+
70
+ ```bash
71
+ $ opsk generate foo ubuntu-13.10
72
+ $ cd foo-sandbox
73
+ # The package version file
74
+ $ cat opsk.yaml
75
+ ---
76
+ version: '0.0.1'
77
+ name: foo
78
+ # post bundle and gem install ..
79
+ $ opsk package
80
+ create pkg/foo-sandbox-0.0.1
81
+ create pkg/foo-sandbox-0.0.1/scripts
82
+ create pkg/foo-sandbox-0.0.1/scripts/lookup.rb
83
+ chmod pkg/foo-sandbox-0.0.1/scripts/lookup.rb
84
+ create pkg/foo-sandbox-0.0.1/scripts/run.sh
85
+ chmod pkg/foo-sandbox-0.0.1/scripts/run.sh
86
+ create pkg/foo-sandbox-0.0.1/manifests/site.pp
87
+ exist pkg
88
+ $ ls pkg
89
+ foo-sandbox-0.0.1 foo-sandbox-0.0.1.tar.gz
90
+ ```
91
+ The packaging process creates a portable tar file that can be run on any machine with puppet installed via the bundled run.sh:
92
+
93
+ ```bash
94
+ $ tar -xvzf foo-sandbox-0.0.1.tar.gz
95
+ $ cd foo-sandbox-0.0.1
96
+ $ sudo ./run.sh
97
+ ```
98
+
99
+ An external node classifier based runner is also available under scripts/run.sh, this runner expects to get a <hostname>.yaml input file with the required node classes.
100
+
101
+
102
+ ## Deployment
103
+
104
+ The packaged tar files can be consumed using any tool and protocol however http is recommended, opsk has built in support for deploying public sandboxes into bintray:
105
+
106
+ ```bash
107
+ $ opsk package
108
+ $ opsk deploy <bintray-repo>
109
+ ```
110
+
111
+ Make sure to [configure](https://github.com/narkisr/bintray-deploy#usage) configure the bintray API key.
72
112
  # Copyright and license
73
113
 
74
114
  Copyright [2013] [Ronen Narkis]
data/bin/opsk CHANGED
@@ -15,7 +15,7 @@ module Opsk
15
15
  register Opsk::Package, 'package', 'package', 'packages current module for celestial'
16
16
  register Opsk::Clean, 'clean', 'clean', 'cleans up packaging products'
17
17
  register Opsk::Bump, 'bump', 'bump', 'bumps up version (clearing old version also)'
18
- register Opsk::Deploy, 'deploy', 'deploy [repo]', 'deploy packge into bintray.com'
18
+ register Opsk::Deploy, 'deploy', 'deploy [bintray repo]', 'deploy packge into bintray.com'
19
19
 
20
20
  desc 'version', 'print opsk version'
21
21
  def version
@@ -1,4 +1,3 @@
1
- require 'bintray_deploy'
2
1
 
3
2
  module Opsk
4
3
  class Deploy < Thor::Group
@@ -9,12 +8,14 @@ module Opsk
9
8
  desc 'Deploy sandbox into bintray.com'
10
9
 
11
10
  def upload
11
+ require 'bintray_deploy'
12
12
  pkg = Opsk::Package.new
13
13
  tar = "#{pkg.artifact_path}.tar.gz"
14
+ base = File.basename(tar)
14
15
  if(File.exists?(tar))
15
16
  begin
16
17
  BintrayDeploy::Actions.new.deploy(repo, "#{pkg.meta.name}-sandbox", pkg.meta.version, tar)
17
- say("deployed #{tar} to http://dl.bintray.com/#{C.user}/#{repo}/#{tar}")
18
+ say("deployed #{base} to http://dl.bintray.com/#{C.user}/#{repo}/#{base}")
18
19
  rescue Exception => e
19
20
  say("failed to deploy due to #{e}")
20
21
  end
@@ -1,3 +1,3 @@
1
1
  module Opskeleton
2
- VERSION = '0.4.3'
2
+ VERSION = '0.4.4'
3
3
  end
data/templates/gitignore CHANGED
@@ -2,3 +2,4 @@ modules
2
2
  .vagrant
3
3
  .librarian
4
4
  .tmp
5
+ pkg
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opskeleton
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - narkisr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2014-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.1.11
172
+ rubygems_version: 2.0.14
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: A generator for ops projects that include vagrant puppet and fpm