r10k 1.1.4 → 1.2.0rc1
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 +8 -8
- data/.gitignore +1 -0
- data/.nodeset.yml +7 -0
- data/.rspec +1 -0
- data/.travis.yml +2 -1
- data/CHANGELOG +17 -12
- data/Gemfile +8 -0
- data/README.markdown +4 -2
- data/Rakefile +1 -0
- data/doc/dynamic-environments.markdown +206 -0
- data/doc/puppetfile.markdown +87 -0
- data/lib/r10k/cli.rb +1 -1
- data/lib/r10k/errors.rb +30 -3
- data/lib/r10k/execution.rb +5 -2
- data/lib/r10k/git/cache.rb +26 -42
- data/lib/r10k/git/commit.rb +22 -0
- data/lib/r10k/git/errors.rb +31 -22
- data/lib/r10k/git/head.rb +33 -0
- data/lib/r10k/git/ref.rb +63 -0
- data/lib/r10k/git/repository.rb +65 -36
- data/lib/r10k/git/tag.rb +26 -0
- data/lib/r10k/git/working_dir.rb +93 -83
- data/lib/r10k/git.rb +14 -0
- data/lib/r10k/module/forge.rb +129 -62
- data/lib/r10k/module/git.rb +72 -6
- data/lib/r10k/module/metadata.rb +47 -0
- data/lib/r10k/module/svn.rb +99 -0
- data/lib/r10k/module.rb +1 -0
- data/lib/r10k/module_repository/forge.rb +64 -0
- data/lib/r10k/module_repository.rb +8 -0
- data/lib/r10k/semver.rb +1 -1
- data/lib/r10k/svn/working_dir.rb +76 -0
- data/lib/r10k/task/deployment.rb +21 -28
- data/lib/r10k/util/subprocess/io.rb +12 -0
- data/lib/r10k/util/subprocess/result.rb +36 -0
- data/lib/r10k/util/subprocess/runner.rb +88 -0
- data/lib/r10k/util/subprocess.rb +107 -0
- data/lib/r10k/version.rb +1 -1
- data/r10k.gemspec +11 -1
- data/spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/and_the_expected_version_is_latest/can_fetch_all_versions_of_a_given_module.yml +42 -0
- data/spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/and_the_expected_version_is_latest/can_fetch_the_latest_version_of_a_given_module.yml +42 -0
- data/spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions/can_fetch_all_versions_of_a_given_module.yml +42 -0
- data/spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions/can_fetch_the_latest_version_of_a_given_module.yml +42 -0
- data/spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions.yml +42 -0
- data/spec/fixtures/vcr/cassettes/R10K_Module_Forge/and_the_expected_version_is_latest/sets_the_expected_version_based_on_the_latest_forge_version.yml +42 -0
- data/spec/rspec-system-r10k/puppetfile.rb +24 -0
- data/spec/rspec-system-r10k/tmpdir.rb +32 -0
- data/spec/shared-examples/git-ref.rb +49 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/system/module/forge/install_spec.rb +51 -0
- data/spec/system/module/git/install_spec.rb +117 -0
- data/spec/system/module/svn/install_spec.rb +51 -0
- data/spec/system/module/svn/update_spec.rb +38 -0
- data/spec/system/spec_helper.rb +60 -0
- data/spec/system/system-helpers.rb +4 -0
- data/spec/system/version_spec.rb +7 -0
- data/spec/system-provisioning/el.rb +38 -0
- data/spec/unit/deployment/source_spec.rb +1 -1
- data/spec/unit/git/cache_spec.rb +38 -0
- data/spec/unit/git/commit_spec.rb +33 -0
- data/spec/unit/git/head_spec.rb +27 -0
- data/spec/unit/git/ref_spec.rb +68 -0
- data/spec/unit/git/tag_spec.rb +31 -0
- data/spec/unit/module/forge_spec.rb +157 -37
- data/spec/unit/module/git_spec.rb +49 -0
- data/spec/unit/module/metadata_spec.rb +68 -0
- data/spec/unit/module/svn_spec.rb +146 -0
- data/spec/unit/module_repository/forge_spec.rb +32 -0
- metadata +151 -8
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'r10k/module/git'
|
3
|
+
|
4
|
+
describe R10K::Module::Git do
|
5
|
+
|
6
|
+
describe "determining the status" do
|
7
|
+
subject do
|
8
|
+
described_class.new(
|
9
|
+
'boolean',
|
10
|
+
'/moduledir',
|
11
|
+
{
|
12
|
+
:git => 'git://github.com/adrienthebo/puppet-boolean'
|
13
|
+
}
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "is absent when the working dir is absent" do
|
18
|
+
expect(subject.working_dir).to receive(:exist?).and_return false
|
19
|
+
expect(subject.status).to eq :absent
|
20
|
+
end
|
21
|
+
|
22
|
+
it "is mismatched Then the working dir is not a git repository" do
|
23
|
+
allow(subject.working_dir).to receive(:exist?).and_return true
|
24
|
+
expect(subject.working_dir).to receive(:git?).and_return false
|
25
|
+
expect(subject.status).to eq :mismatched
|
26
|
+
end
|
27
|
+
|
28
|
+
it "is mismatched when the expected remote does not match the actual remote" do
|
29
|
+
allow(subject.working_dir).to receive(:exist?).and_return true
|
30
|
+
expect(subject.working_dir).to receive(:git?).and_return true
|
31
|
+
expect(subject.working_dir).to receive(:remote).and_return 'nope'
|
32
|
+
expect(subject.status).to eq :mismatched
|
33
|
+
end
|
34
|
+
|
35
|
+
it "is outdated when the working dir is outdated" do
|
36
|
+
allow(subject.working_dir).to receive(:exist?).and_return true
|
37
|
+
expect(subject.working_dir).to receive(:git?).and_return true
|
38
|
+
expect(subject.working_dir).to receive(:outdated?).and_return true
|
39
|
+
expect(subject.status).to eq :outdated
|
40
|
+
end
|
41
|
+
|
42
|
+
it "is insync if all other conditions are satisfied" do
|
43
|
+
allow(subject.working_dir).to receive(:exist?).and_return true
|
44
|
+
expect(subject.working_dir).to receive(:git?).and_return true
|
45
|
+
expect(subject.working_dir).to receive(:outdated?).and_return false
|
46
|
+
expect(subject.status).to eq :insync
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'r10k/module/metadata'
|
3
|
+
|
4
|
+
describe R10K::Module::Metadata do
|
5
|
+
|
6
|
+
let(:path) { double 'pathname' }
|
7
|
+
|
8
|
+
subject(:metadata) { described_class.new(path) }
|
9
|
+
|
10
|
+
it "defaults the version to R10K::SemVer::MIN" do
|
11
|
+
expect(metadata.version).to eq R10K::SemVer::MIN
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "determining if the metadata file exists" do
|
15
|
+
it "doesn't exist if the given path isn't a file" do
|
16
|
+
allow(path).to receive(:file?).and_return false
|
17
|
+
expect(metadata).to_not be_exist
|
18
|
+
end
|
19
|
+
|
20
|
+
it "doesn't exist if the given path is an unreadable file" do
|
21
|
+
allow(path).to receive(:file?).and_return true
|
22
|
+
allow(path).to receive(:readable?).and_return false
|
23
|
+
|
24
|
+
expect(metadata).to_not be_exist
|
25
|
+
end
|
26
|
+
|
27
|
+
it "exists if the given path exists and is readable" do
|
28
|
+
allow(path).to receive(:file?).and_return true
|
29
|
+
allow(path).to receive(:readable?).and_return true
|
30
|
+
|
31
|
+
expect(metadata).to be_exist
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it "doesn't raise an error on invalid JSON" do
|
36
|
+
allow(metadata).to receive(:exist?).and_return true
|
37
|
+
allow(path).to receive(:read).and_return "Aha! You thought this was JSON!"
|
38
|
+
|
39
|
+
metadata.read
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "parsing a metadata file" do
|
43
|
+
let(:json) do
|
44
|
+
fixture_file = File.expand_path('spec/fixtures/module/forge/eight_hundred/metadata.json', PROJECT_ROOT)
|
45
|
+
File.read(fixture_file)
|
46
|
+
end
|
47
|
+
|
48
|
+
before do
|
49
|
+
allow(metadata).to receive(:exist?).and_return true
|
50
|
+
allow(path).to receive(:read).and_return(json)
|
51
|
+
|
52
|
+
metadata.read
|
53
|
+
end
|
54
|
+
|
55
|
+
it "extracts the module name" do
|
56
|
+
expect(metadata.name).to eq 'eight_hundred'
|
57
|
+
end
|
58
|
+
|
59
|
+
it "extracts the module author" do
|
60
|
+
expect(metadata.author).to eq 'branan'
|
61
|
+
end
|
62
|
+
|
63
|
+
it "extracts the module version" do
|
64
|
+
expect(metadata.version).to be_a_kind_of R10K::SemVer
|
65
|
+
expect(metadata.version).to eq R10K::SemVer.new('8.0.0')
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'r10k/module/svn'
|
4
|
+
|
5
|
+
describe R10K::Module::SVN do
|
6
|
+
|
7
|
+
include_context 'fail on execution'
|
8
|
+
|
9
|
+
describe "determining it implements a Puppetfile mod" do
|
10
|
+
it "implements mods with the :svn hash key" do
|
11
|
+
implements = described_class.implement?('r10k-fixture-repo', :svn => 'https://github.com/adrienthebo/r10k-fixture-repo')
|
12
|
+
expect(implements).to eq true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "instantiating based on Puppetfile configuration" do
|
17
|
+
it "can specify a revision with the :rev key" do
|
18
|
+
svn = described_class.new('foo', '/moduledir', :rev => 'r10')
|
19
|
+
expect(svn.expected_revision).to eq 'r10'
|
20
|
+
end
|
21
|
+
|
22
|
+
it "can specify a revision with the :revision key" do
|
23
|
+
svn = described_class.new('foo', '/moduledir', :revision => 'r10')
|
24
|
+
expect(svn.expected_revision).to eq 'r10'
|
25
|
+
end
|
26
|
+
|
27
|
+
it "can specify a path within the SVN repo" do
|
28
|
+
svn = described_class.new('foo', '/moduledir', :svn_path => 'branches/something/foo')
|
29
|
+
expect(svn.svn_path).to eq 'branches/something/foo'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "determining the status" do
|
34
|
+
subject { described_class.new('foo', '/moduledir', :svn => 'https://github.com/adrienthebo/r10k-fixture-repo', :rev => 123) }
|
35
|
+
|
36
|
+
let(:working_dir) { double 'working_dir' }
|
37
|
+
|
38
|
+
before do
|
39
|
+
allow(R10K::SVN::WorkingDir).to receive(:new).and_return working_dir
|
40
|
+
end
|
41
|
+
|
42
|
+
it "is :absent if the module directory is absent" do
|
43
|
+
allow(subject).to receive(:exist?).and_return false
|
44
|
+
|
45
|
+
expect(subject.status).to eq :absent
|
46
|
+
end
|
47
|
+
|
48
|
+
it "is :mismatched if the directory is present but not an SVN repo" do
|
49
|
+
allow(subject).to receive(:exist?).and_return true
|
50
|
+
|
51
|
+
allow(working_dir).to receive(:is_svn?).and_return false
|
52
|
+
|
53
|
+
expect(subject.status).to eq :mismatched
|
54
|
+
end
|
55
|
+
|
56
|
+
it "is mismatched when the wrong SVN URL is checked out" do
|
57
|
+
allow(subject).to receive(:exist?).and_return true
|
58
|
+
|
59
|
+
allow(working_dir).to receive(:is_svn?).and_return true
|
60
|
+
allow(working_dir).to receive(:url).and_return 'svn://nope/trunk'
|
61
|
+
|
62
|
+
expect(subject.status).to eq :mismatched
|
63
|
+
end
|
64
|
+
|
65
|
+
it "is :outdated when the expected rev doesn't match the actual rev" do
|
66
|
+
allow(subject).to receive(:exist?).and_return true
|
67
|
+
|
68
|
+
allow(working_dir).to receive(:is_svn?).and_return true
|
69
|
+
allow(working_dir).to receive(:url).and_return 'https://github.com/adrienthebo/r10k-fixture-repo'
|
70
|
+
allow(working_dir).to receive(:revision).and_return 99
|
71
|
+
|
72
|
+
expect(subject.status).to eq :outdated
|
73
|
+
end
|
74
|
+
|
75
|
+
it "is :insync if all other conditions are satisfied" do
|
76
|
+
allow(subject).to receive(:exist?).and_return true
|
77
|
+
|
78
|
+
allow(working_dir).to receive(:is_svn?).and_return true
|
79
|
+
allow(working_dir).to receive(:url).and_return 'https://github.com/adrienthebo/r10k-fixture-repo'
|
80
|
+
allow(working_dir).to receive(:revision).and_return 123
|
81
|
+
|
82
|
+
expect(subject.status).to eq :insync
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe "and the expected version is :latest" do
|
87
|
+
it "sets the expected version based on the latest SVN revision"
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "synchronizing" do
|
91
|
+
|
92
|
+
subject { described_class.new('foo', '/moduledir', :svn => 'https://github.com/adrienthebo/r10k-fixture-repo', :rev => 123) }
|
93
|
+
|
94
|
+
before do
|
95
|
+
allow(File).to receive(:directory?).with('/moduledir').and_return true
|
96
|
+
end
|
97
|
+
|
98
|
+
describe "and the state is :absent" do
|
99
|
+
before { allow(subject).to receive(:status).and_return :absent }
|
100
|
+
|
101
|
+
it "installs the SVN module" do
|
102
|
+
expect(subject).to receive(:install)
|
103
|
+
subject.sync
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
describe "and the state is :mismatched" do
|
108
|
+
before { allow(subject).to receive(:status).and_return :mismatched }
|
109
|
+
|
110
|
+
it "reinstalls the module" do
|
111
|
+
expect(subject).to receive(:reinstall)
|
112
|
+
|
113
|
+
subject.sync
|
114
|
+
end
|
115
|
+
|
116
|
+
it "removes the existing directory" do
|
117
|
+
expect(subject.full_path).to receive(:rmtree)
|
118
|
+
allow(subject).to receive(:install)
|
119
|
+
|
120
|
+
subject.sync
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
describe "and the state is :outdated" do
|
125
|
+
before { allow(subject).to receive(:status).and_return :outdated }
|
126
|
+
|
127
|
+
it "upgrades the repository" do
|
128
|
+
expect(subject).to receive(:update)
|
129
|
+
|
130
|
+
subject.sync
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
describe "and the state is :insync" do
|
135
|
+
before { allow(subject).to receive(:status).and_return :insync }
|
136
|
+
|
137
|
+
it "doesn't change anything" do
|
138
|
+
expect(subject).to receive(:install).never
|
139
|
+
expect(subject).to receive(:reinstall).never
|
140
|
+
expect(subject).to receive(:update).never
|
141
|
+
|
142
|
+
subject.sync
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'r10k/module_repository/forge'
|
4
|
+
|
5
|
+
describe R10K::ModuleRepository::Forge do
|
6
|
+
|
7
|
+
it "uses the official forge by default" do
|
8
|
+
forge = described_class.new
|
9
|
+
expect(forge.forge).to eq 'forge.puppetlabs.com'
|
10
|
+
end
|
11
|
+
|
12
|
+
it "can use a private forge" do
|
13
|
+
forge = described_class.new('forge.example.local')
|
14
|
+
expect(forge.forge).to eq 'forge.example.local'
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "and the expected version is :latest", :vcr => true, :unless => (RUBY_VERSION == '1.8.7') do
|
18
|
+
subject(:forge) { described_class.new }
|
19
|
+
|
20
|
+
before do
|
21
|
+
forge.conn.builder.insert_before(Faraday::Adapter::NetHttp, VCR::Middleware::Faraday)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "can fetch all versions of a given module" do
|
25
|
+
expect(forge.versions('adrien/boolean')).to eq ["0.9.0-rc1", "0.9.0", "1.0.0", "1.0.1"]
|
26
|
+
end
|
27
|
+
|
28
|
+
it "can fetch the latest version of a given module" do
|
29
|
+
expect(forge.latest_version('adrien/boolean')).to eq "1.0.1"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Thebo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored
|
@@ -66,20 +66,76 @@ dependencies:
|
|
66
66
|
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.1.10
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: multi_json
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.8.2
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.8.2
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: json_pure
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ~>
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: 1.8.1
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.8.1
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: faraday
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.8.8
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.8.8
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: faraday_middleware
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.9.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.9.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: faraday_middleware-multi_json
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.0.5
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ~>
|
81
137
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
138
|
+
version: 0.0.5
|
83
139
|
- !ruby/object:Gem::Dependency
|
84
140
|
name: rspec
|
85
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +150,34 @@ dependencies:
|
|
94
150
|
- - ~>
|
95
151
|
- !ruby/object:Gem::Version
|
96
152
|
version: 2.14.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: vcr
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 2.8.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 2.8.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: yard
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.8.7.3
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ~>
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.8.7.3
|
97
181
|
description: ! " R10K provides a general purpose toolset for deploying Puppet environments
|
98
182
|
and modules.\n It implements the Puppetfile format and provides a native implementation
|
99
183
|
of Puppet\n dynamic environments.\n"
|
@@ -104,12 +188,17 @@ extensions: []
|
|
104
188
|
extra_rdoc_files: []
|
105
189
|
files:
|
106
190
|
- .gitignore
|
191
|
+
- .nodeset.yml
|
192
|
+
- .rspec
|
107
193
|
- .travis.yml
|
108
194
|
- CHANGELOG
|
109
195
|
- Gemfile
|
110
196
|
- LICENSE
|
111
197
|
- README.markdown
|
198
|
+
- Rakefile
|
112
199
|
- bin/r10k
|
200
|
+
- doc/dynamic-environments.markdown
|
201
|
+
- doc/puppetfile.markdown
|
113
202
|
- lib/r10k.rb
|
114
203
|
- lib/r10k/cli.rb
|
115
204
|
- lib/r10k/cli/deploy.rb
|
@@ -132,21 +221,31 @@ files:
|
|
132
221
|
- lib/r10k/deployment/source.rb
|
133
222
|
- lib/r10k/errors.rb
|
134
223
|
- lib/r10k/execution.rb
|
224
|
+
- lib/r10k/git.rb
|
135
225
|
- lib/r10k/git/cache.rb
|
226
|
+
- lib/r10k/git/commit.rb
|
136
227
|
- lib/r10k/git/errors.rb
|
228
|
+
- lib/r10k/git/head.rb
|
229
|
+
- lib/r10k/git/ref.rb
|
137
230
|
- lib/r10k/git/repository.rb
|
231
|
+
- lib/r10k/git/tag.rb
|
138
232
|
- lib/r10k/git/working_dir.rb
|
139
233
|
- lib/r10k/logging.rb
|
140
234
|
- lib/r10k/module.rb
|
141
235
|
- lib/r10k/module/base.rb
|
142
236
|
- lib/r10k/module/forge.rb
|
143
237
|
- lib/r10k/module/git.rb
|
238
|
+
- lib/r10k/module/metadata.rb
|
239
|
+
- lib/r10k/module/svn.rb
|
240
|
+
- lib/r10k/module_repository.rb
|
241
|
+
- lib/r10k/module_repository/forge.rb
|
144
242
|
- lib/r10k/puppetfile.rb
|
145
243
|
- lib/r10k/registry.rb
|
146
244
|
- lib/r10k/semver.rb
|
147
245
|
- lib/r10k/settings.rb
|
148
246
|
- lib/r10k/settings/container.rb
|
149
247
|
- lib/r10k/settings/mixin.rb
|
248
|
+
- lib/r10k/svn/working_dir.rb
|
150
249
|
- lib/r10k/task.rb
|
151
250
|
- lib/r10k/task/deployment.rb
|
152
251
|
- lib/r10k/task/environment.rb
|
@@ -154,17 +253,47 @@ files:
|
|
154
253
|
- lib/r10k/task/puppetfile.rb
|
155
254
|
- lib/r10k/task_runner.rb
|
156
255
|
- lib/r10k/util/purgeable.rb
|
256
|
+
- lib/r10k/util/subprocess.rb
|
257
|
+
- lib/r10k/util/subprocess/io.rb
|
258
|
+
- lib/r10k/util/subprocess/result.rb
|
259
|
+
- lib/r10k/util/subprocess/runner.rb
|
157
260
|
- lib/r10k/version.rb
|
158
261
|
- r10k.gemspec
|
159
262
|
- r10k.yaml.example
|
160
263
|
- spec/fixtures/empty/.empty
|
161
264
|
- spec/fixtures/module/forge/eight_hundred/Modulefile
|
162
265
|
- spec/fixtures/module/forge/eight_hundred/metadata.json
|
266
|
+
- spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/and_the_expected_version_is_latest/can_fetch_all_versions_of_a_given_module.yml
|
267
|
+
- spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/and_the_expected_version_is_latest/can_fetch_the_latest_version_of_a_given_module.yml
|
268
|
+
- spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions.yml
|
269
|
+
- spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions/can_fetch_all_versions_of_a_given_module.yml
|
270
|
+
- spec/fixtures/vcr/cassettes/R10K_ModuleRepository_Forge/looking_up_versions/can_fetch_the_latest_version_of_a_given_module.yml
|
271
|
+
- spec/fixtures/vcr/cassettes/R10K_Module_Forge/and_the_expected_version_is_latest/sets_the_expected_version_based_on_the_latest_forge_version.yml
|
272
|
+
- spec/rspec-system-r10k/puppetfile.rb
|
273
|
+
- spec/rspec-system-r10k/tmpdir.rb
|
274
|
+
- spec/shared-examples/git-ref.rb
|
163
275
|
- spec/spec_helper.rb
|
276
|
+
- spec/system-provisioning/el.rb
|
277
|
+
- spec/system/module/forge/install_spec.rb
|
278
|
+
- spec/system/module/git/install_spec.rb
|
279
|
+
- spec/system/module/svn/install_spec.rb
|
280
|
+
- spec/system/module/svn/update_spec.rb
|
281
|
+
- spec/system/spec_helper.rb
|
282
|
+
- spec/system/system-helpers.rb
|
283
|
+
- spec/system/version_spec.rb
|
164
284
|
- spec/unit/deployment/environment_spec.rb
|
165
285
|
- spec/unit/deployment/source_spec.rb
|
286
|
+
- spec/unit/git/cache_spec.rb
|
287
|
+
- spec/unit/git/commit_spec.rb
|
288
|
+
- spec/unit/git/head_spec.rb
|
289
|
+
- spec/unit/git/ref_spec.rb
|
290
|
+
- spec/unit/git/tag_spec.rb
|
166
291
|
- spec/unit/git/working_dir_spec.rb
|
167
292
|
- spec/unit/module/forge_spec.rb
|
293
|
+
- spec/unit/module/git_spec.rb
|
294
|
+
- spec/unit/module/metadata_spec.rb
|
295
|
+
- spec/unit/module/svn_spec.rb
|
296
|
+
- spec/unit/module_repository/forge_spec.rb
|
168
297
|
- spec/unit/module_spec.rb
|
169
298
|
- spec/unit/registry_spec.rb
|
170
299
|
- spec/unit/settings/container_spec.rb
|
@@ -217,9 +346,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
217
346
|
version: '0'
|
218
347
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
348
|
requirements:
|
220
|
-
- - ! '
|
349
|
+
- - ! '>'
|
221
350
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
351
|
+
version: 1.3.1
|
223
352
|
requirements: []
|
224
353
|
rubyforge_project:
|
225
354
|
rubygems_version: 2.2.1
|
@@ -227,11 +356,25 @@ signing_key:
|
|
227
356
|
specification_version: 4
|
228
357
|
summary: Puppet environment and module deployment
|
229
358
|
test_files:
|
359
|
+
- spec/system/version_spec.rb
|
360
|
+
- spec/system/module/git/install_spec.rb
|
361
|
+
- spec/system/module/forge/install_spec.rb
|
362
|
+
- spec/system/module/svn/update_spec.rb
|
363
|
+
- spec/system/module/svn/install_spec.rb
|
230
364
|
- spec/unit/registry_spec.rb
|
231
365
|
- spec/unit/module_spec.rb
|
366
|
+
- spec/unit/module_repository/forge_spec.rb
|
367
|
+
- spec/unit/git/ref_spec.rb
|
232
368
|
- spec/unit/git/working_dir_spec.rb
|
369
|
+
- spec/unit/git/cache_spec.rb
|
370
|
+
- spec/unit/git/commit_spec.rb
|
371
|
+
- spec/unit/git/head_spec.rb
|
372
|
+
- spec/unit/git/tag_spec.rb
|
233
373
|
- spec/unit/deployment/environment_spec.rb
|
234
374
|
- spec/unit/deployment/source_spec.rb
|
235
375
|
- spec/unit/settings/container_spec.rb
|
236
376
|
- spec/unit/module/forge_spec.rb
|
377
|
+
- spec/unit/module/svn_spec.rb
|
378
|
+
- spec/unit/module/git_spec.rb
|
379
|
+
- spec/unit/module/metadata_spec.rb
|
237
380
|
has_rdoc:
|