cocina 0.1.2 → 0.1.3
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 +4 -4
- data/.travis.yml +1 -0
- data/cocina.gemspec +0 -1
- data/example/.kitchen.yml +18 -2
- data/example/Berksfile +10 -0
- data/example/README.md +31 -0
- data/lib/cocina/cli.rb +15 -10
- data/lib/cocina/config.rb +1 -4
- data/lib/cocina/version.rb +1 -1
- metadata +3 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a635ff56f1db7bce214b644516a9928a4945526c
|
4
|
+
data.tar.gz: 5e9bd1f239c1117f61444f0a4a31c15901544379
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d1ca609ce1fa3edfbb6e6ab4e592d948d6c5ae8e82837bac5aa667298d00b9a5a18f7978252defb052f7f955e3687616c80d160e6582b23986c611bbb9c3a52
|
7
|
+
data.tar.gz: 2b364b05fb98210bee3601fd36bb3f8e30f73a0b264d02526716303a2ae51276dda1c6f245ea95826353ca33dc71437606c8ed85a963d7ed283d8bfeadfa9915
|
data/.travis.yml
CHANGED
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:
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
|
51
|
+
log_banner "Converging <#{dep}>"
|
51
52
|
instance(dep).converge
|
52
53
|
end
|
53
54
|
|
54
55
|
def cleanup
|
55
|
-
|
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
|
-
|
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)
|
data/lib/cocina/version.rb
CHANGED
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.
|
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
|