vagrant-orchestrate 0.7.2 → 0.8.0.pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +6 -0
- data/docs/config.md +8 -0
- data/lib/vagrant-managed-servers/action/take_synced_folder_ownership.rb +34 -0
- data/lib/vagrant-managed-servers/action.rb +2 -0
- data/lib/vagrant-orchestrate/config.rb +3 -0
- data/lib/vagrant-orchestrate/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 808945cdd072496fc2196b7ae85bd717e8ca4c5e
|
4
|
+
data.tar.gz: 88709f5e06cd4dab1522565932949d784c4b3dc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f7adc7b6d305ba723ff4e2dcd9a1059dde926117e19693ffe1204112b122eb11250b006beeec3129b42ef3eb62d469066c3ac98c9b2a1679f93513ae99917e2
|
7
|
+
data.tar.gz: 87181a207c6dfda6229c3dd0953d1e4d5fd3f0d3e823b954262ab9c10eef09ef96a744b86f22cb61c2c3c11ed36ca8de40fd91e76bf2bb97180d9754acb9b37f
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
0.8.0 (Unreleased)
|
2
|
+
|
3
|
+
- Add an action as part of the push command that will change ownership of all synced folders to the configured user to avoid permission conflicts.
|
4
|
+
- Added config.orchestrate.take_synced_file_ownership and documented in docs/config.md (default is true)
|
5
|
+
- Should have no impact on Windows systems, since `chown` is filtered out by the winrm communicator filter
|
6
|
+
|
1
7
|
0.7.2 (September 25th, 2015)
|
2
8
|
|
3
9
|
- Include windows guest directive on winrm template to correct issues with incorrect
|
data/docs/config.md
CHANGED
@@ -9,3 +9,11 @@ servers if there are any uncommitted or untracked files in your git repository.
|
|
9
9
|
the `disable_commit_guard` configuration option will disable this protection.
|
10
10
|
|
11
11
|
config.orchestrate.disable_commit_guard = true
|
12
|
+
|
13
|
+
## `take_synced_folder_ownership`
|
14
|
+
|
15
|
+
When multiple users are using Vagrant Orchestrate to push to the same target servers,
|
16
|
+
there can arise permission issues for folders that are synced. When `true`, Vagrant
|
17
|
+
Orchestrate will change ownership of the guestpath of all synced folders to be the
|
18
|
+
`owner` specified in the `synced_folder` or the `ssh_info.username`. Has no affect
|
19
|
+
for Windows guests. Default is `true`.
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "log4r"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ManagedServers
|
5
|
+
module Action
|
6
|
+
class TakeSyncedFolderOwnership
|
7
|
+
def initialize(app, _env)
|
8
|
+
@app = app
|
9
|
+
@logger = Log4r::Logger.new("vagrant_managed_servers::action::take_synced_folder_ownership")
|
10
|
+
end
|
11
|
+
|
12
|
+
def call(env)
|
13
|
+
take_synced_folder_ownership env[:machine], env[:ui]
|
14
|
+
@app.call(env)
|
15
|
+
end
|
16
|
+
|
17
|
+
def take_synced_folder_ownership(machine, ui)
|
18
|
+
return unless machine.config.orchestrate.take_synced_folder_ownership
|
19
|
+
ui.info "Taking ownership of all guest synced folders"
|
20
|
+
|
21
|
+
machine.config.vm.synced_folders.each do |synced_folder|
|
22
|
+
name = synced_folder[0]
|
23
|
+
options = synced_folder[1]
|
24
|
+
next if options[:disabled]
|
25
|
+
options[:owner] ||= machine.ssh_info[:username]
|
26
|
+
@logger.debug "Taking ownership of #{name}"
|
27
|
+
@logger.debug options
|
28
|
+
machine.communicate.sudo "chown #{options[:owner]} -R #{options[:guestpath]}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "vagrant-managed-servers/action/upload_status"
|
2
2
|
require "vagrant-managed-servers/action/init_deployment_tracker"
|
3
|
+
require "vagrant-managed-servers/action/take_synced_folder_ownership"
|
3
4
|
require "vagrant-managed-servers/action/track_deployment_start"
|
4
5
|
require "vagrant-managed-servers/action/track_deployment_end"
|
5
6
|
require "vagrant-managed-servers/action/track_server_deployment_start"
|
@@ -17,6 +18,7 @@ module VagrantPlugins
|
|
17
18
|
Vagrant::Action::Builder.new.tap do |b|
|
18
19
|
b.use TrackServerDeploymentStart
|
19
20
|
b.use action_up
|
21
|
+
b.use TakeSyncedFolderOwnership
|
20
22
|
b.use Call, action_provision do |env, b2|
|
21
23
|
if env[:reboot]
|
22
24
|
b2.use Call, action_reload do |_env, _b3|
|
@@ -11,6 +11,7 @@ module VagrantPlugins
|
|
11
11
|
attr_accessor :tracker_logging_enabled
|
12
12
|
attr_accessor :credentials
|
13
13
|
attr_accessor :disable_commit_guard
|
14
|
+
attr_accessor :take_synced_folder_ownership
|
14
15
|
|
15
16
|
def initialize
|
16
17
|
@filter_managed_commands = UNSET_VALUE
|
@@ -19,6 +20,7 @@ module VagrantPlugins
|
|
19
20
|
@tracker_host = UNSET_VALUE
|
20
21
|
@tracker_logging_enabled = UNSET_VALUE
|
21
22
|
@disable_commit_guard = UNSET_VALUE
|
23
|
+
@take_synced_folder_ownership = UNSET_VALUE
|
22
24
|
@credentials = Credentials.new
|
23
25
|
end
|
24
26
|
|
@@ -50,6 +52,7 @@ module VagrantPlugins
|
|
50
52
|
@tracker_host = nil if @tracker_host == UNSET_VALUE
|
51
53
|
@tracker_logging_enabled = true if @tracker_logging_enabled == UNSET_VALUE
|
52
54
|
@disable_commit_guard = false if @disable_commit_guard == UNSET_VALUE
|
55
|
+
@take_synced_folder_ownership = true if @take_synced_folder_ownership == UNSET_VALUE
|
53
56
|
@credentials = nil if @credentials.unset?
|
54
57
|
@credentials.finalize! if @credentials
|
55
58
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-orchestrate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Baldauf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09
|
11
|
+
date: 2015-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deployment-tracker-client
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/vagrant-managed-servers/action.rb
|
119
119
|
- lib/vagrant-managed-servers/action/download_status.rb
|
120
120
|
- lib/vagrant-managed-servers/action/init_deployment_tracker.rb
|
121
|
+
- lib/vagrant-managed-servers/action/take_synced_folder_ownership.rb
|
121
122
|
- lib/vagrant-managed-servers/action/track_deployment_end.rb
|
122
123
|
- lib/vagrant-managed-servers/action/track_deployment_start.rb
|
123
124
|
- lib/vagrant-managed-servers/action/track_server_deployment_end.rb
|
@@ -163,9 +164,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
164
|
version: '0'
|
164
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
166
|
requirements:
|
166
|
-
- - '
|
167
|
+
- - '>'
|
167
168
|
- !ruby/object:Gem::Version
|
168
|
-
version:
|
169
|
+
version: 1.3.1
|
169
170
|
requirements: []
|
170
171
|
rubyforge_project:
|
171
172
|
rubygems_version: 2.0.14
|