r10k 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/.travis.yml +10 -0
- data/CHANGELOG +162 -0
- data/Gemfile +7 -0
- data/LICENSE +14 -0
- data/README.markdown +270 -0
- data/lib/r10k/cli.rb +1 -1
- data/lib/r10k/cli/deploy.rb +2 -2
- data/lib/r10k/version.rb +1 -1
- data/r10k.gemspec +59 -0
- data/r10k.yaml.example +5 -0
- data/spec/fixtures/empty/.empty +0 -0
- metadata +48 -39
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/CHANGELOG
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
=========
|
3
|
+
|
4
|
+
1.1.3
|
5
|
+
-----
|
6
|
+
|
7
|
+
2014-01-26
|
8
|
+
|
9
|
+
This is a backwards compatible maintenance release.
|
10
|
+
|
11
|
+
### Notes
|
12
|
+
|
13
|
+
* (GH-82) Added all git managed files, including README.markdown, CHANGELOG,
|
14
|
+
and LICENSE to the gemspec for better compatibility with non-gem packages.
|
15
|
+
|
16
|
+
1.1.2
|
17
|
+
-----
|
18
|
+
|
19
|
+
2014-01-06
|
20
|
+
|
21
|
+
This is a backwards compatible maintenance release.
|
22
|
+
|
23
|
+
### Developer notes
|
24
|
+
|
25
|
+
* If Puppet and r10k are required in the same namespace, it's possible for
|
26
|
+
the vendored copy of SemVer to conflict with the Puppet version. This was
|
27
|
+
fixed by renaming the copy vendored in r10k and putting it under a namespace.
|
28
|
+
|
29
|
+
1.1.1
|
30
|
+
-----
|
31
|
+
|
32
|
+
2013-12-11
|
33
|
+
|
34
|
+
This is a backwards compatible bugfix release.
|
35
|
+
|
36
|
+
### User notes
|
37
|
+
|
38
|
+
* (GH-48) Environment prefixing always defaults to off. Users were already
|
39
|
+
using r10k with multiple sources but in different directories, and
|
40
|
+
prefixing breaks this behavior. Since this was a backwards incompatible
|
41
|
+
change this has to be rolled back.
|
42
|
+
* (GH-64) Multiple sources in a single directory no longer purge each other.
|
43
|
+
|
44
|
+
### Thanks
|
45
|
+
|
46
|
+
Thanks to the following contributors for their help in 1.1.1:
|
47
|
+
|
48
|
+
* Stig Sandbeck Mathisen
|
49
|
+
* Gabriel M Schuyler
|
50
|
+
|
51
|
+
1.1.0
|
52
|
+
-----
|
53
|
+
|
54
|
+
2013-09-30
|
55
|
+
|
56
|
+
This is a backwards compatible bugfix and feature release.
|
57
|
+
|
58
|
+
### User notes
|
59
|
+
|
60
|
+
(GH-35) Puppetfiles can now specify a path to the moduledir, instead of assuming
|
61
|
+
'/modules'. It can be set with the Puppetfile `moduledir` directive. Note that
|
62
|
+
this is not compatible with librarian-puppet.
|
63
|
+
|
64
|
+
(GH-53) Multiple environment sources can now be specified in a single
|
65
|
+
directory. When multiple sources are specified, each environment will be
|
66
|
+
prefixed with the source name. This can be enabled and disabled with the
|
67
|
+
source `prefix` option.
|
68
|
+
|
69
|
+
(GH-45) Documentation has been greatly expanded.
|
70
|
+
|
71
|
+
(GH-56) New subcommand: `r10k puppetfile check` allows you to validate the
|
72
|
+
syntax of a Puppetfile.
|
73
|
+
|
74
|
+
(GH-66) Initial clones use `git checkout` when switching to a new branch
|
75
|
+
instead of just `git reset`; without this change it would look like the wrong
|
76
|
+
branch was checked out.
|
77
|
+
|
78
|
+
(GH-59) r10k can now pull from Pulp repositories for Forge based modules.
|
79
|
+
|
80
|
+
(GH-70) Handle unset HOME - in case that HOME is unset, assume that the current
|
81
|
+
user is root. This mainly occurs when r10k is being run as the `prerun` command
|
82
|
+
under Puppet.
|
83
|
+
|
84
|
+
### Developer notes
|
85
|
+
|
86
|
+
The method mocking framework has been switched from mocha to rspec-mocks. Mocha
|
87
|
+
is notoriously bad about breaking changes between versions and rspec-mocks is
|
88
|
+
very robust, so Mocha has been ripped out and dropped as a dependency.
|
89
|
+
|
90
|
+
Rspec expectations now use the `expect(thing).to` syntax instead `thing.should`
|
91
|
+
|
92
|
+
A quasi settings framework has been extracted to make application settings less
|
93
|
+
bad. In the long term a general application framework will be extracted from
|
94
|
+
r10k to handle generic 'application' problems like this, but for now the settings
|
95
|
+
framework is the way to handle singleton data.
|
96
|
+
|
97
|
+
R10K:Git::Cache object memoization has been extracted into a standalone class
|
98
|
+
instead of being grafted onto the class. All hail the single responsibility
|
99
|
+
principle!
|
100
|
+
|
101
|
+
R10K::Module code has been refactored. There's now a real base class instead of
|
102
|
+
a hacky mixin with some metadata magic on top.
|
103
|
+
|
104
|
+
### Thanks
|
105
|
+
|
106
|
+
Thanks to the following contributors for their help in 1.1.0:
|
107
|
+
|
108
|
+
* Alex Linden Levy
|
109
|
+
* Abhay Chrungoo
|
110
|
+
* Adam Vessey
|
111
|
+
* Chuck Schweizer
|
112
|
+
* Elias Probst
|
113
|
+
* Greg Baker
|
114
|
+
* Jochen Schalanda
|
115
|
+
* Theo Chatzimichos
|
116
|
+
|
117
|
+
1.0.0
|
118
|
+
-----
|
119
|
+
|
120
|
+
2013-05-30
|
121
|
+
|
122
|
+
This is a backwards incompatible bugfix and feature release.
|
123
|
+
|
124
|
+
### Configuration
|
125
|
+
|
126
|
+
The configuration file format of 0.0.9 should be compatible with 1.0.0, and any
|
127
|
+
issues with that should be considered a bug.
|
128
|
+
|
129
|
+
A longstanding issue was confusion between symbols and strings in r10k.yaml
|
130
|
+
(GH-18). To resolve this, symbols and strings will be treated equally and
|
131
|
+
should produce the same behavior. In the long run, symbols will probably be
|
132
|
+
deprecated for the sake of conformity.
|
133
|
+
|
134
|
+
### Command line invocation
|
135
|
+
|
136
|
+
A number of commands have been renamed. They still but will emit a deprecation
|
137
|
+
warning and will redirect to the new command implementation. The only
|
138
|
+
exceptions is the are the `r10k environment cache` and `r10k environment stale`
|
139
|
+
commands, but they were pretty much useless anyways.
|
140
|
+
|
141
|
+
Log level verbosity can now be specified by level name instead of level number.
|
142
|
+
If --verbose is passed without a level, it will set the log level to `info`.
|
143
|
+
|
144
|
+
### Puppetfile support
|
145
|
+
|
146
|
+
r10k can be used to deploy modules from a standalone Puppetfile. See
|
147
|
+
`r10k puppetfile` for more information.
|
148
|
+
|
149
|
+
Modules without a version in the format of 'foo/bar' will be assumed. (GH-21)
|
150
|
+
|
151
|
+
### API
|
152
|
+
|
153
|
+
r10k handles versioning according to SemVer; since this is a major release this
|
154
|
+
is a backwards incompatible API change. It's unlikely that this has had any
|
155
|
+
extensions written on top of it, but if you have, then heads up. However, all
|
156
|
+
versions of 1.x should be backwards compatible.
|
157
|
+
|
158
|
+
### Bugfixes
|
159
|
+
|
160
|
+
A number of bugs were due to underlying architecture flaws. Part of 1.0.0 has
|
161
|
+
been a significant architectural overhaul, so on top of all of the above
|
162
|
+
changes there should be a lot of other bugs that have been fixed.
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
Copyright 2013, 2014 Adrien Thebo
|
2
|
+
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
you may not use this file except in compliance with the License.
|
5
|
+
You may obtain a copy of the License at
|
6
|
+
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
See the License for the specific language governing permissions and
|
13
|
+
limitations under the License.
|
14
|
+
|
data/README.markdown
ADDED
@@ -0,0 +1,270 @@
|
|
1
|
+
r10k
|
2
|
+
====
|
3
|
+
|
4
|
+
Puppet environment and module deployment
|
5
|
+
|
6
|
+
[![Build Status](https://travis-ci.org/adrienthebo/r10k.png?branch=master)](https://travis-ci.org/adrienthebo/r10k)
|
7
|
+
|
8
|
+
Description
|
9
|
+
-----------
|
10
|
+
|
11
|
+
[librarian-puppet]: https://github.com/rodjek/librarian-puppet
|
12
|
+
[workflow]: http://puppetlabs.com/blog/git-workflow-and-puppet-environments/
|
13
|
+
|
14
|
+
r10k provides a general purpose toolset for deploying Puppet environments and
|
15
|
+
modules. It implements the [Puppetfile][librarian-puppet] format and provides a native
|
16
|
+
implementation of Puppet [dynamic environments][workflow].
|
17
|
+
|
18
|
+
Installation
|
19
|
+
------------
|
20
|
+
|
21
|
+
r10k should be compatible with Ruby 1.8.7, 1.9.3, and 2.0.0. Any issue with
|
22
|
+
those versions should be considered a bug.
|
23
|
+
|
24
|
+
### Rubygems
|
25
|
+
|
26
|
+
For general use, you should install r10k from Ruby gems:
|
27
|
+
|
28
|
+
gem install r10k
|
29
|
+
r10k --help
|
30
|
+
|
31
|
+
### Bundler
|
32
|
+
|
33
|
+
If you have more specific needs or plan on modifying r10k you can run it out of
|
34
|
+
a git repository using Bundler for dependencies:
|
35
|
+
|
36
|
+
git clone git://github.com/adrienthebo/r10k
|
37
|
+
cd r10k
|
38
|
+
bundle install
|
39
|
+
bundle exec r10k --help
|
40
|
+
|
41
|
+
### Puppet Enterprise
|
42
|
+
|
43
|
+
Puppet Enterprise uses its own Ruby, so you need to use the correct version of gem when installing r10k.
|
44
|
+
|
45
|
+
/opt/puppet/bin/gem install r10k
|
46
|
+
r10k --help
|
47
|
+
|
48
|
+
Common Commands
|
49
|
+
---------------
|
50
|
+
|
51
|
+
### Deploy all environments and Puppetfile specified modules
|
52
|
+
|
53
|
+
r10k deploy environment -p
|
54
|
+
|
55
|
+
### Deploy all environments but don't update/install modules
|
56
|
+
|
57
|
+
r10k deploy environment
|
58
|
+
|
59
|
+
### Deploy a specific environment, and its Puppetfile specified modules
|
60
|
+
|
61
|
+
r10k deploy environment your_env -p
|
62
|
+
|
63
|
+
### Deploy a specific environment, but not its modules
|
64
|
+
|
65
|
+
r10k deploy environment your_env
|
66
|
+
|
67
|
+
### Display all environments being managed by r10k
|
68
|
+
|
69
|
+
r10k deploy display
|
70
|
+
|
71
|
+
### Display all environments being managed by r10k, and their modules.
|
72
|
+
|
73
|
+
r10k deploy display -p
|
74
|
+
|
75
|
+
Puppetfile support
|
76
|
+
------------------
|
77
|
+
|
78
|
+
r10k can operate on a Puppetfile as a drop-in replacement for librarian-puppet.
|
79
|
+
Puppetfiles are a simple Ruby based DSL that specifies a list of modules to
|
80
|
+
install, what version to install, and where to fetch them from.
|
81
|
+
|
82
|
+
Puppetfile based commands are under the `r10k puppetfile` subcommand.
|
83
|
+
|
84
|
+
### Installing modules from git
|
85
|
+
|
86
|
+
Puppet modules can be installed from any valid git repository:
|
87
|
+
|
88
|
+
mod 'rsyslog', :git => 'git://github.com/puppetlabs-operations/puppet-rsyslog.git'
|
89
|
+
|
90
|
+
You can deploy a module from a specific branch, tag, or git ref. By default r10k
|
91
|
+
will track `master` and will assume that you want to keep the module up to date.
|
92
|
+
If you want to track a specific branch, then
|
93
|
+
|
94
|
+
Examples:
|
95
|
+
|
96
|
+
# track master
|
97
|
+
mod 'filemapper',
|
98
|
+
:git => 'git://github.com/adrienthebo/puppet-filemapper.git'
|
99
|
+
|
100
|
+
# Install the filemapper module and track the 1.1.x branch
|
101
|
+
mod 'filemapper',
|
102
|
+
:git => 'git://github.com/adrienthebo/puppet-filemapper.git',
|
103
|
+
:ref => '1.1.x'
|
104
|
+
|
105
|
+
# Install filemapper and use the 1.1.1 tag
|
106
|
+
mod 'filemapper',
|
107
|
+
:git => 'git://github.com/adrienthebo/puppet-filemapper.git',
|
108
|
+
:ref => '1.1.1'
|
109
|
+
|
110
|
+
# Install filemapper and use a specific git commit
|
111
|
+
mod 'filemapper',
|
112
|
+
:git => 'git://github.com/adrienthebo/puppet-filemapper.git',
|
113
|
+
:ref => 'ec2a06d287f744e324cca4e4c8dd65c38bc996e2'
|
114
|
+
|
115
|
+
### Installing modules from the Puppet forge
|
116
|
+
|
117
|
+
Puppet modules can be installed from the forge using the Puppet module tool.
|
118
|
+
|
119
|
+
# This is currently a noop but will be supported in the future.
|
120
|
+
forge 'forge.puppetlabs.com'
|
121
|
+
|
122
|
+
# Install puppetlabs-stdlib from the Forge
|
123
|
+
mod 'puppetlabs/stdlib', '2.5.1'
|
124
|
+
|
125
|
+
Basic Environment Structure
|
126
|
+
---------------------------
|
127
|
+
|
128
|
+
r10k supports Dynamic Environments (see below), but simple environment structures
|
129
|
+
are also supported.
|
130
|
+
|
131
|
+
The basic structure of an environment that uses a Puppetfile to install modules is
|
132
|
+
|
133
|
+
.
|
134
|
+
|-- manifests
|
135
|
+
|-- site.pp
|
136
|
+
|-- Puppetfile
|
137
|
+
|-- .gitignore
|
138
|
+
|
139
|
+
site.pp would contain your node definitions, and the Puppetfile would specify the modules
|
140
|
+
to be installed. r10k automatically creates the 'modules' directory when it applies the
|
141
|
+
Puppetfile.
|
142
|
+
|
143
|
+
It's important to put the modules directory in .gitignore so that git doesn't accidentally
|
144
|
+
put it into the repo.
|
145
|
+
|
146
|
+
modules/
|
147
|
+
|
148
|
+
Dynamic environment support
|
149
|
+
---------------------------
|
150
|
+
|
151
|
+
r10k implements the dynamic environment workflow. Given a git repository with
|
152
|
+
multiple branches r10k can create an environment for each branch. This means
|
153
|
+
that you can use git with the normal branch-develop-merge workflow, and easily
|
154
|
+
test your changes as you work.
|
155
|
+
|
156
|
+
Deployment commands are implemented under the `r10k deploy` subcommand.
|
157
|
+
|
158
|
+
### Git repository layout
|
159
|
+
|
160
|
+
[modulepath]: http://docs.puppetlabs.com/references/stable/configuration.html#modulepath
|
161
|
+
|
162
|
+
r10k makes the assumption that Puppet modules are stored in subdirectories of
|
163
|
+
the Git repository. These directories are all loaded into the Puppet master with
|
164
|
+
the [modulepath][modulepath] directive.
|
165
|
+
|
166
|
+
For example, your Git repository would have a structure something like this:
|
167
|
+
|
168
|
+
.
|
169
|
+
├── Puppetfile # An optional Puppetfile
|
170
|
+
├── dist # Internally developed generic modules
|
171
|
+
└── site # Modules for deploying custom services
|
172
|
+
|
173
|
+
### Puppet master configuration
|
174
|
+
|
175
|
+
In order to use dynamic environments, your Puppet masters will need to be
|
176
|
+
configured to load manifests and modules relative to the requested environment:
|
177
|
+
|
178
|
+
[master]
|
179
|
+
modulepath = /etc/puppet/environments/$environment/modules:/etc/puppet/environments/$environment/dist
|
180
|
+
|
181
|
+
# If you use a top level manifest dir
|
182
|
+
manifestdir = /etc/puppet/environments/$environment/manifests
|
183
|
+
# If you use a specific site wide manifest
|
184
|
+
manifest = /etc/puppet/environments/$environment/manifests/nodes.pp
|
185
|
+
|
186
|
+
Note that these settings go into the `[master]` section; you don't need to
|
187
|
+
explicitly configure an environment section for each environment you want to
|
188
|
+
use. (But you can if you want.)
|
189
|
+
|
190
|
+
### Using dynamic environments with a Puppetfile
|
191
|
+
|
192
|
+
|
193
|
+
r10k can implement a hybrid workflow with dynamic environments and Puppetfiles.
|
194
|
+
If a Puppetfile is available at the root of a deployed environment, r10k can
|
195
|
+
create and manage the `modules` directory within your Git repository.
|
196
|
+
|
197
|
+
It's recommended that you add `/modules` to your project .gitignore.
|
198
|
+
|
199
|
+
A deployed environment with a Puppetfile will look something like this:
|
200
|
+
|
201
|
+
.
|
202
|
+
├── Puppetfile # An optional Puppetfile
|
203
|
+
├── dist # Internally developed generic modules
|
204
|
+
├── modules # Puppet modules deployed by r10k
|
205
|
+
└── site # Modules for deploying custom services
|
206
|
+
|
207
|
+
It is also possible to set an alternate name/location for your `Puppetfile` and
|
208
|
+
`modules` directory. This is useful if you want to control multiple environments
|
209
|
+
and have a single location for your `Puppetfile`.
|
210
|
+
|
211
|
+
Example:
|
212
|
+
|
213
|
+
PUPPETFILE=/etc/r10k.d/Puppetfile.production \
|
214
|
+
PUPPETFILE_DIR=/etc/puppet/modules/production \
|
215
|
+
/usr/bin/r10k puppetfile install
|
216
|
+
|
217
|
+
### Dynamic environment configuration
|
218
|
+
|
219
|
+
r10k uses a yaml based configuration file when handling deployments. The default
|
220
|
+
location is in /etc/r10k.yaml and can be specified on the command line.
|
221
|
+
|
222
|
+
### Example
|
223
|
+
|
224
|
+
# The location to use for storing cached Git repos
|
225
|
+
:cachedir: '/var/cache/r10k'
|
226
|
+
|
227
|
+
# A list of git repositories to create
|
228
|
+
:sources:
|
229
|
+
# This will clone the git repository and instantiate an environment per
|
230
|
+
# branch in /etc/puppet/environments
|
231
|
+
:plops:
|
232
|
+
remote: 'git@github.com:my-org/org-shared-modules'
|
233
|
+
basedir: '/etc/puppet/environments'
|
234
|
+
|
235
|
+
Multiple git repositories can be specified, which is handy if environments are broken up by application.
|
236
|
+
Application 1 could have its own environment repository with app1_dev, app1_tst, and app1_prd branches while
|
237
|
+
Application 2 could have its own environment repository with app2_dev, app2_tst, app2_prd branches.
|
238
|
+
|
239
|
+
You might want to take this approach if your environments vary greatly. If you often find yourself making
|
240
|
+
changes to your Application 1 environments that don't belong in your Application 2 environments, merging changes
|
241
|
+
can become difficult if all of your environment branches are in a single repository.
|
242
|
+
|
243
|
+
This approach also makes security easier as teams can be given access to control their application's environments
|
244
|
+
without being able to accidentally impact other groups.
|
245
|
+
|
246
|
+
### Multiple Environment Repositories Example
|
247
|
+
|
248
|
+
# The location to use for storing cached Git repos
|
249
|
+
:cachedir: '/var/cache/r10k'
|
250
|
+
|
251
|
+
# A list of git repositories to create
|
252
|
+
:sources:
|
253
|
+
# This will clone the git repository and instantiate an environment per
|
254
|
+
# branch in /etc/puppet/environments
|
255
|
+
:app1:
|
256
|
+
remote: 'git@github.com:my-org/app1-environments'
|
257
|
+
basedir: '/etc/puppet/environments'
|
258
|
+
:app2:
|
259
|
+
remote: 'git@github.com:my-org/app2-environments'
|
260
|
+
basedir: '/etc/puppet/environments'
|
261
|
+
|
262
|
+
More information
|
263
|
+
----------------
|
264
|
+
|
265
|
+
The original impetus for r10k is explained at http://somethingsinistral.net/blog/rethinking-puppet-deployment/
|
266
|
+
|
267
|
+
Contributors
|
268
|
+
------------
|
269
|
+
|
270
|
+
Please see the CHANGELOG for a listing of the (very awesome) contributors.
|
data/lib/r10k/cli.rb
CHANGED
@@ -16,7 +16,7 @@ module R10K::CLI
|
|
16
16
|
complex environments.
|
17
17
|
EOD
|
18
18
|
|
19
|
-
flag :h, :help, '
|
19
|
+
flag :h, :help, 'Show help for this command'
|
20
20
|
flag :t, :trace, 'Display stack traces on application crash'
|
21
21
|
|
22
22
|
optional :v, :verbose, 'Set verbosity level' do |value, cmd|
|
data/lib/r10k/cli/deploy.rb
CHANGED
@@ -34,7 +34,7 @@ module R10K::CLI
|
|
34
34
|
@cmd ||= Cri::Command.define do
|
35
35
|
name 'environment'
|
36
36
|
usage 'environment <options> <environment> <...>'
|
37
|
-
summary '
|
37
|
+
summary 'Deploy environments and their dependent modules'
|
38
38
|
|
39
39
|
description <<-DESCRIPTION
|
40
40
|
`r10k deploy environment` creates and updates Puppet environments based on Git
|
@@ -78,7 +78,7 @@ scheduled. On subsequent deployments, Puppetfile deployment will default to off.
|
|
78
78
|
@cmd ||= Cri::Command.define do
|
79
79
|
name 'module'
|
80
80
|
usage 'module [module] <module ...>'
|
81
|
-
summary '
|
81
|
+
summary 'Deploy modules in all environments'
|
82
82
|
|
83
83
|
description <<-DESCRIPTION
|
84
84
|
`r10k deploy module` Deploys and updates modules inside of Puppet environments.
|
data/lib/r10k/version.rb
CHANGED
data/r10k.gemspec
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
lib = File.expand_path('../lib/', __FILE__)
|
2
|
+
$:.unshift lib unless $:.include?(lib)
|
3
|
+
|
4
|
+
require 'r10k/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "r10k"
|
8
|
+
s.version = R10K::VERSION
|
9
|
+
s.platform = Gem::Platform::RUBY
|
10
|
+
|
11
|
+
s.authors = "Adrien Thebo"
|
12
|
+
s.email = "adrien@somethingsinistral.net"
|
13
|
+
s.homepage = "http://github.com/adrienthebo/r10k"
|
14
|
+
s.summary = "Puppet environment and module deployment"
|
15
|
+
s.description = <<-DESCRIPTION
|
16
|
+
R10K provides a general purpose toolset for deploying Puppet environments and modules.
|
17
|
+
It implements the Puppetfile format and provides a native implementation of Puppet
|
18
|
+
dynamic environments.
|
19
|
+
DESCRIPTION
|
20
|
+
|
21
|
+
s.license = 'Apache 2.0'
|
22
|
+
|
23
|
+
s.add_dependency 'colored', '>= 1.2'
|
24
|
+
s.add_dependency 'cri', '~> 2.4.0'
|
25
|
+
s.add_dependency 'systemu', '~> 2.5.2'
|
26
|
+
s.add_dependency 'log4r', '>= 1.1.10'
|
27
|
+
s.add_dependency 'json_pure'
|
28
|
+
|
29
|
+
s.add_development_dependency 'rspec', '~> 2.14.0'
|
30
|
+
|
31
|
+
s.files = %x[git ls-files].split($/)
|
32
|
+
s.require_path = 'lib'
|
33
|
+
s.bindir = 'bin'
|
34
|
+
s.executables = 'r10k'
|
35
|
+
|
36
|
+
s.test_files = Dir.glob("spec/**/*_spec.rb")
|
37
|
+
|
38
|
+
s.post_install_message = <<-EOD.gsub(/^ {4}/, '')
|
39
|
+
NOTICE
|
40
|
+
======
|
41
|
+
|
42
|
+
If you are upgrading from 1.1.0 and are using multiple sources, please read
|
43
|
+
this. (If not, feel free to continue with your regularly scheduled day.)
|
44
|
+
|
45
|
+
GH-48 (https://github.com/adrienthebo/r10k/issues/48) introduced the ability
|
46
|
+
for environments to be prefixed with the source name so that multiple sources
|
47
|
+
installed into the same directory would not overwrite each other. However
|
48
|
+
prefixing was automatically enabled and would break existing setups where
|
49
|
+
multiple sources were cloned into different directories.
|
50
|
+
|
51
|
+
Because this introduced a breaking change, SemVer dictates that the automatic
|
52
|
+
prefixing has to be rolled back. Prefixing can be enabled but always defaults
|
53
|
+
to off. If you are relying on this behavior you will need to update your r10k.yaml
|
54
|
+
to enable prefixing on a per-source basis.
|
55
|
+
|
56
|
+
Please see the issue (https://github.com/adrienthebo/r10k/issues/48) for more
|
57
|
+
information.
|
58
|
+
EOD
|
59
|
+
end
|
data/r10k.yaml.example
ADDED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: colored
|
@@ -116,62 +116,71 @@ executables:
|
|
116
116
|
extensions: []
|
117
117
|
extra_rdoc_files: []
|
118
118
|
files:
|
119
|
+
- .gitignore
|
120
|
+
- .travis.yml
|
121
|
+
- CHANGELOG
|
122
|
+
- Gemfile
|
123
|
+
- LICENSE
|
124
|
+
- README.markdown
|
119
125
|
- bin/r10k
|
120
126
|
- lib/r10k.rb
|
121
|
-
- lib/r10k/errors.rb
|
122
|
-
- lib/r10k/logging.rb
|
123
|
-
- lib/r10k/semver.rb
|
124
|
-
- lib/r10k/registry.rb
|
125
|
-
- lib/r10k/deployment.rb
|
126
|
-
- lib/r10k/settings.rb
|
127
|
-
- lib/r10k/git/errors.rb
|
128
|
-
- lib/r10k/git/cache.rb
|
129
|
-
- lib/r10k/git/working_dir.rb
|
130
|
-
- lib/r10k/git/repository.rb
|
131
127
|
- lib/r10k/cli.rb
|
132
|
-
- lib/r10k/
|
133
|
-
- lib/r10k/task_runner.rb
|
134
|
-
- lib/r10k/execution.rb
|
135
|
-
- lib/r10k/puppetfile.rb
|
136
|
-
- lib/r10k/deployment/environment.rb
|
137
|
-
- lib/r10k/deployment/config/loader.rb
|
138
|
-
- lib/r10k/deployment/config.rb
|
139
|
-
- lib/r10k/deployment/basedir.rb
|
140
|
-
- lib/r10k/deployment/source.rb
|
141
|
-
- lib/r10k/util/purgeable.rb
|
128
|
+
- lib/r10k/cli/deploy.rb
|
142
129
|
- lib/r10k/cli/environment.rb
|
143
|
-
- lib/r10k/cli/environment/list.rb
|
144
130
|
- lib/r10k/cli/environment/deploy.rb
|
131
|
+
- lib/r10k/cli/environment/list.rb
|
145
132
|
- lib/r10k/cli/environment/stale.rb
|
146
|
-
- lib/r10k/cli/module.rb
|
147
|
-
- lib/r10k/cli/synchronize.rb
|
148
|
-
- lib/r10k/cli/puppetfile.rb
|
149
|
-
- lib/r10k/cli/deploy.rb
|
150
133
|
- lib/r10k/cli/ext/logging.rb
|
151
|
-
- lib/r10k/cli/module
|
134
|
+
- lib/r10k/cli/module.rb
|
152
135
|
- lib/r10k/cli/module/deploy.rb
|
136
|
+
- lib/r10k/cli/module/list.rb
|
137
|
+
- lib/r10k/cli/puppetfile.rb
|
138
|
+
- lib/r10k/cli/synchronize.rb
|
153
139
|
- lib/r10k/cli/version.rb
|
140
|
+
- lib/r10k/deployment.rb
|
141
|
+
- lib/r10k/deployment/basedir.rb
|
142
|
+
- lib/r10k/deployment/config.rb
|
143
|
+
- lib/r10k/deployment/config/loader.rb
|
144
|
+
- lib/r10k/deployment/environment.rb
|
145
|
+
- lib/r10k/deployment/source.rb
|
146
|
+
- lib/r10k/errors.rb
|
147
|
+
- lib/r10k/execution.rb
|
148
|
+
- lib/r10k/git/cache.rb
|
149
|
+
- lib/r10k/git/errors.rb
|
150
|
+
- lib/r10k/git/repository.rb
|
151
|
+
- lib/r10k/git/working_dir.rb
|
152
|
+
- lib/r10k/logging.rb
|
153
|
+
- lib/r10k/module.rb
|
154
|
+
- lib/r10k/module/base.rb
|
155
|
+
- lib/r10k/module/forge.rb
|
156
|
+
- lib/r10k/module/git.rb
|
157
|
+
- lib/r10k/puppetfile.rb
|
158
|
+
- lib/r10k/registry.rb
|
159
|
+
- lib/r10k/semver.rb
|
160
|
+
- lib/r10k/settings.rb
|
154
161
|
- lib/r10k/settings/container.rb
|
155
162
|
- lib/r10k/settings/mixin.rb
|
156
|
-
- lib/r10k/task
|
163
|
+
- lib/r10k/task.rb
|
157
164
|
- lib/r10k/task/deployment.rb
|
165
|
+
- lib/r10k/task/environment.rb
|
158
166
|
- lib/r10k/task/module.rb
|
159
167
|
- lib/r10k/task/puppetfile.rb
|
160
|
-
- lib/r10k/
|
161
|
-
- lib/r10k/
|
162
|
-
- lib/r10k/module/forge.rb
|
163
|
-
- lib/r10k/module/git.rb
|
168
|
+
- lib/r10k/task_runner.rb
|
169
|
+
- lib/r10k/util/purgeable.rb
|
164
170
|
- lib/r10k/version.rb
|
165
|
-
-
|
166
|
-
-
|
171
|
+
- r10k.gemspec
|
172
|
+
- r10k.yaml.example
|
173
|
+
- spec/fixtures/empty/.empty
|
167
174
|
- spec/fixtures/module/forge/eight_hundred/Modulefile
|
168
|
-
- spec/
|
169
|
-
- spec/
|
170
|
-
- spec/unit/git/working_dir_spec.rb
|
175
|
+
- spec/fixtures/module/forge/eight_hundred/metadata.json
|
176
|
+
- spec/spec_helper.rb
|
171
177
|
- spec/unit/deployment/environment_spec.rb
|
172
178
|
- spec/unit/deployment/source_spec.rb
|
173
|
-
- spec/unit/
|
179
|
+
- spec/unit/git/working_dir_spec.rb
|
174
180
|
- spec/unit/module/forge_spec.rb
|
181
|
+
- spec/unit/module_spec.rb
|
182
|
+
- spec/unit/registry_spec.rb
|
183
|
+
- spec/unit/settings/container_spec.rb
|
175
184
|
homepage: http://github.com/adrienthebo/r10k
|
176
185
|
licenses:
|
177
186
|
- Apache 2.0
|