vagrant-orchestrate 0.7.2 → 0.8.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5f5be85b659c5c5022a04470ec6974461ba5706
4
- data.tar.gz: adba283f307e946d40b4ce61d941d406a42a091f
3
+ metadata.gz: 808945cdd072496fc2196b7ae85bd717e8ca4c5e
4
+ data.tar.gz: 88709f5e06cd4dab1522565932949d784c4b3dc6
5
5
  SHA512:
6
- metadata.gz: 9c66765c8ff0fd957b4b2dc9357c2e40779b3a5dbb271402e5b639b9647db633ff7a386feffae7a59ec06b41d7c94eae356810fd95735d23c0e587ca9db4852f
7
- data.tar.gz: 1891a632f207db38a00f42e8bdb80f4ded5279012c0ede8750b5467d4c92725478fdb2dbe11d5bb6f1c26b8f1c175a2d7167588852c16c280391772d6ddab374
6
+ metadata.gz: 4f7adc7b6d305ba723ff4e2dcd9a1059dde926117e19693ffe1204112b122eb11250b006beeec3129b42ef3eb62d469066c3ac98c9b2a1679f93513ae99917e2
7
+ data.tar.gz: 87181a207c6dfda6229c3dd0953d1e4d5fd3f0d3e823b954262ab9c10eef09ef96a744b86f22cb61c2c3c11ed36ca8de40fd91e76bf2bb97180d9754acb9b37f
data/.rubocop.yml CHANGED
@@ -16,5 +16,8 @@ StringLiterals:
16
16
  Style/FileName:
17
17
  Enabled: false
18
18
 
19
+ Style/RegexpLiteral:
20
+ Enabled: false
21
+
19
22
  Metrics/AbcSize:
20
23
  Max: 100
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
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Orchestrate
3
- VERSION = "0.7.2"
3
+ VERSION = "0.8.0.pre.1"
4
4
  end
5
5
  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.7.2
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-25 00:00:00.000000000 Z
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: '0'
169
+ version: 1.3.1
169
170
  requirements: []
170
171
  rubyforge_project:
171
172
  rubygems_version: 2.0.14