openvox 8.28.1 → 9.0.0.pre.beta1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2237abcdd8a5a1ebb597961b356db775eb64b74e6735e0d3014a3b221bdf49e1
4
- data.tar.gz: 8a5f0e31309441c4883df565b8c65e0cecc239465b523d6d3ba97c78d95a808d
3
+ metadata.gz: ce0f85e1980517f7be9a5e3e6308b94140de11733c1a39ed07ab30cbca804e5d
4
+ data.tar.gz: b2c717b84df3a263e78c9a84016805944572f3b696221c548ab3eed6c48c525a
5
5
  SHA512:
6
- metadata.gz: ff8595b526d3cb54553745f7932e5b67205f277335f596642625296fc6aecc8c0e26b06385bc2c7ad16d404cf7af0929ef885fadf0892efed3a0662df05a05cf
7
- data.tar.gz: b56a9c03db302d36b87ba431d5a4326f77c07626fcc891d6f72a953751def305e84573d55321356d12a80620b277ed061e6873815ff1d016fa4aeb98042efde7
6
+ metadata.gz: e6d0c65c00dfed8d324c34ad12af907229ebfec1f62bd1bb26c25e236191d182756c22163c2e53e639c3ee6f23ccd172af8b2cffc114cb92b02e223117993e2b
7
+ data.tar.gz: ea2caa0bfe374d77c08b5a178b8b09ee76b4220c0bd939904c6e05c28adf3e2cfa5fbe275b758cd20e2f3596018263a8679796f89fc0d04f31efeb6276cebc37
data/CHANGELOG.md CHANGED
@@ -2,18 +2,47 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [8.28.1](https://github.com/openvoxproject/openvox/tree/8.28.1) (2026-07-06)
5
+ ## [9.0.0-alpha2](https://github.com/openvoxproject/openvox/tree/9.0.0-alpha2) (2026-07-14)
6
6
 
7
- [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.28.0...8.28.1)
7
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.28.1...9.0.0-alpha2)
8
+
9
+ **Breaking changes:**
10
+
11
+ - More secure default server setting [\#536](https://github.com/OpenVoxProject/openvox/pull/536) ([corporate-gadfly](https://github.com/corporate-gadfly))
12
+ - Raise minimum Ruby version to 3.2.0 [\#442](https://github.com/OpenVoxProject/openvox/pull/442) ([silug](https://github.com/silug))
13
+ - Remove legacy PAL script eval APIs [\#393](https://github.com/OpenVoxProject/openvox/pull/393) ([silug](https://github.com/silug))
14
+ - Remove regsubst encoding argument [\#391](https://github.com/OpenVoxProject/openvox/pull/391) ([silug](https://github.com/silug))
15
+ - Remove pluginsync setting [\#389](https://github.com/OpenVoxProject/openvox/pull/389) ([silug](https://github.com/silug))
16
+ - Remove configprint setting [\#374](https://github.com/OpenVoxProject/openvox/pull/374) ([silug](https://github.com/silug))
17
+
18
+ **Fixed bugs:**
19
+
20
+ - Update ca\_last\_update/crl\_last\_update on HTTP 304 [\#524](https://github.com/OpenVoxProject/openvox/pull/524) ([bastelfreak](https://github.com/bastelfreak))
21
+ - Copy input mtime to files generated by puppet generate types [\#522](https://github.com/OpenVoxProject/openvox/pull/522) ([silug](https://github.com/silug))
22
+ - Tolerate concurrent creation of directories [\#506](https://github.com/OpenVoxProject/openvox/pull/506) ([Sharpie](https://github.com/Sharpie))
23
+ - Fix handling of Puppet::Pops serialization issues [\#502](https://github.com/OpenVoxProject/openvox/pull/502) ([seanmil](https://github.com/seanmil))
24
+ - Fix regex node lookup regression from PUP-11515 [\#481](https://github.com/OpenVoxProject/openvox/pull/481) ([corporate-gadfly](https://github.com/corporate-gadfly))
25
+
26
+ **Closed issues:**
27
+
28
+ - \[Deprecation\] Fine-Grained `filetimeout` Control [\#345](https://github.com/OpenVoxProject/openvox/issues/345)
29
+
30
+ **Merged pull requests:**
31
+
32
+ - CI: Speed up JRuby and Windows spec runs [\#525](https://github.com/OpenVoxProject/openvox/pull/525) ([silug](https://github.com/silug))
33
+ - Add arm64 support to acceptance [\#495](https://github.com/OpenVoxProject/openvox/pull/495) ([jpartlow](https://github.com/jpartlow))
34
+ - Remove filetimeout deprecation warning [\#419](https://github.com/OpenVoxProject/openvox/pull/419) ([silug](https://github.com/silug))
35
+ - Remove source\_permissions deprecation warning [\#418](https://github.com/OpenVoxProject/openvox/pull/418) ([silug](https://github.com/silug))
36
+ - add runtime deprecation warnings to Puppet::Util ENV wrappers [\#417](https://github.com/OpenVoxProject/openvox/pull/417) ([silug](https://github.com/silug))
37
+
38
+ ## [8.28.1](https://github.com/openvoxproject/openvox/tree/8.28.1) (2026-07-07)
39
+
40
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/9.0.0-alpha2...8.28.1)
8
41
 
9
42
  **Fixed bugs:**
10
43
 
11
44
  - \[Bug\]: ca\_refresh\_interval is not respected — agent refreshes CA on every run when server responds 304 [\#435](https://github.com/OpenVoxProject/openvox/issues/435)
12
45
  - \[Bug\]: Puppet 8 introduced a regex node definition regression [\#14](https://github.com/OpenVoxProject/openvox/issues/14)
13
- - \[Backport 8.x\] Update ca\_last\_update/crl\_last\_update on HTTP 304 [\#526](https://github.com/OpenVoxProject/openvox/pull/526) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
14
- - \[Backport 8.x\] Copy input mtime to files generated by puppet generate types [\#523](https://github.com/OpenVoxProject/openvox/pull/523) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
15
- - \[Backport 8.x\] Fix regex node lookup regression from PUP-11515 [\#515](https://github.com/OpenVoxProject/openvox/pull/515) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
16
- - \[Backport 8.x\] Tolerate concurrent creation of directories [\#507](https://github.com/OpenVoxProject/openvox/pull/507) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
17
46
 
18
47
  **Closed issues:**
19
48
 
@@ -24,35 +53,43 @@ All notable changes to this project will be documented in this file.
24
53
  - \[Deprecation\] `configprint` Setting [\#337](https://github.com/OpenVoxProject/openvox/issues/337)
25
54
  - \[Deprecation\] `regsubst()` Encoding Argument [\#336](https://github.com/OpenVoxProject/openvox/issues/336)
26
55
 
27
- **Merged pull requests:**
56
+ ## [9.0.0-alpha2](https://github.com/openvoxproject/openvox/tree/9.0.0-alpha2) (2026-06-10)
28
57
 
29
- - Promote puppet-resource\_api 1.9.2 into 8.x [\#527](https://github.com/OpenVoxProject/openvox/pull/527) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
30
- - Promote puppet-resource\_api 1.9.1 into 8.x [\#518](https://github.com/OpenVoxProject/openvox/pull/518) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
31
- - \[Backport 8.x\] Fix handling of Puppet::Pops serialization issues [\#514](https://github.com/OpenVoxProject/openvox/pull/514) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
32
- - Promote puppet-runtime 2026.06.24.1 into 8.x [\#501](https://github.com/OpenVoxProject/openvox/pull/501) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
33
- - Add arm64 support to acceptance 8.x [\#499](https://github.com/OpenVoxProject/openvox/pull/499) ([jpartlow](https://github.com/jpartlow))
34
- - Add jruby 9.4.15 to CI [\#487](https://github.com/OpenVoxProject/openvox/pull/487) ([bastelfreak](https://github.com/bastelfreak))
58
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.28.0...9.0.0-alpha2)
35
59
 
36
- ## [8.28.0](https://github.com/openvoxproject/openvox/tree/8.28.0) (2026-06-10)
60
+ **Breaking changes:**
37
61
 
38
- [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.27.0...8.28.0)
62
+ - return to preprocessing deferred functions by default [\#462](https://github.com/OpenVoxProject/openvox/pull/462) ([binford2k](https://github.com/binford2k))
63
+ - Decouple :posix feature from :syslog library check [\#458](https://github.com/OpenVoxProject/openvox/pull/458) ([silug](https://github.com/silug))
64
+ - remove pe\_serverversion fact [\#397](https://github.com/OpenVoxProject/openvox/pull/397) ([corporate-gadfly](https://github.com/corporate-gadfly))
39
65
 
40
66
  **Implemented enhancements:**
41
67
 
42
- - Backport: Add Platform definitions for Fedora 44 to 8.x [\#459](https://github.com/OpenVoxProject/openvox/pull/459) ([Sharpie](https://github.com/Sharpie))
68
+ - Add windows-msys2-x64 build for OpenVox 9 [\#468](https://github.com/OpenVoxProject/openvox/pull/468) ([Sharpie](https://github.com/Sharpie))
43
69
 
44
70
  **Fixed bugs:**
45
71
 
46
- - \[Backport 8.x\] Fix File.open Ruby 3.2 regression in FileSystem::Uniquefile [\#478](https://github.com/OpenVoxProject/openvox/pull/478) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
47
- - \[Backport 8.x\] Manage group members on EL 10 without libuser [\#477](https://github.com/OpenVoxProject/openvox/pull/477) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
72
+ - Manage group members on EL 10 without libuser [\#476](https://github.com/OpenVoxProject/openvox/pull/476) ([Sharpie](https://github.com/Sharpie))
73
+ - Fix File.open Ruby 3.2 regression in FileSystem::Uniquefile [\#450](https://github.com/OpenVoxProject/openvox/pull/450) ([JonasVerhofste](https://github.com/JonasVerhofste))
48
74
 
49
75
  **Merged pull requests:**
50
76
 
51
- - Promote puppet-runtime 2026.06.09.1 into 8.x [\#480](https://github.com/OpenVoxProject/openvox/pull/480) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
77
+ - Promote puppet-runtime 2026.06.09.1 into main [\#479](https://github.com/OpenVoxProject/openvox/pull/479) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
78
+ - CI: Use bot account for backports [\#472](https://github.com/OpenVoxProject/openvox/pull/472) ([bastelfreak](https://github.com/bastelfreak))
79
+ - Add JRuby 10.0.5.0 and 10.1.0.0 to test matrix [\#463](https://github.com/OpenVoxProject/openvox/pull/463) ([silug](https://github.com/silug))
52
80
 
53
- ## [8.27.0](https://github.com/openvoxproject/openvox/tree/8.27.0) (2026-05-15)
81
+ ## [8.28.0](https://github.com/openvoxproject/openvox/tree/8.28.0) (2026-06-10)
54
82
 
55
- [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.26.2...8.27.0)
83
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/9.0.0-alpha1...8.28.0)
84
+
85
+ ## [9.0.0-alpha1](https://github.com/openvoxproject/openvox/tree/9.0.0-alpha1) (2026-05-20)
86
+
87
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.27.0...9.0.0-alpha1)
88
+
89
+ **Implemented enhancements:**
90
+
91
+ - Add platform definitions for Fedora 44 [\#455](https://github.com/OpenVoxProject/openvox/pull/455) ([Sharpie](https://github.com/Sharpie))
92
+ - Promote openfact 5.6.1 into main [\#436](https://github.com/OpenVoxProject/openvox/pull/436) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
56
93
 
57
94
  **Fixed bugs:**
58
95
 
@@ -60,13 +97,18 @@ All notable changes to this project will be documented in this file.
60
97
 
61
98
  **Merged pull requests:**
62
99
 
63
- - 8.x Backport: Fix rubocop 1.86.2 lint [\#448](https://github.com/OpenVoxProject/openvox/pull/448) ([Sharpie](https://github.com/Sharpie))
64
- - Promote puppet-runtime 2026.05.11.1 into 8.x [\#439](https://github.com/OpenVoxProject/openvox/pull/439) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
65
- - Promote openfact 5.6.1 into 8.x [\#438](https://github.com/OpenVoxProject/openvox/pull/438) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
66
- - Promote puppet-runtime 2026.05.07.1 into 8.x [\#430](https://github.com/OpenVoxProject/openvox/pull/430) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
100
+ - Promote puppet-runtime 2026.05.20.1 into main [\#453](https://github.com/OpenVoxProject/openvox/pull/453) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
101
+ - Switch from puppet-strings to openvox-strings [\#434](https://github.com/OpenVoxProject/openvox/pull/434) ([tuxmea](https://github.com/tuxmea))
102
+ - Update acceptance defaults and descriptions for OpenVox 9 [\#431](https://github.com/OpenVoxProject/openvox/pull/431) ([nmburgan](https://github.com/nmburgan))
103
+ - Promote puppet-runtime 2026.05.07.1 into main [\#429](https://github.com/OpenVoxProject/openvox/pull/429) ([OpenVoxProjectBot](https://github.com/OpenVoxProjectBot))
104
+ - Change branch name in promote workflow [\#428](https://github.com/OpenVoxProject/openvox/pull/428) ([nmburgan](https://github.com/nmburgan))
67
105
  - Changes to prepare for 8.x branching [\#425](https://github.com/OpenVoxProject/openvox/pull/425) ([nmburgan](https://github.com/nmburgan))
68
106
  - Add release version check and stop trying to bump to an RC version [\#413](https://github.com/OpenVoxProject/openvox/pull/413) ([nmburgan](https://github.com/nmburgan))
69
107
 
108
+ ## [8.27.0](https://github.com/openvoxproject/openvox/tree/8.27.0) (2026-05-15)
109
+
110
+ [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.26.2...8.27.0)
111
+
70
112
  ## [8.26.2](https://github.com/openvoxproject/openvox/tree/8.26.2) (2026-04-18)
71
113
 
72
114
  [Full Changelog](https://github.com/openvoxproject/openvox/compare/8.26.1...8.26.2)
data/Gemfile CHANGED
@@ -56,7 +56,7 @@ group(:test) do
56
56
  gem 'webrick', '~> 1.7', require: false
57
57
  gem 'yard', require: false
58
58
 
59
- gem 'rubocop', '~> 1.86.1', require: false, platforms: [:ruby]
59
+ gem 'rubocop', '~> 1.87.0', require: false, platforms: [:ruby]
60
60
  gem 'rubocop-i18n', '~> 3.0', require: false, platforms: [:ruby]
61
61
  gem 'rubocop-performance', '~> 1.0', require: false, platforms: [:ruby]
62
62
  gem 'rubocop-rake', '~> 0.6', require: false, platforms: [:ruby]
data/Rakefile CHANGED
@@ -162,8 +162,7 @@ begin
162
162
  config.exclude_labels = %w[dependencies duplicate question invalid wontfix wont-fix modulesync skip-changelog]
163
163
  config.since_tag = "8.18.1"
164
164
  config.future_release = Puppet::PUPPETVERSION
165
- config.exclude_tags_regex = /\A[7,9]\./
166
- config.release_branch = "8.x"
165
+ config.exclude_tags_regex = /\A7\./
167
166
  end
168
167
  rescue LoadError
169
168
  task :changelog do
@@ -318,14 +318,6 @@ module Puppet
318
318
  sense when specified on the command line as `--genmanifest`. Takes into account arguments specified
319
319
  on the CLI.",
320
320
  },
321
- :configprint => {
322
- :default => "",
323
- :deprecated => :completely,
324
- :desc => "Prints the value of a specific configuration setting. If the name of a
325
- setting is provided for this, then the value is printed and puppet
326
- exits. Comma-separate multiple values. For a list of all values,
327
- specify 'all'. This setting is deprecated, the 'puppet config' command replaces this functionality.",
328
- },
329
321
  :color => {
330
322
  :default => "ansi",
331
323
  :type => :string,
@@ -694,21 +686,8 @@ module Puppet
694
686
  :type => :duration,
695
687
  :desc => "The minimum time to wait between checking for updates in
696
688
  configuration files. This timeout determines how quickly Puppet checks whether
697
- a file (such as manifests or puppet.conf) has changed on disk. The default will
698
- change in a future release to be 'unlimited', requiring a reload of the Puppet
699
- service to pick up changes to its internal configuration. Currently we do not
700
- accept a value of 'unlimited'. To reparse files within an environment in
701
- Puppet Server please use the environment_cache endpoint",
702
- :hook => proc do |val|
703
- unless [0, 15, '15s'].include?(val)
704
- Puppet.deprecation_warning(<<-WARNING)
705
- Fine grained control of filetimeouts is deprecated. In future
706
- releases this value will only determine if file content is cached.
707
-
708
- Valid values are 0 (never cache) and 15 (15 second minimum wait time).
709
- WARNING
710
- end
711
- end
689
+ a file (such as manifests or puppet.conf) has changed on disk. To reparse files
690
+ within an environment in Puppet Server please use the environment_cache endpoint",
712
691
  },
713
692
  :environment_timeout => {
714
693
  :default => "0",
@@ -863,7 +842,7 @@ names.
863
842
  **Note:** The list of alternate names is locked in when the server's
864
843
  certificate is signed. If you need to change the list later, you can't just
865
844
  change this setting; you also need to regenerate the certificate. For more
866
- information on that process, see the
845
+ information on that process, see the
867
846
  [cert regen docs](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
868
847
 
869
848
  To see all the alternate names your servers are using, log into your CA server
@@ -1650,7 +1629,7 @@ EOT
1650
1629
  :desc => "The root directory of devices' $confdir.",
1651
1630
  },
1652
1631
  :server => {
1653
- :default => "puppet",
1632
+ :default => Puppet.features.root? ? 'puppet' : '', # use an empty string so dependent settings can resolve without crashing
1654
1633
  :desc => "The primary Puppet server to which the Puppet agent should connect. This setting is ignored when `server_list` is specified.",
1655
1634
  },
1656
1635
  :server_list => {
@@ -2035,16 +2014,6 @@ EOT
2035
2014
  is used for retrieval, so anything that is a valid file source can
2036
2015
  be used here.",
2037
2016
  },
2038
- :pluginsync => {
2039
- :default => true,
2040
- :type => :boolean,
2041
- :desc => "Whether plugins should be synced with the central server. This setting is
2042
- deprecated.",
2043
- :hook => proc { |_value|
2044
- #TRANSLATORS 'pluginsync' is a setting and should not be translated
2045
- Puppet.deprecation_warning(_("Setting 'pluginsync' is deprecated."))
2046
- }
2047
- },
2048
2017
  :pluginsignore => {
2049
2018
  :default => ".svn CVS .git .hg",
2050
2019
  :desc => "What files to ignore when pulling down plugins.",
@@ -2100,14 +2069,16 @@ EOT
2100
2069
  what is being done.",
2101
2070
  },
2102
2071
  :preprocess_deferred => {
2103
- :default => false,
2072
+ :default => true,
2104
2073
  :type => :boolean,
2105
2074
  :desc => "Whether Puppet should call deferred functions before applying
2106
2075
  the catalog. If set to `true`, all prerequisites required for the
2107
2076
  deferred function must be satisfied before the Puppet run. If set to
2108
2077
  `false`, deferred functions follow Puppet relationships and
2109
2078
  ordering. In this way, Puppet can install the prerequisites required for a
2110
- deferred function and call the deferred function in the same run.",
2079
+ deferred function and call the deferred function in the same run.
2080
+ Please note that many functions that return complex datatypes will fail
2081
+ when disabling preprocessing and this option may be removed in the future.",
2111
2082
  },
2112
2083
  :summarize => {
2113
2084
  :default => false,
@@ -12,7 +12,7 @@ Puppet.features.add(:syslog, :libs => ["syslog"])
12
12
  # We can use POSIX user functions
13
13
  Puppet.features.add(:posix) do
14
14
  require 'etc'
15
- !Etc.getpwuid(0).nil? && Puppet.features.syslog?
15
+ !Puppet::Util::Platform.windows? && !Etc.getpwuid(0).nil?
16
16
  end
17
17
 
18
18
  # We can use Microsoft Windows functions
@@ -19,11 +19,7 @@ Puppet::Functions.create_function(:regsubst) do
19
19
  # - *I* Ignore case in regexps
20
20
  # - *M* Multiline regexps
21
21
  # - *G* Global replacement; all occurrences of the regexp in each target string will be replaced. Without this, only the first occurrence will be replaced.
22
- # @param encoding [Enum['N','E','S','U']]
23
- # Deprecated and ignored parameter, included only for compatibility.
24
22
  # @return [Array[String], String] The result of the substitution. Result type is the same as for the target parameter.
25
- # @deprecated
26
- # This method has the optional encoding parameter, which is ignored.
27
23
  # @example Get the third octet from the node's IP address:
28
24
  # ```puppet
29
25
  # $i3 = regsubst($ipaddress,'^(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)$','\\3')
@@ -33,7 +29,6 @@ Puppet::Functions.create_function(:regsubst) do
33
29
  param 'String', :pattern
34
30
  param 'Variant[String,Hash[String,String]]', :replacement
35
31
  optional_param 'Optional[Pattern[/^[GEIM]*$/]]', :flags
36
- optional_param "Enum['N','E','S','U']", :encoding
37
32
  end
38
33
 
39
34
  # @param target [String, Array[String]]
@@ -65,14 +60,7 @@ Puppet::Functions.create_function(:regsubst) do
65
60
  optional_param 'Pattern[/^G?$/]', :flags
66
61
  end
67
62
 
68
- def regsubst_string(target, pattern, replacement, flags = nil, encoding = nil)
69
- if encoding
70
- Puppet.warn_once(
71
- 'deprecations', 'regsubst_function_encoding',
72
- _("The regsubst() function's encoding argument has been ignored since Ruby 1.9 and will be removed in a future release")
73
- )
74
- end
75
-
63
+ def regsubst_string(target, pattern, replacement, flags = nil)
76
64
  re_flags = 0
77
65
  operation = :sub
78
66
  unless flags.nil?
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative '../../puppet/external/dot'
4
4
  require_relative '../../puppet/relationship'
5
- require 'set'
5
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
6
6
 
7
7
  # A hopefully-faster graph class to replace the use of GRATR.
8
8
  class Puppet::Graph::SimpleGraph
@@ -32,6 +32,24 @@ class Puppet::HTTP::Service
32
32
  #
33
33
  # @api private
34
34
  def self.create_service(client, session, name, server = nil, port = nil)
35
+ # this is the entry point for creating all services, check and issue warning here.
36
+ unless Puppet.settings.set_by_config? :server
37
+ if Puppet.features.root?
38
+ Puppet.deprecation_warning('OpenVox will not default to `server=puppet` as of version 9.0. Please update your configuration appropriately.')
39
+ else
40
+ Puppet.deprecation_warning('OpenVox no longer defaults to `server=puppet` when running as a non-privileged user. (Did you mean to run as root?)')
41
+
42
+ case name
43
+ when :ca
44
+ raise ArgumentError, 'Neither `server` nor `ca_server` is specified.' unless Puppet.settings.set_by_config? :ca_server
45
+ when :report
46
+ raise ArgumentError, 'Neither `server` nor `report_server` is specified.' unless Puppet.settings.set_by_config? :report_server
47
+ when :fileserver, :puppet, :puppetserver
48
+ raise ArgumentError, 'Required setting `server` is not specified.'
49
+ end
50
+ end
51
+ end
52
+
35
53
  case name
36
54
  when :ca
37
55
  Puppet::HTTP::Service::Ca.new(client, session, server, port)
@@ -4,7 +4,7 @@ require_relative '../../puppet/module_tool'
4
4
  require_relative '../../puppet/network/format_support'
5
5
  require 'uri'
6
6
  require_relative '../../puppet/util/json'
7
- require 'set'
7
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
8
8
 
9
9
  module Puppet::ModuleTool
10
10
  # This class provides a data structure representing a module's metadata.
@@ -7,12 +7,6 @@ class Puppet::Node::ServerFacts
7
7
  # Add implementation information
8
8
  server_facts["serverimplementation"] = Puppet.implementation
9
9
 
10
- # Add our server Puppet Enterprise version, if available.
11
- pe_version_file = '/opt/puppetlabs/server/pe_version'
12
- if File.readable?(pe_version_file) and !File.zero?(pe_version_file)
13
- server_facts['pe_serverversion'] = File.read(pe_version_file).chomp
14
- end
15
-
16
10
  # Add our server version to the fact list
17
11
  server_facts["serverversion"] = Puppet.version.to_s
18
12
 
@@ -107,30 +107,6 @@ module Pal
107
107
  Puppet[:code] = previous_code_value
108
108
  end
109
109
 
110
- # Evaluates a Puppet Language script string.
111
- # @param code_string [String] a snippet of Puppet Language source code
112
- # @return [Object] what the Puppet Language code_string evaluates to
113
- # @deprecated Use {#with_script_compiler} and then evaluate_string on the given compiler - to be removed in 1.0 version
114
- #
115
- def self.evaluate_script_string(code_string)
116
- # prevent the default loading of Puppet[:manifest] which is the environment's manifest-dir by default settings
117
- # by setting code_string to 'undef'
118
- with_script_compiler do |compiler|
119
- compiler.evaluate_string(code_string)
120
- end
121
- end
122
-
123
- # Evaluates a Puppet Language script (.pp) file.
124
- # @param manifest_file [String] a file with Puppet Language source code
125
- # @return [Object] what the Puppet Language manifest_file contents evaluates to
126
- # @deprecated Use {#with_script_compiler} and then evaluate_file on the given compiler - to be removed in 1.0 version
127
- #
128
- def self.evaluate_script_manifest(manifest_file)
129
- with_script_compiler do |compiler|
130
- compiler.evaluate_file(manifest_file)
131
- end
132
- end
133
-
134
110
  # Defines a context in which multiple operations in an env with a catalog producing compiler can be performed
135
111
  # in a given block.
136
112
  # The calls that takes place to PAL inside of the given block are all with the same instance of the compiler.
@@ -21,8 +21,6 @@ module SubLookup
21
21
  def split_key(key)
22
22
  return [key] if key.match(SPECIAL).nil?
23
23
 
24
- # Rubocop 1.86.2 starts mis-classifying the "raise yield" constructions as a failure.
25
- # rubocop:disable Lint/ParenthesesAsGroupedExpression
26
24
  segments = key.split(/(\s*"[^"]+"\s*|\s*'[^']+'\s*|[^'".]+)/)
27
25
  if segments.empty?
28
26
  # Only happens if the original key was an empty string
@@ -47,7 +45,6 @@ module SubLookup
47
45
  else
48
46
  raise yield('Syntax error')
49
47
  end
50
- # rubocop:enable Lint/ParenthesesAsGroupedExpression
51
48
  end
52
49
 
53
50
  # Perform a sub-lookup using the given _segments_ to access the given _value_. Each segment must be a string. A string
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative '../../../puppet/provider/package'
4
- require 'set'
4
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
5
5
  require 'uri'
6
6
 
7
7
  Puppet::Type.type(:package).provide :pacman, :parent => Puppet::Provider::Package do
@@ -146,10 +146,7 @@ Puppet::Type.type(:package).provide :puppetserver_gem, :parent => :gem do
146
146
  puppet_default_vendor_gems = '/opt/puppetlabs/puppet/lib/ruby/vendor_gems'
147
147
  puppetserver_default_gem_path = [puppetserver_default_gem_home, puppetserver_default_vendored_jruby_gems, puppet_default_vendor_gems].join(':')
148
148
 
149
- pe_puppetserver_conf_file = '/etc/puppetlabs/puppetserver/conf.d/pe-puppet-server.conf'
150
- os_puppetserver_conf_file = '/etc/puppetlabs/puppetserver/puppetserver.conf'
151
- puppetserver_conf_file = Puppet.runtime[:facter].value(:pe_server_version) ? pe_puppetserver_conf_file : os_puppetserver_conf_file
152
- puppetserver_conf = Hocon.load(puppetserver_conf_file)
149
+ puppetserver_conf = Hocon.load('/etc/puppetlabs/puppetserver/puppetserver.conf')
153
150
 
154
151
  gem_env = {}
155
152
  if puppetserver_conf.empty? || puppetserver_conf.key?('jruby-puppet') == false
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'set'
3
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
4
4
  require_relative '../../puppet/settings/errors'
5
5
 
6
6
  # The base setting type
@@ -512,45 +512,6 @@ class Puppet::Settings
512
512
  @config.include?(name)
513
513
  end
514
514
 
515
- # Prints the contents of a config file with the available config settings, or it
516
- # prints a single value of a config setting.
517
- def print_config_options
518
- if Puppet::Util::Log.sendlevel?(:info)
519
- Puppet::Util::Log.newdestination(:console)
520
- message = _("Using --configprint is deprecated. Use 'puppet config <subcommand>' instead.")
521
- Puppet.deprecation_warning(message)
522
- end
523
-
524
- env = value(:environment)
525
- val = value(:configprint)
526
- if val == "all"
527
- hash = {}
528
- each do |name, _obj|
529
- val = value(name, env)
530
- val = val.inspect if val == ""
531
- hash[name] = val
532
- end
533
- hash.sort { |a, b| a[0].to_s <=> b[0].to_s }.each do |name, v|
534
- puts "#{name} = #{v}"
535
- end
536
- else
537
- val.split(/\s*,\s*/).sort.each do |v|
538
- if include?(v)
539
- # if there is only one value, just print it for back compatibility
540
- if v == val
541
- puts value(val, env)
542
- break
543
- end
544
- puts "#{v} = #{value(v, env)}"
545
- else
546
- puts "invalid setting: #{v}"
547
- return false
548
- end
549
- end
550
- end
551
- true
552
- end
553
-
554
515
  def generate_config
555
516
  puts to_config
556
517
  true
@@ -562,14 +523,13 @@ class Puppet::Settings
562
523
  end
563
524
 
564
525
  def print_configs
565
- return print_config_options if value(:configprint) != ""
566
526
  return generate_config if value(:genconfig)
567
527
 
568
528
  generate_manifest if value(:genmanifest)
569
529
  end
570
530
 
571
531
  def print_configs?
572
- (value(:configprint) != "" || value(:genconfig) || value(:genmanifest)) && true
532
+ (value(:genconfig) || value(:genmanifest)) && true
573
533
  end
574
534
 
575
535
  # The currently configured run mode that is preferred for constructing the application configuration.
@@ -9,6 +9,10 @@ require_relative '../../puppet/ssl/base'
9
9
  # the case).
10
10
  #
11
11
  # @deprecated Use {Puppet::SSL::SSLProvider} instead.
12
+ # This class and its associated helpers are still
13
+ # necessary as they enable FIPS-mode OpenVox Server
14
+ # to populate trusted data when `require 'openssl'`
15
+ # is not available.
12
16
  class Puppet::SSL::Certificate < Puppet::SSL::Base
13
17
  # This is defined from the base class
14
18
  wraps OpenSSL::X509::Certificate
@@ -5,7 +5,7 @@ require_relative '../puppet/util/tagging'
5
5
  require_relative '../puppet/util/skip_tags'
6
6
  require_relative '../puppet/application'
7
7
  require 'digest/sha1'
8
- require 'set'
8
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
9
9
 
10
10
  # the class that actually walks our resource/property tree, collects the changes,
11
11
  # and performs them
@@ -368,13 +368,7 @@ module Puppet
368
368
  defaultto :ignore
369
369
  newvalues(:use, :use_when_creating, :ignore)
370
370
  munge do |value|
371
- value = value ? value.to_sym : :ignore
372
- if @resource.file && @resource.line && value != :ignore
373
- # TRANSLATORS "source_permissions" is a parameter name and should not be translated
374
- Puppet.puppet_deprecation_warning(_("The `source_permissions` parameter is deprecated. Explicitly set `owner`, `group`, and `mode`."), file: @resource.file, line: @resource.line)
375
- end
376
-
377
- value
371
+ value ? value.to_sym : :ignore
378
372
  end
379
373
  end
380
374
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'set'
3
+ require 'set' # rubocop:disable Lint/RedundantRequireStatement
4
4
  require_relative '../../puppet/network/format_support'
5
5
 
6
6
  class Puppet::Util::TagSet < Set
data/lib/puppet/util.rb CHANGED
@@ -44,6 +44,7 @@ module Util
44
44
  # @deprecated Use ENV instead
45
45
  # @api private
46
46
  def get_env(name, mode = default_env)
47
+ Puppet.deprecation_warning(_("Puppet::Util.get_env is deprecated and will be removed in a future version. Use ENV[] directly instead."))
47
48
  ENV.fetch(name, nil)
48
49
  end
49
50
  module_function :get_env
@@ -51,6 +52,7 @@ module Util
51
52
  # @deprecated Use ENV instead
52
53
  # @api private
53
54
  def get_environment(mode = default_env)
55
+ Puppet.deprecation_warning(_("Puppet::Util.get_environment is deprecated and will be removed in a future version. Use ENV.to_hash directly instead."))
54
56
  ENV.to_hash
55
57
  end
56
58
  module_function :get_environment
@@ -58,6 +60,7 @@ module Util
58
60
  # @deprecated Use ENV instead
59
61
  # @api private
60
62
  def clear_environment(mode = default_env)
63
+ Puppet.deprecation_warning(_("Puppet::Util.clear_environment is deprecated and will be removed in a future version. Use ENV.clear directly instead."))
61
64
  ENV.clear
62
65
  end
63
66
  module_function :clear_environment
@@ -65,6 +68,7 @@ module Util
65
68
  # @deprecated Use ENV instead
66
69
  # @api private
67
70
  def set_env(name, value = nil, mode = default_env)
71
+ Puppet.deprecation_warning(_("Puppet::Util.set_env is deprecated and will be removed in a future version. Use ENV[]= directly instead."))
68
72
  ENV[name] = value
69
73
  end
70
74
  module_function :set_env
@@ -72,7 +76,8 @@ module Util
72
76
  # @deprecated Use ENV instead
73
77
  # @api private
74
78
  def merge_environment(env_hash, mode = default_env)
75
- ENV.merge!(hash.transform_keys(&:to_s))
79
+ Puppet.deprecation_warning(_("Puppet::Util.merge_environment is deprecated and will be removed in a future version. Use ENV.merge! directly instead."))
80
+ ENV.merge!(env_hash.transform_keys(&:to_s))
76
81
  end
77
82
  module_function :merge_environment
78
83
 
@@ -523,11 +528,12 @@ module Util
523
528
 
524
529
  module_function :thinmark
525
530
 
526
- PUPPET_STACK_INSERTION_FRAME = if RUBY_VERSION >= '3.4'
527
- /.*puppet_stack\.rb.*in.*'Puppet::Pops::PuppetStack\.stack'/
528
- else
529
- /.*puppet_stack\.rb.*in.*`stack'/
530
- end
531
+ # Matches the frame where Puppet::Pops::PuppetStack.stack appears in a Ruby
532
+ # backtrace. The format varies by Ruby version and implementation:
533
+ # Ruby 3.3: in `stack'
534
+ # Ruby 3.4+: in 'Puppet::Pops::PuppetStack.stack' (qualified for module method)
535
+ # JRuby 10+: in 'stack' (unqualified)
536
+ PUPPET_STACK_INSERTION_FRAME = /puppet_stack\.rb.*in ['`](?:Puppet::Pops::PuppetStack\.)?stack'/
531
537
 
532
538
  # utility method to get the current call stack and format it to a human-readable string (which some IDEs/editors
533
539
  # will recognize as links to the line numbers in the trace)
@@ -8,7 +8,7 @@
8
8
  # Raketasks and such to set the version based on the output of `git describe`
9
9
 
10
10
  module Puppet
11
- PUPPETVERSION = '8.28.1'
11
+ PUPPETVERSION = '9.0.0-beta1'
12
12
  IMPLEMENTATION = 'openvox'
13
13
 
14
14
  ##
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openvox
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.28.1
4
+ version: 9.0.0.pre.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenVox Project
@@ -1359,14 +1359,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1359
1359
  requirements:
1360
1360
  - - ">="
1361
1361
  - !ruby/object:Gem::Version
1362
- version: 3.1.0
1362
+ version: 3.2.0
1363
1363
  required_rubygems_version: !ruby/object:Gem::Requirement
1364
1364
  requirements:
1365
1365
  - - ">"
1366
1366
  - !ruby/object:Gem::Version
1367
1367
  version: 1.3.1
1368
1368
  requirements: []
1369
- rubygems_version: 4.0.10
1369
+ rubygems_version: 4.0.16
1370
1370
  specification_version: 4
1371
1371
  summary: OpenVox, a community implementation of Puppet -- an automated configuration
1372
1372
  management tool