r10k 1.1.2 → 1.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.
- 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
|
+
[](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
|