inprovise 0.2.25 → 0.2.26

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
- SHA1:
3
- metadata.gz: b0c39cd5641b1b6344caaa037b2a17e101ce6916
4
- data.tar.gz: 490cc558026a8d344a4c7b173a3f79331eebd5a4
2
+ SHA256:
3
+ metadata.gz: f1d82e40d8838f046b9da3215bda4199e3eea1cd8229d4b7372f15846813e47d
4
+ data.tar.gz: 303717b5beceec1c601973bed73709e2899bd4aa266b2758905628bda1946499
5
5
  SHA512:
6
- metadata.gz: ae32e1c77dc222f6e8d269a5bbc08474128a48cee76f0aee05d6cea312ab59b8145f6f256ea880c0e16ddda39bda252e85538453c449201f310ac2f6e58abc87
7
- data.tar.gz: af419012a18a010c153b54487c67d4939645db0498da5e4f1218f1515bbd02f768dd25075e366971a6f68a320add8cb8f4c6c2f08eb8531b1f7890990dd2c814
6
+ metadata.gz: 1092284c11fcbf3ef25fa2118ac76ed20292c07cf0540a96feccff9cfab83a652eb98b1a429e707c97ec11c35a0eea46216d25ebab0aa894e6c3eaafd6836b31
7
+ data.tar.gz: c7298371106a5f199a7d80b8bd343444493ce7f862c164bbc7d261b59ba88b351753824db6e4455c799f8e21e642c2a5f92aea0a647ad0869cab6229e01f8a68
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  Inprovise
3
3
  =========
4
4
 
5
- **Because provisioning small computing infrastructures should be simple, intuitive and NOT require additional infrastructure or elaborate setups just to run your provisioning scripts.**
5
+ **Because provisioning small computing infrastructures should be simple, intuitive and NOT require additional infrastructure or elaborate setups just to run your provisioning scripts.**
6
6
 
7
7
  Inprovise (Intuitive Provisioning Environment) is a super simple way to provision servers and virtual machines.
8
8
 
@@ -11,23 +11,23 @@ Inprovise (Intuitive Provisioning Environment) is a super simple way to provisio
11
11
  [![Test Coverage](https://codeclimate.com/github/mcorino/Inprovise/badges/coverage.png)](https://codeclimate.com/github/mcorino/Inprovise/coverage)
12
12
  [![Gem Version](https://badge.fury.io/rb/inprovise.png)](https://badge.fury.io/rb/inprovise)
13
13
 
14
- If you've found yourself stuck in the gap between deployment tools like Capistrano and full blown infrastructure tools like Puppet and Chef then Inprovise might be a good fit for you.
15
- This is especially the case if you choose to cycle machines and prefer baking from scratch when changes are required rather than attempting to converge system state
14
+ If you've found yourself stuck in the gap between deployment tools like Capistrano and full blown infrastructure tools like Puppet and Chef then Inprovise might be a good fit for you.
15
+ This is especially the case if you choose to cycle machines and prefer baking from scratch when changes are required rather than attempting to converge system state
16
16
  (although Inprovise is flexible and extensible enough to achieve anything you would like).
17
17
 
18
18
  Acknowledgement
19
19
  ---------------
20
20
 
21
- First off a very big acknowledgement.
22
- When searching (yet again) for a usable (as in 'easy' and 'intuitive') tool for managing the provisioning of our smallish computing farm
21
+ First off a very big acknowledgment.
22
+ When searching (yet again) for a usable (as in 'easy' and 'intuitive') tool for managing the provisioning of our smallish computing farm
23
23
  (consisting of <10 host servers each running 6-12 VMs each) and yet again becoming disappointed by the requirements and overkill offered by tools like
24
24
  Chef and Puppet, I finally found the *Orca* tool by Andy Kent (https://github.com/andykent/orca).
25
25
  *This* was what I was thinking of!
26
26
 
27
- Unfortunately Andy some time ago deprecated his project and there were some aspects of Orca I did not really like (a major one being the definition of the infrastructure nodes and groups inside the provisioning schemes)
27
+ Unfortunately Andy some time ago deprecated his project and there were some aspects of Orca I did not really like (a major one being the definition of the infrastructure nodes and groups inside the provisioning schemes)
28
28
  as well as some missing bits (like more flexibility in the platform support).
29
- I really did like the agent-less setup and the simple and elegant structure of the DSL though as well as the fact it was written in one of my favorite programming languages. As Andy's arguments for discontinuing
30
- did not apply to us I decided to take up his code and rework it to my ideas and provide it with a minimum of multi platform support to also be able to manage the non-*nix nodes we needed to provision.
29
+ I really did like the agent-less setup and the simple and elegant structure of the DSL though as well as the fact it was written in one of my favorite programming languages. As Andy's arguments for discontinuing
30
+ did not apply to us I decided to take up his code and rework it to my ideas and provide it with a minimum of multi platform support to also be able to manage the non-*nix nodes we needed to provision.
31
31
 
32
32
  As Andy indicated the Orca name was (to be) handed over to another gem maintainer and I did not particularly like it anyway (sorry Andy) I renamed the package. Andy's code proved quite resilient to my changes
33
33
  though and (apart from the name changes) I was able to copy large chunks more or less verbatim and rework those step by step thereby increasing my coding production significantly.
@@ -45,25 +45,25 @@ All too often you need to get a new server up and running to a known state so th
45
45
  Inprovise fills the rather large gap between (2) and (3). It's a bigger gap then you think as both Puppet and Chef require...
46
46
 
47
47
  - bootstrapping a machine to a point where you are able to run them
48
- - Creating a seperate repository describing the configuration you require
48
+ - Creating a separate repository describing the configuration you require
49
49
  - learning their complex syntaxes and structures
50
50
  - hiding the differences of different host OSes
51
51
 
52
52
  Inprovise fixes these problems by...
53
53
 
54
54
  - working directly over standardized protocols (SSH by default), all you need is a box that you can connect to
55
- - Inprovise maintains a simple (JSON) file based registry of your infrastructure
55
+ - Inprovise maintains a simple (JSON) file based registry of your infrastructure
56
56
  - scripting definitions can all go in a single file (although Inprovise supports modularization) and most servers can be configured in ~50 lines
57
57
  - scripts are defined in a ruby based DSL that consists of a very small number of basic commands to learn
58
58
  - Inprovise only requires a minimum operations (for cmd execution and file management) to be supported for any OS the details of which are abstracted through configurable handlers
59
59
  - apart from the protocol and minimal operation set Inprovise makes no assumptions about the underlying OS
60
- - Inprovise is extensible and adding platform specific features like package manager support can be achieved in a small amount of code using the core support
60
+ - Inprovise is extensible and adding platform specific features like package manager support can be achieved in a small amount of code using the core support
61
61
 
62
62
 
63
63
  What problems is Inprovise avoiding?
64
64
  -------------------------------
65
65
 
66
- Inprovise intentionally skirts around some important things that may or may not matter to you.
66
+ Inprovise intentionally skirts around some important things that may or may not matter to you.
67
67
  If they do then you are probably better using tools such as Puppet or Chef.
68
68
 
69
69
  Inprovise doesn't...
@@ -143,8 +143,8 @@ The Inprovise DSL
143
143
  Inprovise provides a Ruby based DSL to write your provisioning specifications. Files containing these provisioning
144
144
  specs are called `schemes`.
145
145
  Inprovise provisioning schemes are pure Ruby code and should preferably be stored in files with the '.rb' extension. When
146
- no scheme is specified Inprovise looks for the scheme `inprovise.rb` in the projects root (where the `infa.json` is located) by default.
147
- Scheme scripts are really simple to learn in less than 5 mins. Below is an example inprovise.rb file with some hints to help you get started.
146
+ no scheme is specified Inprovise looks for the scheme `inprovise.rb` in the projects root (where the `infa.json` is located) by default.
147
+ Scheme scripts are really simple to learn in less than 5 mins. Below is an example inprovise.rb file with some hints to help you get started.
148
148
  A more complete WIP example can be found in this gist... https://gist.github.com/andykent/5814997
149
149
 
150
150
  ````ruby
@@ -185,7 +185,7 @@ to contain pure Ruby code and is loaded as such. You can use this to require and
185
185
  scripts defined in your project's scheme files.
186
186
 
187
187
  As the scheme files themselves are also pure Ruby code you can also put configuration code there if that suites your use case better (for example if certain settings
188
- should only be available to scripts defined in one particular scheme file).
188
+ should only be available to scripts defined in one particular scheme file).
189
189
 
190
190
  Extensions
191
191
  ----------
@@ -30,7 +30,7 @@ Inprovise::Sniffer.define('linux', false) do
30
30
  binary_exists?('dnf') ? 'dnf' : 'yum'
31
31
  when 'linuxmint', 'ubuntu', 'debian'
32
32
  'apt'
33
- when /suse/
33
+ when 'suse', 'sles'
34
34
  'zypper'
35
35
  end
36
36
  end
@@ -41,7 +41,7 @@ Inprovise::Sniffer.define('linux', false) do
41
41
  when /RedHat/i
42
42
  'rhel'
43
43
  when /SUSE/i
44
- run("#{bin} -d").chomp =~ /opensuse/i ? 'opensuse' : 'suse'
44
+ run("#{bin} -d").chomp =~ /opensuse/i ? 'suse' : 'sles'
45
45
  else
46
46
  distro.downcase
47
47
  end
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Inprovise
7
7
 
8
- VERSION = '0.2.25'
8
+ VERSION = '0.2.26'
9
9
 
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inprovise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.25
4
+ version: 0.2.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-25 00:00:00.000000000 Z
11
+ date: 2018-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  version: '0'
171
171
  requirements: []
172
172
  rubyforge_project:
173
- rubygems_version: 2.4.8
173
+ rubygems_version: 2.7.7
174
174
  signing_key:
175
175
  specification_version: 4
176
176
  summary: Simple, easy and intuitive infrastructure provisioning