solokit 0.0.4.1 → 0.0.5

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.markdown CHANGED
@@ -25,5 +25,50 @@ For each layer, Solokit looks for a directory structure like this:
25
25
  Usage
26
26
  ---
27
27
 
28
- TBD
28
+ Create the basic directory structure:
29
+
30
+ mkdir project
31
+ cd project
32
+ mkdir -p envs/test/chef/roles
33
+
34
+
35
+ Add something like this to a Rakefile:
36
+
37
+ require 'rubygems'
38
+ require 'solokit'
39
+
40
+ namespace :test do
41
+ desc "Update system configuration"
42
+ task :provision do
43
+ Solokit::UserJsonGenerator.generate! "test"
44
+ Solokit::Chef.provision!("test", "test.example.com", Solokit::Configuration.new("test"))
45
+ end
46
+ end
47
+
48
+ Add user configuration to users.yml (optional, but you need to provide a chef/roles/base.json without the users role if you skip this step):
49
+
50
+ # User data used to setup user accounts using chef.
51
+ # The hash is generated with "openssl passwd -1".
52
+
53
+ # Random PWgen password
54
+ default_hash: $1$8jLGWmPB$yFGmUThzbL0DMarc1CIY1/
55
+
56
+ groups:
57
+ developers: user
58
+
59
+ users:
60
+ user:
61
+ hash: $1$8jLGWmPB$yFGmUThzbL0DMarc1CIY1/
62
+ keys: jocke@keymaker
63
+
64
+ ## -- Shared users --
65
+ deploy:
66
+ keys: group/developers
67
+
68
+ envs:
69
+ test:
70
+ users: group/developers deploy
71
+ sudo: group/developers
72
+
73
+ By default this setup assumes that you can login to root on the server using your ssh key.
29
74
 
data/lib/chef.rb CHANGED
@@ -22,7 +22,7 @@ module Solokit
22
22
  upload_files("cookbooks/upstream/*", "#{root}var/chef-solo/upstream-cookbooks") &&
23
23
  upload_files("cookbooks/site/*", "#{root}var/chef-solo/site-cookbooks") &&
24
24
  upload_files("envs/#{@env}/cookbooks/*", "#{root}var/chef-solo/site-cookbooks") &&
25
- upload_files("#{solokit_path}/chef*", "#{root}etc/chef") &&
25
+ upload_files("#{solokit_path}/chef/*", "#{root}etc/chef") &&
26
26
  upload_files("chef/*", "#{root}etc/chef") &&
27
27
  upload_files("envs/#{@env}/chef/*", "#{root}etc/chef")
28
28
  end
data/lib/configuration.rb CHANGED
@@ -3,7 +3,10 @@ require 'ostruct'
3
3
  module Solokit
4
4
  class Configuration < OpenStruct
5
5
  def initialize(*envs)
6
- shared_config = YAML.load_file("config.yml")
6
+ shared_config = { "debug_ssh" => false, "debug_chef" => false }
7
+ if File.exists?("config.yml")
8
+ shared_config = YAML.load_file("config.yml").merge(shared_config)
9
+ end
7
10
 
8
11
  config = shared_config
9
12
  envs.each do |env|
@@ -1,3 +1,3 @@
1
1
  module Solokit
2
- VERSION = "0.0.4.1"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solokit
3
3
  version: !ruby/object:Gem::Version
4
- hash: 93
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 4
10
- - 1
11
- version: 0.0.4.1
9
+ - 5
10
+ version: 0.0.5
12
11
  platform: ruby
13
12
  authors:
14
13
  - "Joakim Kolsj\xC3\xB6"