falkorlib 0.4.8 → 0.4.9
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/Gemfile.lock +1 -1
- data/lib/falkorlib/puppet/modules.rb +7 -6
- data/lib/falkorlib/tasks/puppet_modules.rake +4 -3
- data/lib/falkorlib/version.rb +1 -1
- data/spec/falkorlib/puppet_modules_spec.rb +9 -8
- data/spec/falkorlib/versioning_puppet_module_spec.rb +3 -3
- data/templates/puppet/modules/.gitignore +1 -2
- data/templates/puppet/modules/README.md.erb +58 -66
- data/templates/puppet/modules/Vagrantfile +2 -2
- data/templates/puppet/modules/doc/contributing.md.erb +31 -39
- data/templates/puppet/modules/doc/vagrant.md.erb +59 -0
- data/templates/puppet/modules/manifests/common/debian.pp.erb +10 -0
- data/templates/puppet/modules/manifests/common/redhat.pp.erb +10 -0
- data/templates/puppet/modules/manifests/common.pp.erb +127 -0
- data/templates/puppet/modules/manifests/init.pp.erb +9 -143
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 547ac0a671298d19987ffa23c3fac3d6172a94f9
|
4
|
+
data.tar.gz: 711e6f847ac8df89ccb2991978bcdb03852de130
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bcc4f2c3d71e273642155008f898266606e32630b3a8d2c98eb15eba1b8c1f3f859ad18bfe6eae768bce777968f9034437e215c99d89e6a2c72daec16437f4d
|
7
|
+
data.tar.gz: c8043d01e52d548282c8266ad8adc8cf949bb60d11582f7283ec52b84e6cb8bd211355b5d1e5316c463ea09746fd68e4ac8c93154e91652df5e098485b220a34
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
|
-
# Time-stamp: <Fri 2015-05-08
|
3
|
+
# Time-stamp: <Fri 2015-05-08 16:19 svarrette>
|
4
4
|
################################################################################
|
5
5
|
# Interface for the main Puppet Module operations
|
6
6
|
#
|
@@ -126,8 +126,8 @@ module FalkorLib #:nodoc:
|
|
126
126
|
# Supported platforms
|
127
127
|
config[:platforms] = [ 'debian' ]
|
128
128
|
config[:dependencies] = [{
|
129
|
-
"name"
|
130
|
-
"
|
129
|
+
"name" => "puppetlabs-stdlib",
|
130
|
+
"version_requirement" => ">=4.2.2 <5.0.0"
|
131
131
|
}]
|
132
132
|
config[:params] = [ 'ensure', 'protocol', 'port', 'packagename' ]
|
133
133
|
#ap config
|
@@ -164,11 +164,11 @@ module FalkorLib #:nodoc:
|
|
164
164
|
if FalkorLib::Git.init?(moduledir)
|
165
165
|
if FalkorLib::GitFlow.init?(moduledir)
|
166
166
|
info "=> preparing git-flow feature for the newly created module '#{config[:name]}'"
|
167
|
-
FalkorLib::GitFlow.start('feature', "
|
167
|
+
FalkorLib::GitFlow.start('feature', "bootstrapping", moduledir)
|
168
168
|
end
|
169
169
|
[ 'metadata.json',
|
170
|
-
|
171
|
-
|
170
|
+
'doc/', 'LICENSE', '.gitignore', '.ruby-version', '.ruby-gemset',
|
171
|
+
'Gemfile', '.vagrant_init.rb', 'Rakefile', 'Vagrantfile' ].each do |f|
|
172
172
|
FalkorLib::Git.add(File.join(moduledir, f))
|
173
173
|
end
|
174
174
|
end
|
@@ -301,6 +301,7 @@ module FalkorLib #:nodoc:
|
|
301
301
|
ans = options[:no_interaction] ? 'Yes' : ask(cyan("==> procceed? (Y|n)"), 'Yes')
|
302
302
|
next if ans =~ /n.*/i
|
303
303
|
if update_from_erb.include?(f)
|
304
|
+
ap "=> updating #{f}.erb"
|
304
305
|
i += write_from_erb_template(File.join(templatedir, "#{f}.erb"),
|
305
306
|
File.join(moduledir, f),
|
306
307
|
metadata,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
3
|
# puppet_modules.rake - Special tasks for the management of Puppet modules
|
4
|
-
# Time-stamp: <
|
4
|
+
# Time-stamp: <Fri 2015-05-08 15:33 svarrette>
|
5
5
|
#
|
6
6
|
# Copyright (c) 2014 Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
7
7
|
# http://varrette.gforge.uni.lu
|
@@ -130,10 +130,11 @@ namespace :templates do
|
|
130
130
|
|
131
131
|
[ 'readme', 'rake', 'vagrant' ].each do |t|
|
132
132
|
########### templates:upgrade:{readme,rake,vagrant} ###########
|
133
|
+
desc "Upgrade (overwrite) #{t.capitalize} using the current FalkorLib template"
|
133
134
|
task t.to_sym do
|
134
135
|
list = case t
|
135
136
|
when 'readme'
|
136
|
-
[ 'README.md', 'doc/contributing.md' ]
|
137
|
+
[ 'README.md', 'doc/contributing.md', 'doc/vagrant.md' ]
|
137
138
|
when 'rake'
|
138
139
|
[ 'Gemfile', 'Rakefile' ]
|
139
140
|
when 'vagrant'
|
@@ -169,7 +170,7 @@ exclude_tests_paths = ['pkg/**/*','spec/**/*']
|
|
169
170
|
#
|
170
171
|
require 'puppet-lint/tasks/puppet-lint'
|
171
172
|
|
172
|
-
PuppetLint.configuration.send('disable_autoloader_layout')
|
173
|
+
#PuppetLint.configuration.send('disable_autoloader_layout')
|
173
174
|
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
174
175
|
PuppetLint.configuration.send('disable_80chars')
|
175
176
|
PuppetLint.configuration.ignore_paths = exclude_tests_paths
|
data/lib/falkorlib/version.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# puppet_modules_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <Fri 2015-05-08
|
5
|
+
# Time-stamp: <Fri 2015-05-08 16:21 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the Puppet Modules operations
|
8
8
|
#
|
@@ -71,8 +71,8 @@ describe FalkorLib::Puppet::Modules do
|
|
71
71
|
"toto::params",
|
72
72
|
"toto",
|
73
73
|
"toto::common",
|
74
|
-
"toto::debian",
|
75
|
-
"toto::redhat"
|
74
|
+
"toto::common::debian",
|
75
|
+
"toto::common::redhat"
|
76
76
|
]
|
77
77
|
c.size.should == ref.size
|
78
78
|
c.each { |e| ref.should include(e) }
|
@@ -110,10 +110,10 @@ describe FalkorLib::Puppet::Modules do
|
|
110
110
|
'definitions',
|
111
111
|
'toto',
|
112
112
|
'toto::common',
|
113
|
-
'toto::debian',
|
113
|
+
'toto::common::debian',
|
114
|
+
'toto::common::redhat',
|
114
115
|
'toto::mydef',
|
115
116
|
'toto::params',
|
116
|
-
'toto::redhat',
|
117
117
|
]
|
118
118
|
end
|
119
119
|
|
@@ -147,12 +147,12 @@ describe FalkorLib::Puppet::Modules do
|
|
147
147
|
]
|
148
148
|
end
|
149
149
|
|
150
|
-
upgraded_files_default =
|
150
|
+
upgraded_files_default = 2
|
151
151
|
it "#upgrade" do
|
152
152
|
d = FalkorLib::Puppet::Modules.upgrade(moduledir, {
|
153
153
|
:no_interaction => true
|
154
154
|
})
|
155
|
-
|
155
|
+
d.should == upgraded_files_default
|
156
156
|
end
|
157
157
|
|
158
158
|
it "#upgrade -- with only a subset of files" do
|
@@ -168,7 +168,8 @@ describe FalkorLib::Puppet::Modules do
|
|
168
168
|
:no_interaction => true,
|
169
169
|
:exclude => [ 'README.md']
|
170
170
|
})
|
171
|
-
|
171
|
+
d.should == 0
|
172
|
+
#d.should == (upgraded_files_default - 1)
|
172
173
|
end
|
173
174
|
|
174
175
|
it "#upgrade -- both include and exclude files" do
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# versioning_puppet_module_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Fri 2015-05-08 16:28 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the versioning operations on Gems
|
8
8
|
#
|
@@ -51,14 +51,14 @@ describe FalkorLib::Versioning::Puppet do
|
|
51
51
|
###################################################################
|
52
52
|
context 'Test Puppet Module versioning operations within temporary directory' do
|
53
53
|
|
54
|
-
|
54
|
+
ap default_version
|
55
55
|
it "#get_version -- get default version #{default_version} after initialization" do
|
56
56
|
Array.new(16).each { |e| STDIN.should_receive(:gets).and_return('') }
|
57
57
|
FalkorLib::Puppet::Modules.init(moduledir)
|
58
58
|
v = FalkorLib::Versioning.get_version(moduledir)
|
59
59
|
v.should == default_version
|
60
60
|
if command?('git-flow')
|
61
|
-
a = FalkorLib::GitFlow.finish('feature', '
|
61
|
+
a = FalkorLib::GitFlow.finish('feature', 'bootstrapping', moduledir)
|
62
62
|
a.should == 0
|
63
63
|
end
|
64
64
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
-*- mode: markdown; mode:
|
1
|
+
-*- mode: markdown; mode: visual-line; -*-
|
2
2
|
|
3
3
|
# <%= config[:shortname].capitalize %> Puppet Module
|
4
4
|
|
@@ -16,16 +16,29 @@
|
|
16
16
|
|
17
17
|
## Synopsis
|
18
18
|
|
19
|
-
<%= config[:description]
|
19
|
+
<%= config[:description] %>.
|
20
20
|
|
21
21
|
This module implements the following elements:
|
22
22
|
|
23
|
-
*
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
* __Puppet classes__:
|
24
|
+
<% unless config[:classes].nil? %>
|
25
|
+
<% config[:classes].each do |cl| %>
|
26
|
+
- `<%= cl %>`
|
27
|
+
<% end %>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
* __Puppet definitions__:
|
31
|
+
<% unless config[:definitions].nil? %>
|
32
|
+
<% config[:definitions].each do |de| %>
|
33
|
+
- `<%= de %>`
|
34
|
+
<% end %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
All these components are configured through a set of variables you will find in
|
38
|
+
[`manifests/params.pp`](manifests/params.pp).
|
39
|
+
|
40
|
+
_Note_: the various operations that can be conducted from this repository are piloted from a [`Rakefile`](https://github.com/ruby/rake) and assumes you have a running [Ruby](https://www.ruby-lang.org/en/) installation.
|
41
|
+
See [`doc/contributing.md`](doc/contributing.md) for more details on the steps you shall follow to have this `Rakefile` working properly.
|
29
42
|
|
30
43
|
## Dependencies
|
31
44
|
|
@@ -35,19 +48,34 @@ See [`metadata.json`](metadata.json). In particular, this module depends on
|
|
35
48
|
* [<%= dep["name"].gsub(/-/,"/") %>](https://forge.puppetlabs.com/<%= dep["name"].gsub(/-/,"/") %>)
|
36
49
|
<% end %>
|
37
50
|
|
38
|
-
##
|
51
|
+
## Overview and Usage
|
39
52
|
|
40
|
-
|
53
|
+
### Class `<%= config[:shortname] %>`
|
41
54
|
|
42
|
-
|
55
|
+
This is the main class defined in this module.
|
56
|
+
It accepts the following parameters:
|
43
57
|
|
44
|
-
|
58
|
+
* `$ensure`: default to 'present', can be 'absent'
|
59
|
+
|
60
|
+
Use is as follows:
|
45
61
|
|
46
62
|
include ' <%= config[:shortname] %>'
|
47
63
|
|
48
|
-
|
64
|
+
See also [`tests/init.pp`](tests/init.pp)
|
49
65
|
|
50
|
-
|
66
|
+
<% unless config[:classes].nil? %>
|
67
|
+
<% config[:classes].each do |cl| %>
|
68
|
+
### Class `<%= cl %>`
|
69
|
+
|
70
|
+
See `tests/<%= cl.gsub(/::/, '/') %>.pp`
|
71
|
+
<% end %>
|
72
|
+
<% end %>
|
73
|
+
|
74
|
+
<% unless config[:definitions].nil? %>
|
75
|
+
<% config[:definitions].each do |de| %>
|
76
|
+
### Definition `<%= de %>`
|
77
|
+
|
78
|
+
The definition `<%= de %>` provides ...
|
51
79
|
This definition accepts the following parameters:
|
52
80
|
|
53
81
|
* `$ensure`: default to 'present', can be 'absent'
|
@@ -56,14 +84,18 @@ This definition accepts the following parameters:
|
|
56
84
|
|
57
85
|
Example:
|
58
86
|
|
59
|
-
|
60
|
-
|
61
|
-
|
87
|
+
<%= de %> { 'toto':
|
88
|
+
ensure => 'present',
|
89
|
+
}
|
90
|
+
|
91
|
+
See also `tests/<%= de.gsub(/::/, '/') %>.pp`
|
92
|
+
|
93
|
+
<% end %>
|
94
|
+
<% end %>
|
62
95
|
|
63
96
|
## Librarian-Puppet / R10K Setup
|
64
97
|
|
65
|
-
You can of course configure
|
66
|
-
available with [Librarian puppet](http://librarian-puppet.com/) or
|
98
|
+
You can of course configure the <%= config[:shortname] %> module in your `Puppetfile` to make it available with [Librarian puppet](http://librarian-puppet.com/) or
|
67
99
|
[r10k](https://github.com/adrienthebo/r10k) by adding the following entry:
|
68
100
|
|
69
101
|
# Modules from the Puppet Forge
|
@@ -77,60 +109,20 @@ or, if you prefer to work on the git version:
|
|
77
109
|
|
78
110
|
## Issues / Feature request
|
79
111
|
|
80
|
-
You can submit bug / issues / feature request using the
|
81
|
-
[<%= config[:name] %> Puppet Module Tracker](<%= config[:issues_url] %>).
|
82
|
-
|
112
|
+
You can submit bug / issues / feature request using the [<%= config[:name] %> Puppet Module Tracker](<%= config[:issues_url] %>).
|
83
113
|
|
84
114
|
## Developments / Contributing to the code
|
85
115
|
|
86
|
-
If you want to contribute to the code, you shall be aware of the way this module
|
87
|
-
is organized.
|
116
|
+
If you want to contribute to the code, you shall be aware of the way this module is organized.
|
88
117
|
These elements are detailed on [`doc/contributing.md`](doc/contributing.md)
|
89
118
|
|
90
|
-
You are more than welcome to contribute to its development by
|
91
|
-
[sending a pull request](https://help.github.com/articles/using-pull-requests).
|
92
|
-
|
93
|
-
## Tests on Vagrant box
|
94
|
-
|
95
|
-
The best way to test this module in a non-intrusive way is to rely on
|
96
|
-
[Vagrant](http://www.vagrantup.com/). The `Vagrantfile` at the root of the
|
97
|
-
repository pilot the provisioning of the vagrant box and relies on boxes
|
98
|
-
generated through my [vagrant-vms](https://github.com/falkor/vagrant-vms)
|
99
|
-
repository.
|
100
|
-
Once cloned, run
|
101
|
-
|
102
|
-
$> rake packer:Debian:init
|
103
|
-
|
104
|
-
To create a template. Select the version matching the once mentioned on the
|
105
|
-
`Vagrantfile` (`7.6.0-amd64` for instance)
|
106
|
-
Then run
|
107
|
-
|
108
|
-
$> rake packer:Debian:build
|
109
|
-
|
110
|
-
This shall generate the vagrant box `debian-7.6.0-amd64.box` that you can then
|
111
|
-
add to your box lists:
|
112
|
-
|
113
|
-
$> vagrant box add debian-7.6.0-amd64 packer/debian-7.6.0-amd64/debian-7.6.0-amd64.box
|
114
|
-
|
115
|
-
Now you can run `vagrant up` from this repository to boot the VM, provision it
|
116
|
-
to be ready to test this module (see the [`.vagrant_init.rb`](.vagrant_init.rb)
|
117
|
-
script). For instance, you can test the manifests of the `tests/` directory
|
118
|
-
within the VM:
|
119
|
-
|
120
|
-
$> vagrant ssh
|
121
|
-
[...]
|
122
|
-
(vagrant)$> sudo puppet apply -t /vagrant/tests/init.pp
|
123
|
-
|
124
|
-
Run `vagrant halt` (or `vagrant destroy`) to stop (or kill) the VM once you've
|
125
|
-
finished to play with it.
|
119
|
+
You are more than welcome to contribute to its development by [sending a pull request](https://help.github.com/articles/using-pull-requests).
|
126
120
|
|
127
|
-
##
|
121
|
+
## Puppet modules tests within a Vagrant box
|
128
122
|
|
129
|
-
|
123
|
+
The best way to test this module in a non-intrusive way is to rely on [Vagrant](http://www.vagrantup.com/).
|
124
|
+
The `Vagrantfile` at the root of the repository pilot the provisioning various vagrant boxes available on [Vagrant cloud](https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93&sort=&provider=virtualbox&q=svarrette) you can use to test this module.
|
130
125
|
|
131
|
-
|
126
|
+
See [`doc/vagrant.md`](doc/vagrant.md) for more details.
|
132
127
|
|
133
|
-
* [Git book](http://book.git-scm.com/index.html)
|
134
|
-
* [Github:help](http://help.github.com/mac-set-up-git/)
|
135
|
-
* [Git reference](http://gitref.org/)
|
136
128
|
|
@@ -21,8 +21,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
21
21
|
}
|
22
22
|
}.each do |name,cfg|
|
23
23
|
boxname = name.to_s.downcase.gsub(/_/, '-')
|
24
|
-
config.vm.define boxname do |local|
|
25
|
-
local.vm.primary = true if cfg[:primary]
|
24
|
+
config.vm.define boxname, :primary => cfg[:primary] do |local|
|
25
|
+
#local.vm.primary = true if cfg[:primary]
|
26
26
|
local.vm.box = cfg[:box]
|
27
27
|
local.vm.host_name = ENV['VAGRANT_HOSTNAME'] || name.to_s.downcase.gsub(/_/, '-').concat(".vagrant.com")
|
28
28
|
local.vm.provision "shell", path: ".vagrant_init.rb"
|
@@ -1,9 +1,8 @@
|
|
1
|
-
-*- mode: markdown; mode:
|
1
|
+
-*- mode: markdown; mode: visual-line; -*-
|
2
2
|
|
3
3
|
# <%= config[:shortname].capitalize %> Puppet Module Developments
|
4
4
|
|
5
|
-
If you want to contribute to the code, you shall be aware of the way this module
|
6
|
-
is organized.
|
5
|
+
If you want to contribute to the code, you shall be aware of the way this module is organized.
|
7
6
|
|
8
7
|
### Directory Layout
|
9
8
|
|
@@ -15,7 +14,17 @@ is organized.
|
|
15
14
|
`-- manifests/
|
16
15
|
`-- init.pp # Main manifests file which defines the <%= config[:shortname] %> class
|
17
16
|
`-- params.pp # <%= config[:name] %> module variables
|
18
|
-
|
17
|
+
<% unless config[:classes].nil? %>
|
18
|
+
<% config[:classes].each do |cl| %>
|
19
|
+
<% next if cl =~ /params/ %>
|
20
|
+
`-- <%= cl.gsub(/::/, '/') %>.pp
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
<% unless config[:definitions].nil? %>
|
24
|
+
<% config[:definitions].each do |de| %>
|
25
|
+
`-- <%= de.gsub(/::/, '/') %>.pp
|
26
|
+
<% end %>
|
27
|
+
<% end %>
|
19
28
|
`-- templates/ # Module ERB template files
|
20
29
|
`-- tests/ # Contains examples showing how to declare the module’s classes and defined type
|
21
30
|
`-- spec/ # Contains rspec tests
|
@@ -28,21 +37,13 @@ is organized.
|
|
28
37
|
|
29
38
|
### Git Branching Model
|
30
39
|
|
31
|
-
The Git branching model for this repository follows the guidelines of
|
32
|
-
|
33
|
-
In particular, the central repository holds two main branches with an infinite
|
34
|
-
lifetime:
|
40
|
+
The Git branching model for this repository follows the guidelines of [gitflow](http://nvie.com/posts/a-successful-git-branching-model/).
|
41
|
+
In particular, the central repository holds two main branches with an infinite lifetime:
|
35
42
|
|
36
|
-
* `<%= FalkorLib.config[:gitflow][:branches][:master] %>`: the branch holding
|
37
|
-
|
38
|
-
* `<%= FalkorLib.config[:gitflow][:branches][:develop] %>`: the main branch
|
39
|
-
where the sources are in a state with the latest delivered development changes
|
40
|
-
for the next release. This is the *default* branch you get when you clone the
|
41
|
-
repository, and the one on which developments will take places.
|
43
|
+
* `<%= FalkorLib.config[:gitflow][:branches][:master] %>`: the branch holding tags of the successive releases of this tutorial
|
44
|
+
* `<%= FalkorLib.config[:gitflow][:branches][:develop] %>`: the main branch where the sources are in a state with the latest delivered development changes for the next release. This is the *default* branch you get when you clone the repository, and the one on which developments will take places.
|
42
45
|
|
43
|
-
You should therefore install [git-flow](https://github.com/nvie/gitflow), and
|
44
|
-
probably also its associated
|
45
|
-
[bash completion](https://github.com/bobthecow/git-flow-completion).
|
46
|
+
You should therefore install [git-flow](https://github.com/nvie/gitflow), and probably also its associated [bash completion](https://github.com/bobthecow/git-flow-completion).
|
46
47
|
|
47
48
|
### Ruby, [RVM](https://rvm.io/) and [Bundler](http://bundler.io/)
|
48
49
|
|
@@ -59,39 +60,31 @@ The ruby stuff part of this repository corresponds to the following files:
|
|
59
60
|
project as [gemset](https://rvm.io/gemsets) name
|
60
61
|
* `Gemfile[.lock]`: used by `[bundle](http://bundler.io/)`
|
61
62
|
|
62
|
-
|
63
|
+
### Repository Setup
|
64
|
+
|
65
|
+
Then, to make your local copy of the repository ready to use the [git-flow](https://github.com/nvie/gitflow) workflow and the local [RVM](https://rvm.io/) setup, you have to run the following commands once you cloned it for the first time:
|
63
66
|
|
64
|
-
|
67
|
+
$> gem install bundler # assuming it is not yet available
|
68
|
+
$> bundle install
|
69
|
+
$> rake -T # To list the available tasks
|
70
|
+
$> rake setup
|
65
71
|
|
66
72
|
You probably wants to activate the bash-completion for rake tasks.
|
67
73
|
I personnaly use the one provided [here](https://github.com/ai/rake-completion)
|
68
74
|
|
69
75
|
Also, some of the tasks are hidden. Run `rake -T -A` to list all of them.
|
70
76
|
|
71
|
-
### Repository Setup
|
72
|
-
|
73
|
-
Then, to make your local copy of the repository ready to use the
|
74
|
-
[git-flow](https://github.com/nvie/gitflow) workflow and the local
|
75
|
-
[RVM](https://rvm.io/) setup, you have to run the following commands once you
|
76
|
-
cloned it for the first time:
|
77
|
-
|
78
|
-
$> rake setup
|
79
|
-
|
80
77
|
### RSpec tests
|
81
78
|
|
82
|
-
A set of unitary tests are defined to validate the different function of my
|
83
|
-
library using [Rspec](http://rspec.info/)
|
79
|
+
A set of unitary tests are defined to validate the different function of my library using [Rspec](http://rspec.info/)
|
84
80
|
|
85
81
|
You can run these tests by issuing:
|
86
82
|
|
87
83
|
$> rake rspec # NOT YET IMPLEMENTED
|
88
84
|
|
89
|
-
By conventions, you will find all the currently implemented tests in the `spec/`
|
90
|
-
directory, in files having the `_spec.rb` suffix. This is expected from the
|
91
|
-
`rspec` task of the `Rakefile`.
|
85
|
+
By conventions, you will find all the currently implemented tests in the `spec/` directory, in files having the `_spec.rb` suffix. This is expected from the `rspec` task of the `Rakefile`.
|
92
86
|
|
93
|
-
**Important** Kindly stick to this convention, and feature tests for all
|
94
|
-
definitions/classes/modules you might want to add.
|
87
|
+
**Important** Kindly stick to this convention, and feature tests for all definitions/classes/modules you might want to add.
|
95
88
|
|
96
89
|
### Releasing mechanism
|
97
90
|
|
@@ -117,15 +110,14 @@ For more information on the version, run:
|
|
117
110
|
|
118
111
|
If a new version number such be bumped, you simply have to run:
|
119
112
|
|
120
|
-
|
113
|
+
$> rake version:bump:{major,minor,patch}
|
121
114
|
|
122
115
|
This will start the release process for you using `git-flow`.
|
123
116
|
Then, to make the release effective, just run:
|
124
117
|
|
125
|
-
|
118
|
+
$> rake version:release
|
126
119
|
|
127
|
-
This will finalize the release using `git-flow`, create the appropriate tag and
|
128
|
-
merge all things the way they should be.
|
120
|
+
This will finalize the release using `git-flow`, create the appropriate tag and merge all things the way they should be.
|
129
121
|
|
130
122
|
# Contributing Notes
|
131
123
|
|
@@ -0,0 +1,59 @@
|
|
1
|
+
-*- mode: markdown; mode: visual-line; -*-
|
2
|
+
|
3
|
+
# <%= config[:shortname].capitalize %> Puppet Module Tests with Vagrant
|
4
|
+
|
5
|
+
The best way to test this module in a non-intrusive way is to rely on [Vagrant](http://www.vagrantup.com/).
|
6
|
+
[Vagrant](http://vagrantup.com/) uses [Oracle's VirtualBox](http://www.virtualbox.org/)
|
7
|
+
to build configurable, lightweight, and portable virtual machines dynamically.
|
8
|
+
|
9
|
+
* [Reference installation notes](http://docs.vagrantup.com/v2/installation/) -- assuming you have installed [Oracle's VirtualBox](http://www.virtualbox.org/)
|
10
|
+
* [installation notes on Mac OS](http://sourabhbajaj.com/mac-setup/Vagrant/README.html) using [Homebrew](http://brew.sh/) and [Cask](http://sourabhbajaj.com/mac-setup/Homebrew/Cask.html)
|
11
|
+
|
12
|
+
The `Vagrantfile` at the root of the repository pilot the provisioning of many vagrant boxes generated through the [vagrant-vms](https://github.com/falkor/vagrant-vms) repository and available on [Vagrant cloud](https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93&sort=&provider=virtualbox&q=svarrette).
|
13
|
+
|
14
|
+
You can list the available vagrant box as follows:
|
15
|
+
|
16
|
+
$> vagrant status
|
17
|
+
Current machine states:
|
18
|
+
|
19
|
+
centos-7 not created (virtualbox)
|
20
|
+
debian-7 not created (virtualbox)
|
21
|
+
|
22
|
+
This environment represents multiple VMs. The VMs are all listed
|
23
|
+
above with their current state. For more information about a specific
|
24
|
+
VM, run `vagrant status NAME`.
|
25
|
+
|
26
|
+
As suggested, you can run a debian 7 machine for instance by issuing:
|
27
|
+
|
28
|
+
$> vagrant up debian-7
|
29
|
+
|
30
|
+
Then you can ssh into the machine afterwards:
|
31
|
+
|
32
|
+
$> vagrant ssh debian-7
|
33
|
+
|
34
|
+
When you run `vagrant up <os>` to boot the VM, it is configured to be provisioned with the `.vagrant_init.rb` script.
|
35
|
+
This script is responsible for two main tasks:
|
36
|
+
|
37
|
+
1. pre-install the puppet modules listed as dependencies in `metadata.json`
|
38
|
+
2. make the appropriate symbolic link in the puppet module directory (to `/vagrant`) to ensure you can directly make changes and correct your own module transparently within the box.
|
39
|
+
|
40
|
+
So you can test the manifests of the `tests/` directory within the VM:
|
41
|
+
|
42
|
+
$> vagrant ssh <os>
|
43
|
+
[...]
|
44
|
+
(vagrant)$> sudo puppet apply -t /vagrant/tests/init.pp
|
45
|
+
|
46
|
+
From now on, you can test (with --noop) the other manifests.
|
47
|
+
|
48
|
+
Run `vagrant halt` (or `vagrant destroy`) to stop (or kill) the VM once you've finished to play with it.
|
49
|
+
|
50
|
+
_Note_: The `Vagrantfile` at the root of this repository might evolve over the time with new boxes. To automatically get the last version available:
|
51
|
+
|
52
|
+
1. Upgrade the [`falkorlib`](https://rubygems.org/gems/falkorlib) gem
|
53
|
+
|
54
|
+
$> bundle update falkorlib
|
55
|
+
$> git commit -s -m "Upgrade falkorlib to the latest version" Gemfile.lock
|
56
|
+
|
57
|
+
2. update the `Vagrantfile` to the last version by issuing:
|
58
|
+
|
59
|
+
$> rake templates:upgrade:vagrant
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# File:: <tt>common/debian.pp</tt>
|
2
|
+
# Author:: <%= config[:author] %> (<%= config[:mail] %>)
|
3
|
+
# Copyright:: Copyright (c) <%= Time.now.year %> <%= config[:author] %>
|
4
|
+
# License:: <%= config[:license].capitalize %>
|
5
|
+
#
|
6
|
+
# ------------------------------------------------------------------------------
|
7
|
+
# = Class: <%= config[:shortname] %>::debian
|
8
|
+
#
|
9
|
+
# Specialization class for Debian systems
|
10
|
+
class <%= config[:shortname] %>::common::debian inherits <%= config[:shortname] %>::common { }
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# File:: <tt>common/redhat.pp</tt>
|
2
|
+
# Author:: <%= config[:author] %> (<%= config[:mail] %>)
|
3
|
+
# Copyright:: Copyright (c) <%= Time.now.year %> <%= config[:author] %>
|
4
|
+
# License:: <%= config[:license].capitalize %>
|
5
|
+
#
|
6
|
+
# ------------------------------------------------------------------------------
|
7
|
+
# = Class: <%= config[:shortname] %>::debian
|
8
|
+
#
|
9
|
+
# Specialization class for Debian systems
|
10
|
+
class <%= config[:shortname] %>::common::redhat inherits <%= config[:shortname] %>::common { }
|
@@ -0,0 +1,127 @@
|
|
1
|
+
# File:: <tt>common.pp</tt>
|
2
|
+
# Author:: <%= config[:author] %> (<%= config[:mail] %>)
|
3
|
+
# Copyright:: Copyright (c) <%= Time.now.year %> <%= config[:author] %>
|
4
|
+
# License:: <%= config[:license].capitalize %>
|
5
|
+
#
|
6
|
+
# ------------------------------------------------------------------------------
|
7
|
+
# = Class: <%= config[:shortname] %>::common
|
8
|
+
#
|
9
|
+
# Base class to be inherited by the other <%= config[:shortname] %> classes, containing the common code.
|
10
|
+
#
|
11
|
+
# Note: respect the Naming standard provided here[http://projects.puppetlabs.com/projects/puppet/wiki/Module_Standards]
|
12
|
+
|
13
|
+
class <%= config[:shortname] %>::common {
|
14
|
+
|
15
|
+
# Load the variables used in this module. Check the params.pp file
|
16
|
+
require <%= config[:shortname] %>::params
|
17
|
+
|
18
|
+
package { '<%= config[:shortname] %>':
|
19
|
+
name => "${<%= config[:shortname] %>::params::packagename}",
|
20
|
+
ensure => "${<%= config[:shortname] %>::ensure}",
|
21
|
+
}
|
22
|
+
# package { $<%= config[:shortname] %>::params::extra_packages:
|
23
|
+
# ensure => 'present'
|
24
|
+
# }
|
25
|
+
|
26
|
+
if $<%= config[:shortname] %>::ensure == 'present' {
|
27
|
+
|
28
|
+
# Prepare the log directory
|
29
|
+
file { "${<%= config[:shortname] %>::params::logdir}":
|
30
|
+
ensure => 'directory',
|
31
|
+
owner => "${<%= config[:shortname] %>::params::logdir_owner}",
|
32
|
+
group => "${<%= config[:shortname] %>::params::logdir_group}",
|
33
|
+
mode => "${<%= config[:shortname] %>::params::logdir_mode}",
|
34
|
+
require => Package['<%= config[:shortname] %>'],
|
35
|
+
}
|
36
|
+
|
37
|
+
# Configuration file
|
38
|
+
# file { "${<%= config[:shortname] %>::params::configdir}":
|
39
|
+
# ensure => 'directory',
|
40
|
+
# owner => "${<%= config[:shortname] %>::params::configdir_owner}",
|
41
|
+
# group => "${<%= config[:shortname] %>::params::configdir_group}",
|
42
|
+
# mode => "${<%= config[:shortname] %>::params::configdir_mode}",
|
43
|
+
# require => Package['<%= config[:shortname] %>'],
|
44
|
+
# }
|
45
|
+
# Regular version using file resource
|
46
|
+
file { '<%= config[:shortname] %>.conf':
|
47
|
+
path => "${<%= config[:shortname] %>::params::configfile}",
|
48
|
+
owner => "${<%= config[:shortname] %>::params::configfile_owner}",
|
49
|
+
group => "${<%= config[:shortname] %>::params::configfile_group}",
|
50
|
+
mode => "${<%= config[:shortname] %>::params::configfile_mode}",
|
51
|
+
ensure => "${<%= config[:shortname] %>::ensure}",
|
52
|
+
#content => template("<%= config[:shortname] %>/<%= config[:shortname] %>conf.erb"),
|
53
|
+
#source => "puppet:///modules/<%= config[:shortname] %>/<%= config[:shortname] %>.conf",
|
54
|
+
#notify => Service['<%= config[:shortname] %>'],
|
55
|
+
require => [
|
56
|
+
#File["${<%= config[:shortname] %>::params::configdir}"],
|
57
|
+
Package['<%= config[:shortname] %>']
|
58
|
+
],
|
59
|
+
}
|
60
|
+
|
61
|
+
# # Concat version -- see https://forge.puppetlabs.com/puppetlabs/concat
|
62
|
+
# include concat::setup
|
63
|
+
# concat { "${<%= config[:shortname] %>::params::configfile}":
|
64
|
+
# warn => false,
|
65
|
+
# owner => "${<%= config[:shortname] %>::params::configfile_owner}",
|
66
|
+
# group => "${<%= config[:shortname] %>::params::configfile_group}",
|
67
|
+
# mode => "${<%= config[:shortname] %>::params::configfile_mode}",
|
68
|
+
# #notify => Service['<%= config[:shortname] %>'],
|
69
|
+
# require => Package['<%= config[:shortname] %>'],
|
70
|
+
# }
|
71
|
+
# # Populate the configuration file
|
72
|
+
# concat::fragment { "${<%= config[:shortname] %>::params::configfile}_header":
|
73
|
+
# target => "${<%= config[:shortname] %>::params::configfile}",
|
74
|
+
# ensure => "${<%= config[:shortname] %>::ensure}",
|
75
|
+
# content => template("<%= config[:shortname] %>/<%= config[:shortname] %>_header.conf.erb"),
|
76
|
+
# #source => "puppet:///modules/<%= config[:shortname] %>/<%= config[:shortname] %>_header.conf",
|
77
|
+
# order => '01',
|
78
|
+
# }
|
79
|
+
# concat::fragment { "${<%= config[:shortname] %>::params::configfile}_footer":
|
80
|
+
# target => "${<%= config[:shortname] %>::params::configfile}",
|
81
|
+
# ensure => "${<%= config[:shortname] %>::ensure}",
|
82
|
+
# content => template("<%= config[:shortname] %>/<%= config[:shortname] %>_footer.conf.erb"),
|
83
|
+
# #source => "puppet:///modules/<%= config[:shortname] %>/<%= config[:shortname] %>_footer.conf",
|
84
|
+
# order => '99',
|
85
|
+
# }
|
86
|
+
|
87
|
+
# PID file directory
|
88
|
+
# file { "${<%= config[:shortname] %>::params::piddir}":
|
89
|
+
# ensure => 'directory',
|
90
|
+
# owner => "${<%= config[:shortname] %>::params::piddir_user}",
|
91
|
+
# group => "${<%= config[:shortname] %>::params::piddir_group}",
|
92
|
+
# mode => "${<%= config[:shortname] %>::params::piddir_mode}",
|
93
|
+
# }
|
94
|
+
|
95
|
+
file { "${<%= config[:shortname] %>::params::configfile_init}":
|
96
|
+
owner => "${<%= config[:shortname] %>::params::configfile_owner}",
|
97
|
+
group => "${<%= config[:shortname] %>::params::configfile_group}",
|
98
|
+
mode => "${<%= config[:shortname] %>::params::configfile_mode}",
|
99
|
+
ensure => "${<%= config[:shortname] %>::ensure}",
|
100
|
+
#content => template("<%= config[:shortname] %>/default/<%= config[:shortname] %>.erb"),
|
101
|
+
#source => "puppet:///modules/<%= config[:shortname] %>/default/<%= config[:shortname] %>.conf",
|
102
|
+
notify => Service['<%= config[:shortname] %>'],
|
103
|
+
require => Package['<%= config[:shortname] %>']
|
104
|
+
}
|
105
|
+
|
106
|
+
service { '<%= config[:shortname] %>':
|
107
|
+
name => "${<%= config[:shortname] %>::params::servicename}",
|
108
|
+
enable => true,
|
109
|
+
ensure => running,
|
110
|
+
hasrestart => "${<%= config[:shortname] %>::params::hasrestart}",
|
111
|
+
pattern => "${<%= config[:shortname] %>::params::processname}",
|
112
|
+
hasstatus => "${<%= config[:shortname] %>::params::hasstatus}",
|
113
|
+
require => [
|
114
|
+
Package['<%= config[:shortname] %>'],
|
115
|
+
File["${<%= config[:shortname] %>::params::configfile_init}"]
|
116
|
+
],
|
117
|
+
subscribe => File['<%= config[:shortname] %>.conf'],
|
118
|
+
}
|
119
|
+
}
|
120
|
+
else
|
121
|
+
{
|
122
|
+
# Here $<%= config[:shortname] %>::ensure is 'absent'
|
123
|
+
|
124
|
+
}
|
125
|
+
|
126
|
+
}
|
127
|
+
|
@@ -22,12 +22,12 @@
|
|
22
22
|
#
|
23
23
|
# == Sample Usage:
|
24
24
|
#
|
25
|
-
#
|
25
|
+
# include '<%= config[:shortname] %>'
|
26
26
|
#
|
27
27
|
# You can then specialize the various aspects of the configuration,
|
28
28
|
# for instance:
|
29
29
|
#
|
30
|
-
# class { '<%= config[:
|
30
|
+
# class { '<%= config[:shortname] %>':
|
31
31
|
# ensure => 'present'
|
32
32
|
# }
|
33
33
|
#
|
@@ -39,159 +39,25 @@
|
|
39
39
|
#
|
40
40
|
# [Remember: No empty lines between comments and class definition]
|
41
41
|
#
|
42
|
-
class <%= config[:
|
43
|
-
$ensure = $<%= config[:
|
42
|
+
class <%= config[:shortname] %>(
|
43
|
+
$ensure = $<%= config[:shortname] %>::params::ensure
|
44
44
|
)
|
45
|
-
inherits <%= config[:
|
45
|
+
inherits <%= config[:shortname] %>::params
|
46
46
|
{
|
47
|
-
info ("Configuring <%= config[:
|
47
|
+
info ("Configuring <%= config[:shortname] %> (with ensure = ${ensure})")
|
48
48
|
|
49
49
|
if ! ($ensure in [ 'present', 'absent' ]) {
|
50
|
-
fail("<%= config[:
|
50
|
+
fail("<%= config[:shortname] %> 'ensure' parameter must be set to either 'absent' or 'present'")
|
51
51
|
}
|
52
52
|
|
53
53
|
case $::operatingsystem {
|
54
|
-
debian, ubuntu: { include <%= config[:
|
55
|
-
redhat, fedora, centos: { include <%= config[:
|
54
|
+
debian, ubuntu: { include <%= config[:shortname] %>::common::debian }
|
55
|
+
redhat, fedora, centos: { include <%= config[:shortname] %>::common::redhat }
|
56
56
|
default: {
|
57
57
|
fail("Module $module_name is not supported on $operatingsystem")
|
58
58
|
}
|
59
59
|
}
|
60
60
|
}
|
61
61
|
|
62
|
-
# ------------------------------------------------------------------------------
|
63
|
-
# = Class: <%= config[:name] %>::common
|
64
|
-
#
|
65
|
-
# Base class to be inherited by the other <%= config[:name] %> classes
|
66
|
-
#
|
67
|
-
# Note: respect the Naming standard provided here[http://projects.puppetlabs.com/projects/puppet/wiki/Module_Standards]
|
68
|
-
class <%= config[:name] %>::common {
|
69
|
-
|
70
|
-
# Load the variables used in this module. Check the <%= config[:name] %>-params.pp file
|
71
|
-
require <%= config[:name] %>::params
|
72
|
-
|
73
|
-
package { '<%= config[:name] %>':
|
74
|
-
name => "${<%= config[:name] %>::params::packagename}",
|
75
|
-
ensure => "${<%= config[:name] %>::ensure}",
|
76
|
-
}
|
77
|
-
# package { $<%= config[:name] %>::params::extra_packages:
|
78
|
-
# ensure => 'present'
|
79
|
-
# }
|
80
|
-
|
81
|
-
if $<%= config[:name] %>::ensure == 'present' {
|
82
|
-
|
83
|
-
# Prepare the log directory
|
84
|
-
file { "${<%= config[:name] %>::params::logdir}":
|
85
|
-
ensure => 'directory',
|
86
|
-
owner => "${<%= config[:name] %>::params::logdir_owner}",
|
87
|
-
group => "${<%= config[:name] %>::params::logdir_group}",
|
88
|
-
mode => "${<%= config[:name] %>::params::logdir_mode}",
|
89
|
-
require => Package['<%= config[:name] %>'],
|
90
|
-
}
|
91
|
-
|
92
|
-
# Configuration file
|
93
|
-
# file { "${<%= config[:name] %>::params::configdir}":
|
94
|
-
# ensure => 'directory',
|
95
|
-
# owner => "${<%= config[:name] %>::params::configdir_owner}",
|
96
|
-
# group => "${<%= config[:name] %>::params::configdir_group}",
|
97
|
-
# mode => "${<%= config[:name] %>::params::configdir_mode}",
|
98
|
-
# require => Package['<%= config[:name] %>'],
|
99
|
-
# }
|
100
|
-
# Regular version using file resource
|
101
|
-
file { '<%= config[:name] %>.conf':
|
102
|
-
path => "${<%= config[:name] %>::params::configfile}",
|
103
|
-
owner => "${<%= config[:name] %>::params::configfile_owner}",
|
104
|
-
group => "${<%= config[:name] %>::params::configfile_group}",
|
105
|
-
mode => "${<%= config[:name] %>::params::configfile_mode}",
|
106
|
-
ensure => "${<%= config[:name] %>::ensure}",
|
107
|
-
#content => template("<%= config[:name] %>/<%= config[:name] %>conf.erb"),
|
108
|
-
#source => "puppet:///modules/<%= config[:name] %>/<%= config[:name] %>.conf",
|
109
|
-
#notify => Service['<%= config[:name] %>'],
|
110
|
-
require => [
|
111
|
-
#File["${<%= config[:name] %>::params::configdir}"],
|
112
|
-
Package['<%= config[:name] %>']
|
113
|
-
],
|
114
|
-
}
|
115
|
-
|
116
|
-
# # Concat version
|
117
|
-
# include concat::setup
|
118
|
-
# concat { "${<%= config[:name] %>::params::configfile}":
|
119
|
-
# warn => false,
|
120
|
-
# owner => "${<%= config[:name] %>::params::configfile_owner}",
|
121
|
-
# group => "${<%= config[:name] %>::params::configfile_group}",
|
122
|
-
# mode => "${<%= config[:name] %>::params::configfile_mode}",
|
123
|
-
# #notify => Service['<%= config[:name] %>'],
|
124
|
-
# require => Package['<%= config[:name] %>'],
|
125
|
-
# }
|
126
|
-
# # Populate the configuration file
|
127
|
-
# concat::fragment { "${<%= config[:name] %>::params::configfile}_header":
|
128
|
-
# target => "${<%= config[:name] %>::params::configfile}",
|
129
|
-
# ensure => "${<%= config[:name] %>::ensure}",
|
130
|
-
# content => template("<%= config[:name] %>/<%= config[:name] %>_header.conf.erb"),
|
131
|
-
# #source => "puppet:///modules/<%= config[:name] %>/<%= config[:name] %>_header.conf",
|
132
|
-
# order => '01',
|
133
|
-
# }
|
134
|
-
# concat::fragment { "${<%= config[:name] %>::params::configfile}_footer":
|
135
|
-
# target => "${<%= config[:name] %>::params::configfile}",
|
136
|
-
# ensure => "${<%= config[:name] %>::ensure}",
|
137
|
-
# content => template("<%= config[:name] %>/<%= config[:name] %>_footer.conf.erb"),
|
138
|
-
# #source => "puppet:///modules/<%= config[:name] %>/<%= config[:name] %>_footer.conf",
|
139
|
-
# order => '99',
|
140
|
-
# }
|
141
|
-
|
142
|
-
# PID file directory
|
143
|
-
# file { "${<%= config[:name] %>::params::piddir}":
|
144
|
-
# ensure => 'directory',
|
145
|
-
# owner => "${<%= config[:name] %>::params::piddir_user}",
|
146
|
-
# group => "${<%= config[:name] %>::params::piddir_group}",
|
147
|
-
# mode => "${<%= config[:name] %>::params::piddir_mode}",
|
148
|
-
# }
|
149
|
-
|
150
|
-
file { "${<%= config[:name] %>::params::configfile_init}":
|
151
|
-
owner => "${<%= config[:name] %>::params::configfile_owner}",
|
152
|
-
group => "${<%= config[:name] %>::params::configfile_group}",
|
153
|
-
mode => "${<%= config[:name] %>::params::configfile_mode}",
|
154
|
-
ensure => "${<%= config[:name] %>::ensure}",
|
155
|
-
#content => template("<%= config[:name] %>/default/<%= config[:name] %>.erb"),
|
156
|
-
#source => "puppet:///modules/<%= config[:name] %>/default/<%= config[:name] %>.conf",
|
157
|
-
notify => Service['<%= config[:name] %>'],
|
158
|
-
require => Package['<%= config[:name] %>']
|
159
|
-
}
|
160
|
-
|
161
|
-
service { '<%= config[:name] %>':
|
162
|
-
name => "${<%= config[:name] %>::params::servicename}",
|
163
|
-
enable => true,
|
164
|
-
ensure => running,
|
165
|
-
hasrestart => "${<%= config[:name] %>::params::hasrestart}",
|
166
|
-
pattern => "${<%= config[:name] %>::params::processname}",
|
167
|
-
hasstatus => "${<%= config[:name] %>::params::hasstatus}",
|
168
|
-
require => [
|
169
|
-
Package['<%= config[:name] %>'],
|
170
|
-
File["${<%= config[:name] %>::params::configfile_init}"]
|
171
|
-
],
|
172
|
-
subscribe => File['<%= config[:name] %>.conf'],
|
173
|
-
}
|
174
|
-
}
|
175
|
-
else
|
176
|
-
{
|
177
|
-
# Here $<%= config[:name] %>::ensure is 'absent'
|
178
|
-
|
179
|
-
}
|
180
|
-
|
181
|
-
}
|
182
|
-
|
183
|
-
|
184
|
-
# ------------------------------------------------------------------------------
|
185
|
-
# = Class: <%= config[:name] %>::debian
|
186
|
-
#
|
187
|
-
# Specialization class for Debian systems
|
188
|
-
class <%= config[:name] %>::debian inherits <%= config[:name] %>::common { }
|
189
|
-
|
190
|
-
# ------------------------------------------------------------------------------
|
191
|
-
# = Class: <%= config[:name] %>::redhat
|
192
|
-
#
|
193
|
-
# Specialization class for Redhat systems
|
194
|
-
class <%= config[:name] %>::redhat inherits <%= config[:name] %>::common { }
|
195
|
-
|
196
62
|
|
197
63
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: falkorlib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastien Varrette
|
@@ -422,7 +422,11 @@ files:
|
|
422
422
|
- templates/puppet/modules/Rakefile
|
423
423
|
- templates/puppet/modules/Vagrantfile
|
424
424
|
- templates/puppet/modules/doc/contributing.md.erb
|
425
|
+
- templates/puppet/modules/doc/vagrant.md.erb
|
425
426
|
- templates/puppet/modules/files/README.md.erb
|
427
|
+
- templates/puppet/modules/manifests/common.pp.erb
|
428
|
+
- templates/puppet/modules/manifests/common/debian.pp.erb
|
429
|
+
- templates/puppet/modules/manifests/common/redhat.pp.erb
|
426
430
|
- templates/puppet/modules/manifests/init.pp.erb
|
427
431
|
- templates/puppet/modules/manifests/mydef.pp.erb
|
428
432
|
- templates/puppet/modules/manifests/params.pp.erb
|