cocina 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 695c5c4d9bdcf083b1406646bee16a6d8072c069
4
- data.tar.gz: 44caf0bcfece1fd36466cac6221389969fa6dbda
3
+ metadata.gz: a635ff56f1db7bce214b644516a9928a4945526c
4
+ data.tar.gz: 5e9bd1f239c1117f61444f0a4a31c15901544379
5
5
  SHA512:
6
- metadata.gz: 1c61bec82aff227d650213c0533ed1de6b8a750565ff8f96d759214854aab9da1134408973eac8368e18a378eaadf7c9b1996783d843c0de570c857ae3e4d10a
7
- data.tar.gz: 812dd5d645829631e5fa6d85c677bb7f3220a08567962a28b0c421721ec9d3a69d6373a54109ac8cec1f15376154026ee02e874430a6af2dca1332d41aa95c6b
6
+ metadata.gz: 7d1ca609ce1fa3edfbb6e6ab4e592d948d6c5ae8e82837bac5aa667298d00b9a5a18f7978252defb052f7f955e3687616c80d160e6582b23986c611bbb9c3a52
7
+ data.tar.gz: 2b364b05fb98210bee3601fd36bb3f8e30f73a0b264d02526716303a2ae51276dda1c6f245ea95826353ca33dc71437606c8ed85a963d7ed283d8bfeadfa9915
data/.travis.yml CHANGED
@@ -3,6 +3,7 @@ addons:
3
3
  repo_token: f1a36edc54b97cf8db5a139d555d98232c8ad834bd34d44701bc975a9acd29ee
4
4
 
5
5
  language: ruby
6
+ cache: bundler
6
7
  rvm:
7
8
  - 2.1.6
8
9
 
data/cocina.gemspec CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'rspec'
25
25
  spec.add_development_dependency 'pry'
26
26
 
27
- spec.add_dependency 'logify', '~> 0.2.0'
28
27
  spec.add_dependency 'berkshelf', '~> 4.0.1'
29
28
  spec.add_dependency 'test-kitchen', '~> 1.4.2'
30
29
  spec.add_dependency 'kitchen-vagrant', '~> 0.19.0'
data/example/.kitchen.yml CHANGED
@@ -10,14 +10,30 @@ platforms:
10
10
  - name: centos-7.1
11
11
 
12
12
  suites:
13
- - name: app
13
+ - name: db
14
+ driver:
15
+ network:
16
+ - ["private_network", ip: "10.11.11.10"]
14
17
  run_list:
18
+ - counter_redis::default
15
19
  attributes:
16
20
 
17
- - name: db
21
+ - name: app
22
+ driver:
23
+ network:
24
+ - ["private_network", ip: "10.11.11.11"]
18
25
  run_list:
26
+ - counter_app::default
19
27
  attributes:
28
+ counter_app:
29
+ redis_host: "10.11.11.10"
20
30
 
21
31
  - name: web
32
+ driver:
33
+ network:
34
+ - ["private_network", ip: "10.11.11.12"]
22
35
  run_list:
36
+ - counter_nginx::default
23
37
  attributes:
38
+ counter_app:
39
+ host: "10.11.11.11"
data/example/Berksfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://supermarket.chef.io'
2
+
3
+ cookbook 'counter_app',
4
+ git: 'https://github.com/brandocorp-cookbooks/counter_app.git'
5
+
6
+ cookbook 'counter_nginx',
7
+ git: 'https://github.com/brandocorp-cookbooks/counter_nginx.git'
8
+
9
+ cookbook 'counter_redis',
10
+ git: 'https://github.com/brandocorp-cookbooks/counter_redis.git'
data/example/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Instructions
2
+
3
+ ## Install
4
+
5
+ Install the Cocina gem in your preferred ruby.
6
+
7
+ ### Example: ChefDK
8
+
9
+ ```
10
+ chef gem install cocina
11
+ ```
12
+
13
+ ### Example: RVM
14
+
15
+ ```
16
+ rvm use ruby@cocina --create
17
+ gem install cocina
18
+ ```
19
+
20
+ ## Converge
21
+
22
+ ```
23
+ cocina web-ubuntu-1404
24
+ ```
25
+
26
+ You should see output like the following:
27
+
28
+ ```
29
+ -----> Running for: web-ubuntu-1404
30
+ Dependencies: ["db-ubuntu-1404", "app-ubuntu-1404"]
31
+ ```
data/lib/cocina/cli.rb CHANGED
@@ -1,27 +1,28 @@
1
- require 'logify'
2
1
  require 'kitchen'
3
2
  require 'kitchen/cli'
4
3
 
5
4
  module Cocina
6
5
  class CLI
7
- include Logify
8
6
 
9
7
  attr_reader :config, :instances, :collection, :dependencies
10
- attr_reader :primary_instance, :primary_dependencies
8
+ attr_reader :primary_instance, :primary_dependencies, :logger
11
9
 
12
10
  def initialize(target)
13
11
  super()
14
12
 
15
- Logify.level = :debug
16
-
17
13
  @dependencies = []
18
14
  @config = Cocina::Config.new('Cocinafile')
15
+ @logger = Kitchen::Logger.new(
16
+ stdout: STDOUT,
17
+ color: :white,
18
+ progname: 'Cocina'
19
+ )
19
20
  @primary_instance = instance(target)
20
21
  @primary_dependencies = primary_instance.dependencies
21
22
  end
22
23
 
23
24
  def run
24
- log.info "Running for Target: #{primary_instance.name}"
25
+ log_banner "Running for: #{primary_instance.name}"
25
26
 
26
27
  prepare_dependencies
27
28
  converge_dependencies
@@ -42,17 +43,17 @@ module Cocina
42
43
  end
43
44
 
44
45
  def converge_dependencies
45
- log.info "Converging all dependencies: #{dependencies}"
46
+ logger.info "Dependencies: #{dependencies}"
46
47
  dependencies.each {|dep| converge_dependency dep }
47
48
  end
48
49
 
49
50
  def converge_dependency(dep)
50
- log.info "Converging: #{dep}"
51
+ log_banner "Converging <#{dep}>"
51
52
  instance(dep).converge
52
53
  end
53
54
 
54
55
  def cleanup
55
- log.info "Cleaning up all dependencies"
56
+ log_banner "Cleaning up all dependencies"
56
57
  destroy_dependencies
57
58
  primary_instance.destroy
58
59
  nil
@@ -60,9 +61,13 @@ module Cocina
60
61
 
61
62
  def destroy_dependencies
62
63
  dependencies.each do |dep|
63
- log.info "Destroying #{dep}"
64
+ logger.info "Destroying #{dep}"
64
65
  instance(dep).destroy
65
66
  end
66
67
  end
68
+
69
+ def log_banner(msg)
70
+ logger.banner "#{msg}"
71
+ end
67
72
  end
68
73
  end
data/lib/cocina/config.rb CHANGED
@@ -2,10 +2,8 @@ require 'cocina/instance'
2
2
 
3
3
  module Cocina
4
4
  class Config
5
- include Logify
6
5
 
7
- attr_reader :cocinafile
8
- attr_reader :instances
6
+ attr_reader :cocinafile, :instances
9
7
 
10
8
  def initialize(file)
11
9
  @cocinafile = file
@@ -41,7 +39,6 @@ module Cocina
41
39
 
42
40
  def instance(id, &block)
43
41
  return true if instance?(id)
44
- log.info "Building Instance for #{id}"
45
42
  cocina_instance = Cocina::Instance.new(id)
46
43
  cocina_instance.instance_eval(&block)
47
44
  cocina_instance.runner = kitchen_instance(id)
@@ -1,3 +1,3 @@
1
1
  module Cocina
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Raabe
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: logify
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 0.2.0
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 0.2.0
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: berkshelf
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -144,7 +130,9 @@ files:
144
130
  - bin/cocina
145
131
  - cocina.gemspec
146
132
  - example/.kitchen.yml
133
+ - example/Berksfile
147
134
  - example/Cocinafile
135
+ - example/README.md
148
136
  - lib/cocina.rb
149
137
  - lib/cocina/cli.rb
150
138
  - lib/cocina/config.rb