r10k 3.7.0 → 3.9.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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +1 -1
  3. data/.github/workflows/docker.yml +4 -1
  4. data/.github/workflows/release.yml +3 -2
  5. data/.github/workflows/rspec_tests.yml +1 -1
  6. data/.github/workflows/stale.yml +19 -0
  7. data/.travis.yml +8 -1
  8. data/CHANGELOG.mkd +32 -0
  9. data/CODEOWNERS +2 -2
  10. data/doc/common-patterns.mkd +1 -0
  11. data/doc/dynamic-environments/configuration.mkd +114 -42
  12. data/doc/dynamic-environments/usage.mkd +12 -11
  13. data/doc/puppetfile.mkd +23 -3
  14. data/docker/Gemfile +1 -1
  15. data/docker/Makefile +4 -3
  16. data/docker/docker-compose.yml +18 -0
  17. data/docker/r10k/Dockerfile +1 -1
  18. data/docker/r10k/docker-entrypoint.sh +0 -1
  19. data/docker/r10k/release.Dockerfile +1 -1
  20. data/docker/spec/dockerfile_spec.rb +26 -32
  21. data/integration/tests/git_source/git_source_repeated_remote.rb +2 -2
  22. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module.rb +2 -1
  23. data/integration/tests/user_scenario/basic_workflow/multi_env_custom_forge_git_module_static.rb +2 -1
  24. data/integration/tests/user_scenario/basic_workflow/multi_source_custom_forge_git_module.rb +1 -1
  25. data/integration/tests/user_scenario/basic_workflow/single_env_custom_forge_git_module.rb +2 -1
  26. data/lib/r10k/action/base.rb +10 -0
  27. data/lib/r10k/action/deploy/display.rb +49 -10
  28. data/lib/r10k/action/deploy/environment.rb +101 -51
  29. data/lib/r10k/action/deploy/module.rb +54 -30
  30. data/lib/r10k/action/puppetfile/check.rb +3 -1
  31. data/lib/r10k/action/puppetfile/install.rb +20 -23
  32. data/lib/r10k/action/puppetfile/purge.rb +8 -2
  33. data/lib/r10k/action/runner.rb +33 -0
  34. data/lib/r10k/cli/deploy.rb +13 -7
  35. data/lib/r10k/cli/puppetfile.rb +5 -5
  36. data/lib/r10k/content_synchronizer.rb +83 -0
  37. data/lib/r10k/deployment.rb +1 -1
  38. data/lib/r10k/environment/base.rb +29 -2
  39. data/lib/r10k/environment/git.rb +17 -5
  40. data/lib/r10k/environment/name.rb +22 -4
  41. data/lib/r10k/environment/svn.rb +11 -4
  42. data/lib/r10k/environment/with_modules.rb +46 -30
  43. data/lib/r10k/git.rb +1 -0
  44. data/lib/r10k/git/rugged/credentials.rb +39 -2
  45. data/lib/r10k/initializers.rb +1 -0
  46. data/lib/r10k/module.rb +1 -1
  47. data/lib/r10k/module/base.rb +17 -1
  48. data/lib/r10k/module/forge.rb +29 -11
  49. data/lib/r10k/module/git.rb +50 -27
  50. data/lib/r10k/module/local.rb +2 -1
  51. data/lib/r10k/module/svn.rb +24 -18
  52. data/lib/r10k/puppetfile.rb +66 -83
  53. data/lib/r10k/settings.rb +18 -2
  54. data/lib/r10k/source/base.rb +9 -0
  55. data/lib/r10k/source/git.rb +18 -7
  56. data/lib/r10k/source/hash.rb +5 -5
  57. data/lib/r10k/source/svn.rb +5 -3
  58. data/lib/r10k/util/cleaner.rb +21 -0
  59. data/lib/r10k/util/setopts.rb +33 -12
  60. data/lib/r10k/version.rb +1 -1
  61. data/locales/r10k.pot +98 -82
  62. data/r10k.gemspec +1 -1
  63. data/spec/fixtures/unit/action/r10k_creds.yaml +9 -0
  64. data/spec/r10k-mocks/mock_source.rb +1 -1
  65. data/spec/shared-examples/puppetfile-action.rb +7 -7
  66. data/spec/unit/action/deploy/display_spec.rb +35 -5
  67. data/spec/unit/action/deploy/environment_spec.rb +199 -38
  68. data/spec/unit/action/deploy/module_spec.rb +162 -28
  69. data/spec/unit/action/puppetfile/check_spec.rb +2 -2
  70. data/spec/unit/action/puppetfile/install_spec.rb +31 -10
  71. data/spec/unit/action/puppetfile/purge_spec.rb +25 -5
  72. data/spec/unit/action/runner_spec.rb +48 -1
  73. data/spec/unit/environment/git_spec.rb +19 -2
  74. data/spec/unit/environment/name_spec.rb +28 -0
  75. data/spec/unit/environment/svn_spec.rb +12 -0
  76. data/spec/unit/environment/with_modules_spec.rb +74 -0
  77. data/spec/unit/git/rugged/credentials_spec.rb +78 -1
  78. data/spec/unit/module/forge_spec.rb +21 -13
  79. data/spec/unit/module/git_spec.rb +63 -8
  80. data/spec/unit/module_spec.rb +77 -10
  81. data/spec/unit/puppetfile_spec.rb +63 -60
  82. data/spec/unit/util/purgeable_spec.rb +2 -8
  83. data/spec/unit/util/setopts_spec.rb +25 -1
  84. metadata +11 -12
  85. data/azure-pipelines.yml +0 -87
data/lib/r10k/settings.rb CHANGED
@@ -37,6 +37,11 @@ module R10K
37
37
  Only used by the 'rugged' Git provider.",
38
38
  }),
39
39
 
40
+ Definition.new(:oauth_token, {
41
+ :desc => "The path to a token file for Git OAuth remotes.
42
+ Only used by the 'rugged' Git provider."
43
+ }),
44
+
40
45
  URIDefinition.new(:proxy, {
41
46
  :desc => "An optional proxy server to use when interacting with Git sources via HTTP(S).",
42
47
  :default => :inherit,
@@ -54,11 +59,17 @@ module R10K
54
59
  :default => :inherit,
55
60
  }),
56
61
 
62
+ Definition.new(:oauth_token, {
63
+ :desc => "The path to a token file for Git OAuth remotes.
64
+ Only used by the 'rugged' Git provider.",
65
+ :default => :inherit
66
+ }),
67
+
57
68
  URIDefinition.new(:proxy, {
58
69
  :desc => "An optional proxy server to use when interacting with Git sources via HTTP(S).",
59
70
  :default => :inherit,
60
71
  }),
61
-
72
+
62
73
  Definition.new(:ignore_branch_prefixes, {
63
74
  :desc => "Array of strings used to prefix branch names that will not be deployed as environments.",
64
75
  }),
@@ -111,11 +122,16 @@ module R10K
111
122
  end,
112
123
  }),
113
124
 
114
- Definition.new(:purge_whitelist, {
125
+ Definition.new(:purge_allowlist, {
115
126
  :desc => "A list of filename patterns to be excluded from any purge operations. Patterns are matched relative to the root of each deployed environment, if you want a pattern to match recursively you need to use the '**' glob in your pattern. Basic shell style globs are supported.",
116
127
  :default => [],
117
128
  }),
118
129
 
130
+ Definition.new(:purge_whitelist, {
131
+ :desc => "Deprecated; please use purge_allowlist instead. This setting will be removed in a future version.",
132
+ :default => [],
133
+ }),
134
+
119
135
  Definition.new(:generate_types, {
120
136
  :desc => "Controls whether to generate puppet types after deploying an environment. Defaults to false.",
121
137
  :default => false,
@@ -1,8 +1,12 @@
1
+ require 'r10k/logging'
2
+
1
3
  # This class defines a common interface for source implementations.
2
4
  #
3
5
  # @since 1.3.0
4
6
  class R10K::Source::Base
5
7
 
8
+ include R10K::Logging
9
+
6
10
  # @!attribute [r] basedir
7
11
  # @return [String] The path this source will place environments in
8
12
  attr_reader :basedir
@@ -31,10 +35,15 @@ class R10K::Source::Base
31
35
  # @option options [Boolean, String] :prefix If a String this becomes the prefix.
32
36
  # If true, will use the source name as the prefix. All sources should respect this option.
33
37
  # Defaults to false for no environment prefix.
38
+ # @option options [String] :strip_component If a string, this value will be
39
+ # removed from the beginning of each generated environment's name, if
40
+ # present. If the string is contained within two "/" characters, it will
41
+ # be treated as a regular expression.
34
42
  def initialize(name, basedir, options = {})
35
43
  @name = name
36
44
  @basedir = Pathname.new(basedir).cleanpath.to_s
37
45
  @prefix = options.delete(:prefix)
46
+ @strip_component = options.delete(:strip_component)
38
47
  @puppetfile_name = options.delete(:puppetfile_name)
39
48
  @options = options
40
49
  end
@@ -11,8 +11,6 @@ require 'r10k/environment/name'
11
11
  # @since 1.3.0
12
12
  class R10K::Source::Git < R10K::Source::Base
13
13
 
14
- include R10K::Logging
15
-
16
14
  R10K::Source.register(:git, self)
17
15
  # Register git as the default source
18
16
  R10K::Source.register(nil, self)
@@ -99,12 +97,22 @@ class R10K::Source::Git < R10K::Source::Base
99
97
  envs = []
100
98
  branch_names.each do |bn|
101
99
  if bn.valid?
102
- envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
103
- {:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name })
100
+ envs << R10K::Environment::Git.new(bn.name,
101
+ @basedir,
102
+ bn.dirname,
103
+ {remote: remote,
104
+ ref: bn.name,
105
+ puppetfile_name: puppetfile_name,
106
+ overrides: @options[:overrides]})
104
107
  elsif bn.correct?
105
108
  logger.warn _("Environment %{env_name} contained non-word characters, correcting name to %{corrected_env_name}") % {env_name: bn.name.inspect, corrected_env_name: bn.dirname}
106
- envs << R10K::Environment::Git.new(bn.name, @basedir, bn.dirname,
107
- {:remote => remote, :ref => bn.name, :puppetfile_name => puppetfile_name})
109
+ envs << R10K::Environment::Git.new(bn.name,
110
+ @basedir,
111
+ bn.dirname,
112
+ {remote: remote,
113
+ ref: bn.name,
114
+ puppetfile_name: puppetfile_name,
115
+ overrides: @options[:overrides]})
108
116
  elsif bn.validate?
109
117
  logger.error _("Environment %{env_name} contained non-word characters, ignoring it.") % {env_name: bn.name.inspect}
110
118
  end
@@ -145,7 +153,10 @@ class R10K::Source::Git < R10K::Source::Base
145
153
  private
146
154
 
147
155
  def branch_names
148
- opts = {:prefix => @prefix, :invalid => @invalid_branches, :source => @name}
156
+ opts = {prefix: @prefix,
157
+ invalid: @invalid_branches,
158
+ source: @name,
159
+ strip_component: @strip_component}
149
160
  branches = @cache.branches
150
161
  if @ignore_branch_prefixes && !@ignore_branch_prefixes.empty?
151
162
  branches = filter_branches_by_regexp(branches, @ignore_branch_prefixes)
@@ -120,8 +120,6 @@
120
120
  #
121
121
  class R10K::Source::Hash < R10K::Source::Base
122
122
 
123
- include R10K::Logging
124
-
125
123
  # @param hash [Hash] A hash to validate.
126
124
  # @return [Boolean] False if the hash is obviously invalid. A true return
127
125
  # means _maybe_ it's valid.
@@ -152,8 +150,10 @@ class R10K::Source::Hash < R10K::Source::Base
152
150
  R10K::Util::SymbolizeKeys.symbolize_keys!(opts)
153
151
  memo.merge({
154
152
  name => opts.merge({
155
- :basedir => @basedir,
156
- :dirname => R10K::Environment::Name.new(name, {prefix: @prefix, source: @name}).dirname
153
+ basedir: @basedir,
154
+ dirname: R10K::Environment::Name.new(name, {prefix: @prefix,
155
+ source: @name,
156
+ strip_component: @strip_component}).dirname
157
157
  })
158
158
  })
159
159
  end
@@ -168,7 +168,7 @@ class R10K::Source::Hash < R10K::Source::Base
168
168
 
169
169
  def environments
170
170
  @environments ||= environments_hash.map do |name, hash|
171
- R10K::Environment.from_hash(name, hash)
171
+ R10K::Environment.from_hash(name, hash.merge({overrides: @options[:overrides]}))
172
172
  end
173
173
  end
174
174
 
@@ -103,8 +103,6 @@ class R10K::Source::SVN < R10K::Source::Base
103
103
  @environments.map {|env| env.dirname }
104
104
  end
105
105
 
106
- include R10K::Logging
107
-
108
106
  def filter_branches(branches, ignore_prefixes)
109
107
  filter = Regexp.new("^(#{ignore_prefixes.join('|')})")
110
108
  branches = branches.reject do |branch|
@@ -121,7 +119,11 @@ class R10K::Source::SVN < R10K::Source::Base
121
119
 
122
120
  def names_and_paths
123
121
  branches = []
124
- opts = {:prefix => @prefix, :correct => false, :validate => false, :source => @name}
122
+ opts = {prefix: @prefix,
123
+ correct: false,
124
+ validate: false,
125
+ source: @name,
126
+ strip_component: @strip_component}
125
127
  branches << [R10K::Environment::Name.new('production', opts), "#{@remote}/trunk"]
126
128
  additional_branch_names = @svn_remote.branches
127
129
  if @ignore_branch_prefixes && !@ignore_branch_prefixes.empty?
@@ -0,0 +1,21 @@
1
+ require 'r10k/logging'
2
+ require 'r10k/util/purgeable'
3
+
4
+ module R10K
5
+ module Util
6
+ class Cleaner
7
+
8
+ include R10K::Logging
9
+ include R10K::Util::Purgeable
10
+
11
+ attr_reader :managed_directories, :desired_contents, :purge_exclusions
12
+
13
+ def initialize(managed_directories, desired_contents, purge_exclusions = [])
14
+ @managed_directories = managed_directories
15
+ @desired_contents = desired_contents
16
+ @purge_exclusions = purge_exclusions
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -7,6 +7,10 @@ module R10K
7
7
  # supports Ruby 1.8.7+ we cannot use that functionality.
8
8
  module Setopts
9
9
 
10
+ class Ignore; end
11
+
12
+ include R10K::Logging
13
+
10
14
  private
11
15
 
12
16
  # @param opts [Hash]
@@ -31,22 +35,39 @@ module R10K
31
35
  # setopts(opts, allowed)
32
36
  # @trace # => nil
33
37
  #
34
- def setopts(opts, allowed)
38
+ def setopts(opts, allowed, raise_on_unhandled: true)
39
+ processed_vars = {}
35
40
  opts.each_pair do |key, value|
36
41
  if allowed.key?(key)
37
- rhs = allowed[key]
38
- case rhs
39
- when NilClass, FalseClass
40
- # Ignore nil options
41
- when :self, TrueClass
42
- # tr here is because instance variables cannot have hyphens in their names.
43
- instance_variable_set("@#{key}".tr('-','_').to_sym, value)
44
- else
45
- # tr here same as previous
46
- instance_variable_set("@#{rhs}".tr('-','_').to_sym, value)
42
+ # Ignore nil options and explicit ignore param
43
+ next unless rhs = allowed[key]
44
+ next if rhs == ::R10K::Util::Setopts::Ignore
45
+
46
+ var = case rhs
47
+ when :self, TrueClass
48
+ # tr here is because instance variables cannot have hyphens in their names.
49
+ "@#{key}".tr('-','_').to_sym
50
+ else
51
+ # tr here same as previous
52
+ "@#{rhs}".tr('-','_').to_sym
53
+ end
54
+
55
+ if processed_vars.include?(var)
56
+ # This should be a raise, but that would be a behavior change and
57
+ # should happen on a SemVer boundry.
58
+ logger.warn _("%{class_name} parameters '%{a}' and '%{b}' conflict. Specify one or the other, but not both" \
59
+ % {class_name: self.class.name, a: processed_vars[var], b: key})
47
60
  end
61
+
62
+ instance_variable_set(var, value)
63
+ processed_vars[var] = key
48
64
  else
49
- raise ArgumentError, _("%{class_name} cannot handle option '%{key}'") % {class_name: self.class.name, key: key}
65
+ err_str = _("%{class_name} cannot handle option '%{key}'") % {class_name: self.class.name, key: key}
66
+ if raise_on_unhandled
67
+ raise ArgumentError, err_str
68
+ else
69
+ logger.warn(err_str)
70
+ end
50
71
  end
51
72
  end
52
73
  end
data/lib/r10k/version.rb CHANGED
@@ -2,5 +2,5 @@ module R10K
2
2
  # When updating to a new major (X) or minor (Y) version, include `#major` or
3
3
  # `#minor` (respectively) in your commit message to trigger the appropriate
4
4
  # release. Otherwise, a new patch (Z) version will be released.
5
- VERSION = '3.7.0'
5
+ VERSION = '3.9.3'
6
6
  end
data/locales/r10k.pot CHANGED
@@ -1,16 +1,16 @@
1
1
  # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) 2020 Puppet, Inc.
2
+ # Copyright (C) 2021 Puppet, Inc.
3
3
  # This file is distributed under the same license as the r10k package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
5
5
  #
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: r10k 3.4.1-57-g2eb088a\n"
9
+ "Project-Id-Version: r10k 3.4.1-231-g5574915\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: docs@puppetlabs.com\n"
12
- "POT-Creation-Date: 2020-07-22 16:41+0000\n"
13
- "PO-Revision-Date: 2020-07-22 16:41+0000\n"
12
+ "POT-Creation-Date: 2021-05-10 23:18+0000\n"
13
+ "PO-Revision-Date: 2021-05-10 23:18+0000\n"
14
14
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15
15
  "Language-Team: LANGUAGE <LL@li.org>\n"
16
16
  "Language: \n"
@@ -31,68 +31,60 @@ msgstr ""
31
31
  msgid "Reason: %{write_lock}"
32
32
  msgstr ""
33
33
 
34
- #: ../lib/r10k/action/deploy/environment.rb:57
34
+ #: ../lib/r10k/action/deploy/environment.rb:109
35
35
  msgid "Environment(s) \\'%{environments}\\' cannot be found in any source and will not be deployed."
36
36
  msgstr ""
37
37
 
38
- #: ../lib/r10k/action/deploy/environment.rb:85
38
+ #: ../lib/r10k/action/deploy/environment.rb:139
39
39
  msgid "Environment %{env_dir} does not match environment name filter, skipping"
40
40
  msgstr ""
41
41
 
42
- #: ../lib/r10k/action/deploy/environment.rb:93
42
+ #: ../lib/r10k/action/deploy/environment.rb:147
43
43
  msgid "Deploying environment %{env_path}"
44
44
  msgstr ""
45
45
 
46
- #: ../lib/r10k/action/deploy/environment.rb:96
46
+ #: ../lib/r10k/action/deploy/environment.rb:150
47
47
  msgid "Environment %{env_dir} is now at %{env_signature}"
48
48
  msgstr ""
49
49
 
50
- #: ../lib/r10k/action/deploy/environment.rb:100
50
+ #: ../lib/r10k/action/deploy/environment.rb:154
51
51
  msgid "Environment %{env_dir} is new, updating all modules"
52
52
  msgstr ""
53
53
 
54
- #: ../lib/r10k/action/deploy/environment.rb:143
55
- msgid "Deploying %{origin} content %{path}"
54
+ #: ../lib/r10k/action/deploy/module.rb:78
55
+ msgid "Only updating modules in environment(s) %{opt_env} skipping environment %{env_path}"
56
56
  msgstr ""
57
57
 
58
- #: ../lib/r10k/action/deploy/module.rb:49
59
- msgid "Only updating modules in environment %{opt_env} skipping environment %{env_path}"
60
- msgstr ""
61
-
62
- #: ../lib/r10k/action/deploy/module.rb:51
58
+ #: ../lib/r10k/action/deploy/module.rb:80
63
59
  msgid "Updating modules %{modules} in environment %{env_path}"
64
60
  msgstr ""
65
61
 
66
- #: ../lib/r10k/action/deploy/module.rb:63
67
- msgid "Deploying module %{mod_path}"
68
- msgstr ""
69
-
70
- #: ../lib/r10k/action/deploy/module.rb:70
71
- msgid "Only updating modules %{modules}, skipping module %{mod_name}"
62
+ #: ../lib/r10k/action/puppetfile/check.rb:16
63
+ msgid "Syntax OK"
72
64
  msgstr ""
73
65
 
74
- #: ../lib/r10k/action/puppetfile/check.rb:14
75
- msgid "Syntax OK"
66
+ #: ../lib/r10k/action/runner.rb:54 ../lib/r10k/deployment/config.rb:42
67
+ msgid "Overriding config file setting '%{key}': '%{old_val}' -> '%{new_val}'"
76
68
  msgstr ""
77
69
 
78
- #: ../lib/r10k/action/puppetfile/install.rb:30
79
- msgid "Updating module %{mod_path}"
70
+ #: ../lib/r10k/action/runner.rb:91
71
+ msgid "Reading configuration from %{config_path}"
80
72
  msgstr ""
81
73
 
82
- #: ../lib/r10k/action/puppetfile/install.rb:33
83
- msgid "Cannot track control repo branch for content '%{name}' when not part of a 'deploy' action, will use default if available."
74
+ #: ../lib/r10k/action/runner.rb:94
75
+ msgid "No config file explicitly given and no default config file could be found, default settings will be used."
84
76
  msgstr ""
85
77
 
86
- #: ../lib/r10k/action/runner.rb:53 ../lib/r10k/deployment/config.rb:42
87
- msgid "Overriding config file setting '%{key}': '%{old_val}' -> '%{new_val}'"
78
+ #: ../lib/r10k/content_synchronizer.rb:13
79
+ msgid "Updating modules with %{pool_size} threads"
88
80
  msgstr ""
89
81
 
90
- #: ../lib/r10k/action/runner.rb:86
91
- msgid "Reading configuration from %{config_path}"
82
+ #: ../lib/r10k/content_synchronizer.rb:24
83
+ msgid "Error during concurrent deploy of a module: %{message}"
92
84
  msgstr ""
93
85
 
94
- #: ../lib/r10k/action/runner.rb:89
95
- msgid "No config file explicitly given and no default config file could be found, default settings will be used."
86
+ #: ../lib/r10k/content_synchronizer.rb:52
87
+ msgid "Module thread %{id} exiting: %{message}"
96
88
  msgstr ""
97
89
 
98
90
  #: ../lib/r10k/deployment.rb:90
@@ -103,16 +95,24 @@ msgstr ""
103
95
  msgid "Unable to load sources; the supplied configuration does not define the 'sources' key"
104
96
  msgstr ""
105
97
 
106
- #: ../lib/r10k/environment/base.rb:61 ../lib/r10k/environment/base.rb:77 ../lib/r10k/environment/base.rb:86 ../lib/r10k/source/base.rb:64
98
+ #: ../lib/r10k/environment/base.rb:65 ../lib/r10k/environment/base.rb:81 ../lib/r10k/environment/base.rb:90 ../lib/r10k/source/base.rb:69
107
99
  msgid "%{class} has not implemented method %{method}"
108
100
  msgstr ""
109
101
 
110
- #: ../lib/r10k/environment/with_modules.rb:104
111
- msgid "Puppetfile cannot contain module names defined by environment %{name}"
102
+ #: ../lib/r10k/environment/name.rb:78
103
+ msgid "Improper configuration value given for strip_component setting in %{src} source. Value must be a string, a /regex/, false, or omitted. Got \"%{val}\" (%{type})"
112
104
  msgstr ""
113
105
 
114
- #: ../lib/r10k/environment/with_modules.rb:106
115
- msgid "Remove the conflicting definitions of the following modules: %{conflicts}"
106
+ #: ../lib/r10k/environment/with_modules.rb:60
107
+ msgid "Environment and %{src} both define the \"%{name}\" module"
108
+ msgstr ""
109
+
110
+ #: ../lib/r10k/environment/with_modules.rb:61
111
+ msgid "#{msg_error}. The %{src} definition will be ignored"
112
+ msgstr ""
113
+
114
+ #: ../lib/r10k/environment/with_modules.rb:71
115
+ msgid "Unexpected value for `module_conflicts` setting in %{env} environment: %{val}"
116
116
  msgstr ""
117
117
 
118
118
  #: ../lib/r10k/feature.rb:27
@@ -187,11 +187,11 @@ msgstr ""
187
187
  msgid "Cannot write %{file}; parent directory does not exist"
188
188
  msgstr ""
189
189
 
190
- #: ../lib/r10k/git/cache.rb:55
190
+ #: ../lib/r10k/git/cache.rb:65
191
191
  msgid "%{class}#path is deprecated; use #git_dir"
192
192
  msgstr ""
193
193
 
194
- #: ../lib/r10k/git/cache.rb:84
194
+ #: ../lib/r10k/git/cache.rb:94
195
195
  msgid "Creating new git cache for %{remote}"
196
196
  msgstr ""
197
197
 
@@ -227,15 +227,31 @@ msgstr ""
227
227
  msgid "Unable to use SSH key auth for %{url}: private key %{private_key} is missing or unreadable"
228
228
  msgstr ""
229
229
 
230
- #: ../lib/r10k/git/rugged/credentials.rb:80
230
+ #: ../lib/r10k/git/rugged/credentials.rb:84
231
+ msgid "Using OAuth token from stdin for URL %{url}"
232
+ msgstr ""
233
+
234
+ #: ../lib/r10k/git/rugged/credentials.rb:87
235
+ msgid "Using OAuth token from %{token_path} for URL %{url}"
236
+ msgstr ""
237
+
238
+ #: ../lib/r10k/git/rugged/credentials.rb:89
239
+ msgid "%{path} is missing or unreadable, cannot load OAuth token"
240
+ msgstr ""
241
+
242
+ #: ../lib/r10k/git/rugged/credentials.rb:93
243
+ msgid "Supplied OAuth token contains invalid characters."
244
+ msgstr ""
245
+
246
+ #: ../lib/r10k/git/rugged/credentials.rb:117
231
247
  msgid "URL %{url} includes the username %{username}, using that user for authentication."
232
248
  msgstr ""
233
249
 
234
- #: ../lib/r10k/git/rugged/credentials.rb:83
250
+ #: ../lib/r10k/git/rugged/credentials.rb:120
235
251
  msgid "URL %{url} did not specify a user, using %{user} from configuration"
236
252
  msgstr ""
237
253
 
238
- #: ../lib/r10k/git/rugged/credentials.rb:86
254
+ #: ../lib/r10k/git/rugged/credentials.rb:123
239
255
  msgid "URL %{url} did not specify a user, using current user %{user}"
240
256
  msgstr ""
241
257
 
@@ -255,31 +271,31 @@ msgstr ""
255
271
  msgid "Found local modifications in %{file_path}"
256
272
  msgstr ""
257
273
 
258
- #: ../lib/r10k/git/stateful_repository.rb:40
274
+ #: ../lib/r10k/git/stateful_repository.rb:44
259
275
  msgid "Unable to sync repo to unresolvable ref '%{ref}'"
260
276
  msgstr ""
261
277
 
262
- #: ../lib/r10k/git/stateful_repository.rb:47
278
+ #: ../lib/r10k/git/stateful_repository.rb:51
263
279
  msgid "Cloning %{repo_path} and checking out %{ref}"
264
280
  msgstr ""
265
281
 
266
- #: ../lib/r10k/git/stateful_repository.rb:50
282
+ #: ../lib/r10k/git/stateful_repository.rb:54
267
283
  msgid "Replacing %{repo_path} and checking out %{ref}"
268
284
  msgstr ""
269
285
 
270
- #: ../lib/r10k/git/stateful_repository.rb:54 ../lib/r10k/git/stateful_repository.rb:59
286
+ #: ../lib/r10k/git/stateful_repository.rb:58 ../lib/r10k/git/stateful_repository.rb:63
271
287
  msgid "Updating %{repo_path} to %{ref}"
272
288
  msgstr ""
273
289
 
274
- #: ../lib/r10k/git/stateful_repository.rb:58
290
+ #: ../lib/r10k/git/stateful_repository.rb:62
275
291
  msgid "Overwriting local modifications to %{repo_path}"
276
292
  msgstr ""
277
293
 
278
- #: ../lib/r10k/git/stateful_repository.rb:62
294
+ #: ../lib/r10k/git/stateful_repository.rb:66
279
295
  msgid "Skipping %{repo_path} due to local modifications"
280
296
  msgstr ""
281
297
 
282
- #: ../lib/r10k/git/stateful_repository.rb:65
298
+ #: ../lib/r10k/git/stateful_repository.rb:69
283
299
  msgid "%{repo_path} is already at Git ref %{ref}"
284
300
  msgstr ""
285
301
 
@@ -303,23 +319,31 @@ msgstr ""
303
319
  msgid "Module %{name} with args %{args} doesn't have an implementation. (Are you using the right arguments?)"
304
320
  msgstr ""
305
321
 
306
- #: ../lib/r10k/module/base.rb:110
322
+ #: ../lib/r10k/module/base.rb:75
323
+ msgid "Deploying module to %{path}"
324
+ msgstr ""
325
+
326
+ #: ../lib/r10k/module/base.rb:78
327
+ msgid "Only updating modules %{modules}, skipping module %{name}"
328
+ msgstr ""
329
+
330
+ #: ../lib/r10k/module/base.rb:134
307
331
  msgid "Module name (%{title}) must match either 'modulename' or 'owner/modulename'"
308
332
  msgstr ""
309
333
 
310
- #: ../lib/r10k/module/forge.rb:70 ../lib/r10k/module/forge.rb:99
334
+ #: ../lib/r10k/module/forge.rb:88 ../lib/r10k/module/forge.rb:117
311
335
  msgid "The module %{title} does not exist on %{url}."
312
336
  msgstr ""
313
337
 
314
- #: ../lib/r10k/module/forge.rb:174
315
- msgid "Forge module names must match 'owner/modulename'"
338
+ #: ../lib/r10k/module/forge.rb:192
339
+ msgid "Forge module names must match 'owner/modulename', instead got #{title}"
316
340
  msgstr ""
317
341
 
318
- #: ../lib/r10k/module/git.rb:97
319
- msgid "Unhandled options %{unhandled} specified for %{class}"
342
+ #: ../lib/r10k/module/git.rb:66
343
+ msgid "Cannot track control repo branch for content '%{name}' when not part of a git-backed environment, will use default if available."
320
344
  msgstr ""
321
345
 
322
- #: ../lib/r10k/module/local.rb:34
346
+ #: ../lib/r10k/module/local.rb:35
323
347
  msgid "Module %{title} is a local module, always indicating synced."
324
348
  msgstr ""
325
349
 
@@ -327,39 +351,27 @@ msgstr ""
327
351
  msgid "Could not read metadata.json"
328
352
  msgstr ""
329
353
 
330
- #: ../lib/r10k/puppetfile.rb:57
354
+ #: ../lib/r10k/puppetfile.rb:73
331
355
  msgid "Using Puppetfile '%{puppetfile}'"
332
356
  msgstr ""
333
357
 
334
- #: ../lib/r10k/puppetfile.rb:71
358
+ #: ../lib/r10k/puppetfile.rb:87
335
359
  msgid "Puppetfile %{path} missing or unreadable"
336
360
  msgstr ""
337
361
 
338
- #: ../lib/r10k/puppetfile.rb:84
362
+ #: ../lib/r10k/puppetfile.rb:100
339
363
  msgid "Failed to evaluate %{path}"
340
364
  msgstr ""
341
365
 
342
- #: ../lib/r10k/puppetfile.rb:98
366
+ #: ../lib/r10k/puppetfile.rb:114
343
367
  msgid "Puppetfiles cannot contain duplicate module names."
344
368
  msgstr ""
345
369
 
346
- #: ../lib/r10k/puppetfile.rb:100
370
+ #: ../lib/r10k/puppetfile.rb:116
347
371
  msgid "Remove the duplicates of the following modules: %{dupes}"
348
372
  msgstr ""
349
373
 
350
- #: ../lib/r10k/puppetfile.rb:192
351
- msgid "Updating modules with %{pool_size} threads"
352
- msgstr ""
353
-
354
- #: ../lib/r10k/puppetfile.rb:203
355
- msgid "Error during concurrent deploy of a module: %{message}"
356
- msgstr ""
357
-
358
- #: ../lib/r10k/puppetfile.rb:225
359
- msgid "Module thread %{id} exiting: %{message}"
360
- msgstr ""
361
-
362
- #: ../lib/r10k/puppetfile.rb:282
374
+ #: ../lib/r10k/puppetfile.rb:276
363
375
  msgid "unrecognized declaration '%{method}'"
364
376
  msgstr ""
365
377
 
@@ -450,19 +462,19 @@ msgstr ""
450
462
  msgid "Unable to determine current branches for Git source '%{name}' (%{basedir})"
451
463
  msgstr ""
452
464
 
453
- #: ../lib/r10k/source/git.rb:105
465
+ #: ../lib/r10k/source/git.rb:110
454
466
  msgid "Environment %{env_name} contained non-word characters, correcting name to %{corrected_env_name}"
455
467
  msgstr ""
456
468
 
457
- #: ../lib/r10k/source/git.rb:109
469
+ #: ../lib/r10k/source/git.rb:119
458
470
  msgid "Environment %{env_name} contained non-word characters, ignoring it."
459
471
  msgstr ""
460
472
 
461
- #: ../lib/r10k/source/git.rb:128 ../lib/r10k/source/svn.rb:113
473
+ #: ../lib/r10k/source/git.rb:138 ../lib/r10k/source/svn.rb:113
462
474
  msgid "Branch %{branch} filtered out by ignore_branch_prefixes %{ibp}"
463
475
  msgstr ""
464
476
 
465
- #: ../lib/r10k/source/git.rb:139
477
+ #: ../lib/r10k/source/git.rb:149
466
478
  msgid "Branch `%{name}:%{branch}` filtered out by filter_command %{cmd}"
467
479
  msgstr ""
468
480
 
@@ -526,7 +538,11 @@ msgstr ""
526
538
  msgid "Unable to remove unmanaged path: %{path}"
527
539
  msgstr ""
528
540
 
529
- #: ../lib/r10k/util/setopts.rb:49
541
+ #: ../lib/r10k/util/setopts.rb:58
542
+ msgid "%{class_name} parameters '%{a}' and '%{b}' conflict. Specify one or the other, but not both"
543
+ msgstr ""
544
+
545
+ #: ../lib/r10k/util/setopts.rb:65
530
546
  msgid "%{class_name} cannot handle option '%{key}'"
531
547
  msgstr ""
532
548