infrataster-plugin-ldap 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +51 -0
  7. data/Rakefile +36 -0
  8. data/infrataster-plugin-ldap.gemspec +23 -0
  9. data/lib/infrataster-plugin-ldap.rb +4 -0
  10. data/lib/infrataster/contexts/ldap_context.rb +63 -0
  11. data/lib/infrataster/helpers/ldap_resource_helper.rb +12 -0
  12. data/lib/infrataster/resources/ldap_resource.rb +19 -0
  13. data/spec/.vagrant/machines/default/virtualbox/action_provision +1 -0
  14. data/spec/.vagrant/machines/default/virtualbox/action_set_name +1 -0
  15. data/spec/.vagrant/machines/default/virtualbox/id +1 -0
  16. data/spec/.vagrant/machines/default/virtualbox/index_uuid +1 -0
  17. data/spec/.vagrant/machines/default/virtualbox/synced_folders +1 -0
  18. data/spec/Vagrantfile +20 -0
  19. data/spec/cookbooks/apt/CHANGELOG.md +208 -0
  20. data/spec/cookbooks/apt/README.md +252 -0
  21. data/spec/cookbooks/apt/attributes/default.rb +46 -0
  22. data/spec/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
  23. data/spec/cookbooks/apt/libraries/helpers.rb +49 -0
  24. data/spec/cookbooks/apt/libraries/matchers.rb +17 -0
  25. data/spec/cookbooks/apt/libraries/network.rb +31 -0
  26. data/spec/cookbooks/apt/metadata.json +54 -0
  27. data/spec/cookbooks/apt/metadata.rb +34 -0
  28. data/spec/cookbooks/apt/providers/preference.rb +63 -0
  29. data/spec/cookbooks/apt/providers/repository.rb +203 -0
  30. data/spec/cookbooks/apt/recipes/cacher-client.rb +81 -0
  31. data/spec/cookbooks/apt/recipes/cacher-ng.rb +43 -0
  32. data/spec/cookbooks/apt/recipes/default.rb +98 -0
  33. data/spec/cookbooks/apt/recipes/unattended-upgrades.rb +43 -0
  34. data/spec/cookbooks/apt/resources/preference.rb +32 -0
  35. data/spec/cookbooks/apt/resources/repository.rb +43 -0
  36. data/spec/cookbooks/apt/templates/debian-6.0/acng.conf.erb +173 -0
  37. data/spec/cookbooks/apt/templates/default/01proxy.erb +5 -0
  38. data/spec/cookbooks/apt/templates/default/20auto-upgrades.erb +2 -0
  39. data/spec/cookbooks/apt/templates/default/50unattended-upgrades.erb +62 -0
  40. data/spec/cookbooks/apt/templates/default/acng.conf.erb +275 -0
  41. data/spec/cookbooks/apt/templates/default/unattended-upgrades.seed.erb +1 -0
  42. data/spec/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb +269 -0
  43. data/spec/cookbooks/openldap/CHANGELOG.md +68 -0
  44. data/spec/cookbooks/openldap/README.md +185 -0
  45. data/spec/cookbooks/openldap/attributes/default.rb +76 -0
  46. data/spec/cookbooks/openldap/files/default/common-account +7 -0
  47. data/spec/cookbooks/openldap/files/default/common-auth +9 -0
  48. data/spec/cookbooks/openldap/files/default/common-password +7 -0
  49. data/spec/cookbooks/openldap/files/default/common-session +9 -0
  50. data/spec/cookbooks/openldap/files/default/nsswitch.conf +21 -0
  51. data/spec/cookbooks/openldap/files/default/slapd.seed +21 -0
  52. data/spec/cookbooks/openldap/files/default/test/auth_test.rb +7 -0
  53. data/spec/cookbooks/openldap/files/default/test/server_test.rb +24 -0
  54. data/spec/cookbooks/openldap/metadata.json +124 -0
  55. data/spec/cookbooks/openldap/metadata.rb +102 -0
  56. data/spec/cookbooks/openldap/recipes/auth.rb +71 -0
  57. data/spec/cookbooks/openldap/recipes/client.rb +28 -0
  58. data/spec/cookbooks/openldap/recipes/default.rb +18 -0
  59. data/spec/cookbooks/openldap/recipes/master.rb +23 -0
  60. data/spec/cookbooks/openldap/recipes/server.rb +124 -0
  61. data/spec/cookbooks/openldap/recipes/slave.rb +32 -0
  62. data/spec/cookbooks/openldap/templates/default/default_slapd.erb +47 -0
  63. data/spec/cookbooks/openldap/templates/default/ldap-ldap.conf.erb +16 -0
  64. data/spec/cookbooks/openldap/templates/default/ldap.conf.erb +31 -0
  65. data/spec/cookbooks/openldap/templates/default/libnss-ldap.conf.erb +28 -0
  66. data/spec/cookbooks/openldap/templates/default/login_access.conf.erb +16 -0
  67. data/spec/cookbooks/openldap/templates/default/slapd.conf.erb +132 -0
  68. data/spec/ldap_spec.rb +10 -0
  69. data/spec/spec_helper.rb +17 -0
  70. metadata +253 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c920e4d493c16314a14e084c3a30c7908fc29c32
4
+ data.tar.gz: c97bf7c04072f370b53e998acfa3598a48d7806d
5
+ SHA512:
6
+ metadata.gz: b4d59d7c0562cd41689e393b1d47c47b549849322b1abe371fde03fd240c252f5a856bb2518d6c24a335da75b464446f1f9119c1c8f4d9f6426cf2667029394e
7
+ data.tar.gz: 61b1a604795a085d3c9e267c30c8215af5806932c954099e06807f7d1dede5959fad66ce6927cec416fc681e3cbdc45b1796465be67a16feda935516dca125c1
@@ -0,0 +1,22 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.bundle
19
+ *.so
20
+ *.o
21
+ *.a
22
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Paul Thomas
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,51 @@
1
+ # infrataster-plugin-ldap
2
+
3
+ LDAP plugin for [Infrataster](https://github.com/ryotarai/infrataster)
4
+
5
+ ## Installation
6
+
7
+ Add this line to your Gemfile:
8
+
9
+ gem 'infrataster-plugin-ldap'
10
+
11
+ And then add the following line to your spec\_helper.rb:
12
+
13
+ require 'infrataster-plugin-ldap'
14
+
15
+ ## Usage
16
+
17
+ ```ruby
18
+ describe server(:master) do
19
+ describe ldap("dc=mydomain,dc=com") do
20
+ it "accepts bind requests" do
21
+ expect(bind.code).to eq 0
22
+ end
23
+ it "can create a top level object" do
24
+ result = add_result("dc=mydomain,dc=com",
25
+ {
26
+ :objectclass => [ "top", "dcObject", "organization"],
27
+ :o => "mydomain"
28
+ }
29
+ )
30
+ expect(result.code).to eq 0
31
+ end
32
+ end
33
+ end
34
+ ```
35
+
36
+ You can specify LDAP by options passed to `Infrataster::Server.define`:
37
+
38
+ ```ruby
39
+ Infrataster::Server.define(
40
+ # ...
41
+ ldap: { basedn: "dc=mydomain,dc=com", username: "cn=admin,dc=mydomain,dc=com", password: "mypassword" }
42
+ )
43
+ ```
44
+
45
+ ## Contributing
46
+
47
+ 1. Fork it ( https://github.com/[my-github-username]/infrataster-plugin-ldap/fork )
48
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
49
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
50
+ 4. Push to the branch (`git push origin my-new-feature`)
51
+ 5. Create a new Pull Request
@@ -0,0 +1,36 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ ENV['VAGRANT_CWD'] = File.expand_path('spec/')
5
+
6
+ def exec_and_abort_if_fail(cmd)
7
+ system cmd
8
+ unless $?.exitstatus == 0
9
+ $stderr.puts "'#{cmd}' failed."
10
+ abort
11
+ end
12
+ end
13
+
14
+ desc 'Prepare and run tests'
15
+ task spec: ['spec:prepare', 'spec:integration']
16
+
17
+ namespace :spec do
18
+ RSpec::Core::RakeTask.new('integration') do |task|
19
+ task.pattern = './spec/{,/*/**}/*_spec.rb'
20
+ end
21
+
22
+ desc 'Prepare'
23
+ task :prepare do
24
+ exec_and_abort_if_fail '/usr/bin/vagrant up'
25
+ end
26
+
27
+ desc 'Provision'
28
+ task :provision do
29
+ exec_and_abort_if_fail '/usr/bin/vagrant provision'
30
+ end
31
+
32
+ desc 'Clean'
33
+ task :clean do
34
+ exec_and_abort_if_fail '/usr/bin/vagrant destroy -f'
35
+ end
36
+ end
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ Gem::Specification.new do |spec|
3
+ spec.name = 'infrataster-plugin-ldap'
4
+ spec.version = '0.0.1'
5
+ spec.authors = ['Paul Thomas']
6
+ spec.email = ['pthomas@dyn.com']
7
+ spec.summary = 'LDAP plugin for Infrataster'
8
+ spec.homepage = ''
9
+ spec.license = 'MIT'
10
+
11
+ spec.files = `git ls-files -z`.split("\x0")
12
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
13
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
14
+ spec.require_paths = ['lib']
15
+
16
+ spec.add_runtime_dependency 'infrataster', '~> 0.2.0'
17
+ spec.add_runtime_dependency 'net-ldap'
18
+
19
+ spec.add_development_dependency 'bundler', '~> 1.6'
20
+ spec.add_development_dependency 'rake'
21
+ spec.add_development_dependency 'rspec'
22
+ spec.add_development_dependency 'rubocop'
23
+ end
@@ -0,0 +1,4 @@
1
+ require 'infrataster/resources/ldap_resource'
2
+ require 'infrataster/contexts/ldap_context'
3
+ require 'infrataster/helpers/ldap_resource_helper'
4
+
@@ -0,0 +1,63 @@
1
+ require 'infrataster'
2
+ require 'net-ldap'
3
+
4
+ module Infrataster
5
+ module Contexts
6
+ class LdapContext < BaseContext
7
+
8
+ def initialize(*args)
9
+ @test_attr = {
10
+ :cn => "test",
11
+ :objectclass => [ "top", "structural" ]
12
+ }
13
+ super(*args)
14
+ end
15
+
16
+ def bind
17
+ conn = connect(server)
18
+ conn.bind
19
+ return conn.get_operation_result
20
+ end
21
+
22
+ def add_result (dn = "cn=test,#{resource.basedn}", attr = @test_attr)
23
+ conn = connect(server)
24
+ conn.bind
25
+ conn.add ({ :dn => dn, :attributes => attr })
26
+ return conn.get_operation_result
27
+ end
28
+
29
+ def search_result (filter)
30
+ conn = connect(server)
31
+ conn.bind
32
+ r = conn.search(
33
+ :filter => filter,
34
+ :base => resource.basedn
35
+ )
36
+ conn.get_operation_result
37
+ end
38
+
39
+ def connect (server)
40
+ # Default options
41
+ options = { port: 389,
42
+ username: '',
43
+ password: '',
44
+ basedn: 'dc=example,dc=com'
45
+ }
46
+ options = options.merge(server.options[:ldap]) if server.options[:ldap]
47
+
48
+ server.forward_port(options[:port]) do |address, new_port|
49
+ conn = Net::LDAP.new(
50
+ :host => server.address,
51
+ :port => new_port,
52
+ :auth => {
53
+ :method => :simple,
54
+ :username => options[:username],
55
+ :password => options[:password]
56
+ }
57
+ )
58
+ return conn
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,12 @@
1
+ require 'rspec'
2
+ require 'infrataster/resources'
3
+
4
+ module Infrataster
5
+ module Helpers
6
+ module ResourceHelper
7
+ def ldap(*args)
8
+ Resources::LdapResource.new(*args)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ require 'infrataster'
2
+
3
+ module Infrataster
4
+ module Resources
5
+ class LdapResource < BaseResource
6
+ Error = Class.new(StandardError)
7
+
8
+ attr_reader :basedn
9
+
10
+ def initialize(basedn)
11
+ @basedn = basedn
12
+ end
13
+
14
+ def to_s
15
+ "LDAP: #{@basedn}"
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1 @@
1
+ 1.5:a259743b-6adb-4631-8c8a-07cef3182485
@@ -0,0 +1 @@
1
+ a259743b-6adb-4631-8c8a-07cef3182485
@@ -0,0 +1 @@
1
+ 81405d611e2d49158ea17ceb155fbea9
@@ -0,0 +1 @@
1
+ {"virtualbox":{"/vagrant":{"guestpath":"/vagrant","hostpath":"/Users/paul/work/infrataster-plugin-ldap/spec","disabled":false},"v-csc-1":{"id":"v-csc-1","guestpath":"/tmp/vagrant-chef-3/chef-solo-1/cookbooks","hostpath":"/Users/paul/work/infrataster-plugin-ldap/spec/cookbooks","disabled":false}}}
@@ -0,0 +1,20 @@
1
+ # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
2
+ VAGRANTFILE_API_VERSION = "2"
3
+
4
+ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
5
+ config.vm.box = "hashicorp/precise64"
6
+
7
+ config.vm.network "private_network", ip: "192.168.44.21"
8
+
9
+ config.vm.provision "chef_solo" do |chef|
10
+ chef.cookbooks_path = [File.expand_path('../cookbooks', __FILE__)]
11
+ chef.add_recipe "apt"
12
+ chef.add_recipe "openldap::server"
13
+ chef.json = {
14
+ "openldap" => {
15
+ "tls_enabled" => false,
16
+ "rootpw" => "wibble!"
17
+ }
18
+ }
19
+ end
20
+ end
@@ -0,0 +1,208 @@
1
+ apt Cookbook CHANGELOG
2
+ ======================
3
+ This file is used to list changes made in each version of the apt cookbook.
4
+
5
+ v2.6.0 (2014-09-09)
6
+ -------------------
7
+ - Always update on first run - check
8
+ - Adding ppa support for apt_repository
9
+
10
+ v2.5.3 (2014-08-14)
11
+ -------------------
12
+ - #87 - Improve default settings, account for non-linux platforms
13
+
14
+ v2.5.2 (2014-08-14)
15
+ -------------------
16
+ - Fully restore fully restore 2.3.10 behaviour
17
+
18
+ v2.5.1 (2014-08-14)
19
+ -------------------
20
+ - fix breakage introduced in apt 2.5.0
21
+
22
+ v2.5.0 (2014-08-12)
23
+ -------------------
24
+ - Add unattended-upgrades recipe
25
+ - Only update the cache for the created repository
26
+ - Added ChefSpec matchers and default_action for resources
27
+ - Avoid cloning resource attributes
28
+ - Minor documentation updates
29
+
30
+ v2.4.0 (2014-05-15)
31
+ -------------------
32
+ - [COOK-4534]: Add option to update apt cache at compile time
33
+
34
+
35
+ v2.3.10 (2014-04-23)
36
+ --------------------
37
+ - [COOK-4512] Bugfix: Use empty PATH if PATH is nil
38
+
39
+
40
+ v2.3.8 (2014-02-14)
41
+ -------------------
42
+ ### Bug
43
+ - **[COOK-4287](https://tickets.opscode.com/browse/COOK-4287)** - Cleanup the Kitchen
44
+
45
+
46
+ v2.3.6
47
+ ------
48
+ * [COOK-4154] - Add chefspec matchers.rb file to apt cookbook
49
+ * [COOK-4102] - Only index created repository
50
+
51
+
52
+ v2.3.6
53
+ ------
54
+ * [COOK-4154] - Add chefspec matchers.rb file to apt cookbook
55
+ * [COOK-4102] - Only index created repository
56
+
57
+
58
+ v2.3.4
59
+ ------
60
+ No change. Version bump for toolchain sanity
61
+
62
+
63
+ v2.3.2
64
+ ------
65
+ - [COOK-3905] apt-get-update-periodic: configuration for the update period
66
+ - Updating style for rubocops
67
+ - Updating test-kitchen harness
68
+
69
+
70
+ v2.3.0
71
+ ------
72
+ ### Bug
73
+ - **[COOK-3812](https://tickets.opscode.com/browse/COOK-3812)** - Add a way to bypass the apt existence check
74
+
75
+ ### Improvement
76
+ - **[COOK-3567](https://tickets.opscode.com/browse/COOK-3567)** - Allow users to bypass apt-cache via attributes
77
+
78
+
79
+ v2.2.1
80
+ ------
81
+ ### Improvement
82
+ - **[COOK-664](https://tickets.opscode.com/browse/COOK-664)** - Check platform before running apt-specific commands
83
+
84
+
85
+ v2.2.0
86
+ ------
87
+ ### Bug
88
+ - **[COOK-3707](https://tickets.opscode.com/browse/COOK-3707)** - multiple nics confuse apt::cacher-client
89
+
90
+ v2.1.2
91
+ ------
92
+ ### Improvement
93
+ - **[COOK-3551](https://tickets.opscode.com/browse/COOK-3551)** - Allow user to set up a trusted APT repository
94
+
95
+ v2.1.1
96
+ ------
97
+ ### Bug
98
+ - **[COOK-1856](https://tickets.opscode.com/browse/COOK-1856)** - Match GPG keys without case sensitivity
99
+
100
+ v2.1.0
101
+ ------
102
+ - [COOK-3426]: cacher-ng fails with restrict_environment set to true
103
+ - [COOK-2859]: cacher-client executes out of order
104
+ - [COOK-3052]: Long GPG keys are downloaded on every run
105
+ - [COOK-1856]: apt cookbook should match keys without case sensitivity
106
+ - [COOK-3255]: Attribute name incorrect in README
107
+ - [COOK-3225]: Call use_inline_resources only if defined
108
+ - [COOK-3386]: Cache dir for apt-cacher-ng
109
+ - [COOK-3291]: apt_repository: enable usage of a keyserver on port 80
110
+ - Greatly expanded test coverage with ChefSpec and Test-Kitchen
111
+
112
+ v2.0.0
113
+ ------
114
+ ### Bug
115
+
116
+ - [COOK-2258]: apt: LWRP results in error under why-run mode in apt 1.9.0 cookbook
117
+
118
+ v1.10.0
119
+ -------
120
+ ### Improvement
121
+
122
+ - [COOK-2885]: Improvements for apt cache server search
123
+
124
+ ### Bug
125
+
126
+ - [COOK-2441]: Apt recipe broken in new chef version
127
+ - [COOK-2660]: Create Debian 6.0 "squeeze" specific template for
128
+ apt-cacher-ng
129
+
130
+ v1.9.2
131
+ ------
132
+ - [COOK-2631] - Create Ubuntu 10.04 specific template for apt-cacher-ng
133
+
134
+ v1.9.0
135
+ ------
136
+ - [COOK-2185] - Proxy for apt-key
137
+ - [COOK-2338] - Support pinning by glob() or regexp
138
+
139
+ v1.8.4
140
+ ------
141
+ - [COOK-2171] - Update README to clarify required Chef version: 10.18.0
142
+ or higher.
143
+
144
+ v1.8.2
145
+ ------
146
+ - [COOK-2112] - need [] around "arch" in sources.list entries
147
+ - [COOK-2171] - fixes a regression in the notification
148
+
149
+ v1.8.0
150
+ ------
151
+ - [COOK-2143] - Allow for a custom cacher-ng port
152
+ - [COOK-2171] - On `apt_repository.run_action(:add)` the source file
153
+ is not created.
154
+ - [COOK-2184] - apt::cacher-ng, use `cacher_port` attribute in
155
+ acng.conf
156
+
157
+ v1.7.0
158
+ ------
159
+ - [COOK-2082] - add "arch" parameter to apt_repository LWRP
160
+
161
+ v1.6.0
162
+ ------
163
+ - [COOK-1893] - `apt_preference` use "`package_name`" resource instead of "name"
164
+ - [COOK-1894] - change filename for sources.list.d files
165
+ - [COOK-1914] - Wrong dir permissions for /etc/apt/preferences.d/
166
+ - [COOK-1942] - README.md has wrong name for the keyserver attribute
167
+ - [COOK-2019] - create 01proxy before any other apt-get updates get executed
168
+
169
+ v1.5.2
170
+ ------
171
+ - [COOK-1682] - use template instead of file resource in apt::cacher-client
172
+ - [COOK-1875] - cacher-client should be Environment-aware
173
+
174
+ V1.5.0
175
+ ------
176
+ - [COOK-1500] - Avoid triggering apt-get update
177
+ - [COOK-1548] - Add execute commands for autoclean and autoremove
178
+ - [COOK-1591] - Setting up the apt proxy should leave https
179
+ connections direct
180
+ - [COOK-1596] - execute[apt-get-update-periodic] never runs
181
+ - [COOK-1762] - create /etc/apt/preferences.d directory
182
+ - [COOK-1776] - apt key check isn't idempotent
183
+
184
+ v1.4.8
185
+ ------
186
+ * Adds test-kitchen support
187
+ - [COOK-1435] - repository lwrp is not idempotent with http key
188
+
189
+ v1.4.6
190
+ ------
191
+ - [COOK-1530] - apt_repository isn't aware of update-success-stamp
192
+ file (also reverts COOK-1382 patch).
193
+
194
+ v1.4.4
195
+ ------
196
+ - [COOK-1229] - Allow cacher IP to be set manually in non-Chef Solo
197
+ environments
198
+ - [COOK-1530] - Immediately update apt-cache when sources.list file is dropped off
199
+
200
+ v1.4.2
201
+ ------
202
+ - [COOK-1155] - LWRP for apt pinning
203
+
204
+ v1.4.0
205
+ ------
206
+ - [COOK-889] - overwrite existing repo source files
207
+ - [COOK-921] - optionally use cookbook\_file or remote\_file for key
208
+ - [COOK-1032] - fixes problem with apt repository key installation