puppet 8.2.0 → 8.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +25 -31
- data/ext/project_data.yaml +2 -2
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/ssl.rb +42 -7
- data/lib/puppet/application.rb +5 -1
- data/lib/puppet/defaults.rb +5 -5
- data/lib/puppet/face/config.rb +1 -1
- data/lib/puppet/face/epp.rb +2 -2
- data/lib/puppet/face/module/list.rb +2 -2
- data/lib/puppet/face/parser.rb +1 -1
- data/lib/puppet/functions/split.rb +28 -1
- data/lib/puppet/indirector/facts/facter.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/info_service/task_information_service.rb +1 -1
- data/lib/puppet/module_tool.rb +1 -1
- data/lib/puppet/network/formats.rb +3 -3
- data/lib/puppet/network/http/memory_response.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +1 -1
- data/lib/puppet/parser/files.rb +4 -3
- data/lib/puppet/parser/functions.rb +1 -1
- data/lib/puppet/pops/loader/loader_paths.rb +4 -4
- data/lib/puppet/pops/lookup/explainer.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -1
- data/lib/puppet/pops/model/tree_dumper.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
- data/lib/puppet/pops/parser/pn_parser.rb +1 -1
- data/lib/puppet/pops/pn.rb +1 -1
- data/lib/puppet/pops/serialization/json_path.rb +1 -1
- data/lib/puppet/pops/time/timespan.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +6 -6
- data/lib/puppet/pops/types/type_formatter.rb +2 -2
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +2 -2
- data/lib/puppet/provider/package/apt.rb +1 -1
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/user/directoryservice.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reports.rb +1 -1
- data/lib/puppet/transaction/report.rb +1 -1
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/execution.rb +9 -4
- data/lib/puppet/util/inifile.rb +2 -2
- data/lib/puppet/util/monkey_patches.rb +18 -0
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/selinux.rb +1 -1
- data/lib/puppet/util/windows/access_control_entry.rb +1 -1
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +9 -2
- data/lib/puppet/util/windows/error.rb +1 -1
- data/lib/puppet/util/windows/file.rb +2 -2
- data/lib/puppet/util/windows/process.rb +1 -1
- data/lib/puppet/util/windows/sid.rb +4 -2
- data/lib/puppet/util.rb +2 -3
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +6 -2
- data/locales/puppet.pot +40 -32
- data/man/man5/puppet.conf.5 +3 -3
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +5 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/type/exec_spec.rb +13 -0
- data/spec/lib/puppet_spec/verbose.rb +10 -1
- data/spec/unit/agent_spec.rb +2 -9
- data/spec/unit/application/ssl_spec.rb +49 -0
- data/spec/unit/functions/split_spec.rb +6 -0
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/ssl/certificate_signer_spec.rb +17 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +1 -0
- data/spec/unit/util/monkey_patches_spec.rb +42 -0
- data/spec/unit/util/windows/adsi_spec.rb +25 -0
- metadata +5 -3
data/locales/puppet.pot
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: Puppet automation framework 8.
|
9
|
+
"Project-Id-Version: Puppet automation framework 8.2.0-29-g809d465a09\n"
|
10
10
|
"\n"
|
11
11
|
"Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
|
12
|
-
"POT-Creation-Date: 2023-
|
13
|
-
"PO-Revision-Date: 2023-
|
12
|
+
"POT-Creation-Date: 2023-09-21 23:07+0000\n"
|
13
|
+
"PO-Revision-Date: 2023-09-21 23:07+0000\n"
|
14
14
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
15
15
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
16
16
|
"Language: \n"
|
@@ -442,62 +442,70 @@ msgstr ""
|
|
442
442
|
msgid "Manage SSL keys and certificates for puppet SSL clients"
|
443
443
|
msgstr ""
|
444
444
|
|
445
|
-
#: ../lib/puppet/application/ssl.rb:
|
445
|
+
#: ../lib/puppet/application/ssl.rb:112
|
446
446
|
msgid "An action must be specified."
|
447
447
|
msgstr ""
|
448
448
|
|
449
|
-
#: ../lib/puppet/application/ssl.rb:
|
449
|
+
#: ../lib/puppet/application/ssl.rb:136 ../lib/puppet/application/ssl.rb:143
|
450
450
|
msgid "The certificate for '%{name}' has not yet been signed"
|
451
451
|
msgstr ""
|
452
452
|
|
453
|
-
#: ../lib/puppet/application/ssl.rb:
|
453
|
+
#: ../lib/puppet/application/ssl.rb:156
|
454
454
|
msgid "Completed SSL initialization"
|
455
455
|
msgstr ""
|
456
456
|
|
457
|
-
#: ../lib/puppet/application/ssl.rb:
|
457
|
+
#: ../lib/puppet/application/ssl.rb:160
|
458
458
|
msgid "Unknown action '%{action}'"
|
459
459
|
msgstr ""
|
460
460
|
|
461
|
-
#: ../lib/puppet/application/ssl.rb:
|
462
|
-
msgid "
|
461
|
+
#: ../lib/puppet/application/ssl.rb:181
|
462
|
+
msgid "Submitted certificate request for '%{name}' to %{url}"
|
463
463
|
msgstr ""
|
464
464
|
|
465
|
-
#: ../lib/puppet/application/ssl.rb:
|
466
|
-
msgid "
|
465
|
+
#: ../lib/puppet/application/ssl.rb:184
|
466
|
+
msgid "Could not submit certificate request for '%{name}' to %{url} due to a conflict on the server"
|
467
467
|
msgstr ""
|
468
468
|
|
469
|
-
#: ../lib/puppet/application/ssl.rb:
|
470
|
-
msgid "
|
469
|
+
#: ../lib/puppet/application/ssl.rb:186 ../lib/puppet/application/ssl.rb:189
|
470
|
+
msgid "Failed to submit certificate request: %{message}"
|
471
471
|
msgstr ""
|
472
472
|
|
473
|
-
#: ../lib/puppet/application/ssl.rb:
|
474
|
-
msgid "
|
473
|
+
#: ../lib/puppet/application/ssl.rb:201
|
474
|
+
msgid "Generated certificate request in '%{path}'"
|
475
475
|
msgstr ""
|
476
476
|
|
477
|
-
#: ../lib/puppet/application/ssl.rb:
|
478
|
-
msgid "Failed to
|
477
|
+
#: ../lib/puppet/application/ssl.rb:203
|
478
|
+
msgid "Failed to generate certificate request: %{message}"
|
479
479
|
msgstr ""
|
480
480
|
|
481
|
-
#: ../lib/puppet/application/ssl.rb:
|
481
|
+
#: ../lib/puppet/application/ssl.rb:211
|
482
482
|
msgid "Downloading certificate '%{name}' from %{url}"
|
483
483
|
msgstr ""
|
484
484
|
|
485
|
-
#: ../lib/puppet/application/ssl.rb:
|
485
|
+
#: ../lib/puppet/application/ssl.rb:215
|
486
486
|
msgid "Downloaded certificate '%{name}' with fingerprint %{fingerprint}"
|
487
487
|
msgstr ""
|
488
488
|
|
489
|
-
#: ../lib/puppet/application/ssl.rb:
|
489
|
+
#: ../lib/puppet/application/ssl.rb:228 ../lib/puppet/application/ssl.rb:231
|
490
490
|
msgid "Failed to download certificate: %{message}"
|
491
491
|
msgstr ""
|
492
492
|
|
493
|
-
#: ../lib/puppet/application/ssl.rb:
|
493
|
+
#: ../lib/puppet/application/ssl.rb:260 ../lib/puppet/application/ssl.rb:263
|
494
494
|
msgid "Failed to connect to the CA to determine if certificate %{certname} has been cleaned"
|
495
495
|
msgstr ""
|
496
496
|
|
497
|
-
#: ../lib/puppet/application/ssl.rb:
|
497
|
+
#: ../lib/puppet/application/ssl.rb:290
|
498
498
|
msgid "Removed %{label} %{path}"
|
499
499
|
msgstr ""
|
500
500
|
|
501
|
+
#: ../lib/puppet/application/ssl.rb:307 ../lib/puppet/ssl/state_machine.rb:273
|
502
|
+
msgid "Creating a new EC SSL key for %{name} using curve %{curve}"
|
503
|
+
msgstr ""
|
504
|
+
|
505
|
+
#: ../lib/puppet/application/ssl.rb:310
|
506
|
+
msgid "Creating a new SSL key for %{name}"
|
507
|
+
msgstr ""
|
508
|
+
|
501
509
|
#: ../lib/puppet/configurer.rb:22
|
502
510
|
msgid "Puppet configuration client"
|
503
511
|
msgstr ""
|
@@ -1752,7 +1760,7 @@ msgstr ""
|
|
1752
1760
|
msgid "Timeout waiting for exclusive lock on %{path}"
|
1753
1761
|
msgstr ""
|
1754
1762
|
|
1755
|
-
#: ../lib/puppet/file_system/jruby.rb:19 ../lib/puppet/file_system/windows.rb:128 ../lib/puppet/util.rb:
|
1763
|
+
#: ../lib/puppet/file_system/jruby.rb:19 ../lib/puppet/file_system/windows.rb:128 ../lib/puppet/util.rb:671
|
1756
1764
|
msgid "Is a directory: %{directory}"
|
1757
1765
|
msgstr ""
|
1758
1766
|
|
@@ -2226,11 +2234,11 @@ msgstr ""
|
|
2226
2234
|
msgid "Run `puppet agent -t`"
|
2227
2235
|
msgstr ""
|
2228
2236
|
|
2229
|
-
#: ../lib/puppet/http/client.rb:
|
2237
|
+
#: ../lib/puppet/http/client.rb:390
|
2230
2238
|
msgid "Sleeping for %{interval} seconds before retrying the request"
|
2231
2239
|
msgstr ""
|
2232
2240
|
|
2233
|
-
#: ../lib/puppet/http/client.rb:
|
2241
|
+
#: ../lib/puppet/http/client.rb:445
|
2234
2242
|
msgid "HTTP REST queries cannot handle values of type '%{klass}'"
|
2235
2243
|
msgstr ""
|
2236
2244
|
|
@@ -7335,7 +7343,7 @@ msgstr ""
|
|
7335
7343
|
msgid "%{name} has not declared what class it wraps"
|
7336
7344
|
msgstr ""
|
7337
7345
|
|
7338
|
-
#: ../lib/puppet/ssl/base.rb:32 ../lib/puppet/x509/cert_provider.rb:
|
7346
|
+
#: ../lib/puppet/ssl/base.rb:32 ../lib/puppet/x509/cert_provider.rb:384
|
7339
7347
|
msgid "Certname %{name} must not contain unprintable or non-ASCII characters"
|
7340
7348
|
msgstr ""
|
7341
7349
|
|
@@ -8468,11 +8476,11 @@ msgstr ""
|
|
8468
8476
|
msgid "path may not be nil"
|
8469
8477
|
msgstr ""
|
8470
8478
|
|
8471
|
-
#: ../lib/puppet/util.rb:
|
8479
|
+
#: ../lib/puppet/util.rb:586
|
8472
8480
|
msgid "replace_file requires a block"
|
8473
8481
|
msgstr ""
|
8474
8482
|
|
8475
|
-
#: ../lib/puppet/util.rb:
|
8483
|
+
#: ../lib/puppet/util.rb:590
|
8476
8484
|
msgid "replace_file default_mode: %{default_mode} is invalid"
|
8477
8485
|
msgstr ""
|
8478
8486
|
|
@@ -8757,19 +8765,19 @@ msgstr ""
|
|
8757
8765
|
msgid "Working directory %{cwd} does not exist!"
|
8758
8766
|
msgstr ""
|
8759
8767
|
|
8760
|
-
#: ../lib/puppet/util/execution.rb:
|
8768
|
+
#: ../lib/puppet/util/execution.rb:283
|
8761
8769
|
msgid "Could not get output"
|
8762
8770
|
msgstr ""
|
8763
8771
|
|
8764
|
-
#: ../lib/puppet/util/execution.rb:
|
8772
|
+
#: ../lib/puppet/util/execution.rb:292
|
8765
8773
|
msgid "Execution of '%{str}' returned %{exit_status}: %{output}"
|
8766
8774
|
msgstr ""
|
8767
8775
|
|
8768
|
-
#: ../lib/puppet/util/execution.rb:
|
8776
|
+
#: ../lib/puppet/util/execution.rb:369
|
8769
8777
|
msgid "Could not execute posix command: %{detail}"
|
8770
8778
|
msgstr ""
|
8771
8779
|
|
8772
|
-
#: ../lib/puppet/util/execution.rb:
|
8780
|
+
#: ../lib/puppet/util/execution.rb:417
|
8773
8781
|
msgid "Waiting for output; will sleep %{time_to_sleep} seconds"
|
8774
8782
|
msgstr ""
|
8775
8783
|
|
data/man/man5/puppet.conf.5
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPETCONF" "5" "
|
4
|
+
.TH "PUPPETCONF" "5" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
\fBThis page is autogenerated; any changes will get overwritten\fR
|
6
6
|
.
|
7
7
|
.SH "Configuration settings"
|
@@ -849,7 +849,7 @@ Where individual hosts store and look for their certificates\.
|
|
849
849
|
.IP "" 0
|
850
850
|
.
|
851
851
|
.SS "hostcert_renewal_interval"
|
852
|
-
|
852
|
+
When the Puppet agent refreshes its client certificate\. By default the client certificate will refresh 30 days before the certificate expires\. If a different duration is specified, then the agent will refresh its client certificate whenever it next runs and if the client certificate expires within the duration specified\.
|
853
853
|
.
|
854
854
|
.P
|
855
855
|
In general, the duration should be greater than the \fBruninterval\fR\. Setting it to 0 will disable automatic renewal\.
|
@@ -973,7 +973,7 @@ The time to wait for data to be read from an HTTP connection\. If nothing is rea
|
|
973
973
|
The HTTP User\-Agent string to send when making network requests\.
|
974
974
|
.
|
975
975
|
.IP "\(bu" 4
|
976
|
-
\fIDefault\fR: \fBPuppet/8\.
|
976
|
+
\fIDefault\fR: \fBPuppet/8\.3\.0 Ruby/3\.1\.1\-p18 (x86_64\-linux)\fR
|
977
977
|
.
|
978
978
|
.IP "" 0
|
979
979
|
.
|
data/man/man8/puppet-agent.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-AGENT" "8" "
|
4
|
+
.TH "PUPPET\-AGENT" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-agent\fR \- The puppet agent daemon
|
data/man/man8/puppet-apply.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-APPLY" "8" "
|
4
|
+
.TH "PUPPET\-APPLY" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-apply\fR \- Apply Puppet manifests locally
|
data/man/man8/puppet-catalog.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-CATALOG" "8" "
|
4
|
+
.TH "PUPPET\-CATALOG" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-catalog\fR \- Compile, save, view, and convert catalogs\.
|
data/man/man8/puppet-config.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-CONFIG" "8" "
|
4
|
+
.TH "PUPPET\-CONFIG" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-config\fR \- Interact with Puppet\'s settings\.
|
data/man/man8/puppet-describe.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DESCRIBE" "8" "
|
4
|
+
.TH "PUPPET\-DESCRIBE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-describe\fR \- Display help about resource types
|
data/man/man8/puppet-device.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DEVICE" "8" "
|
4
|
+
.TH "PUPPET\-DEVICE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-device\fR \- Manage remote network devices
|
data/man/man8/puppet-doc.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DOC" "8" "
|
4
|
+
.TH "PUPPET\-DOC" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-doc\fR \- Generate Puppet references
|
data/man/man8/puppet-epp.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-EPP" "8" "
|
4
|
+
.TH "PUPPET\-EPP" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-epp\fR \- Interact directly with the EPP template parser/renderer\.
|
data/man/man8/puppet-facts.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-FACTS" "8" "
|
4
|
+
.TH "PUPPET\-FACTS" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-facts\fR \- Retrieve and store facts\.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-FILEBUCKET" "8" "
|
4
|
+
.TH "PUPPET\-FILEBUCKET" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-filebucket\fR \- Store and retrieve files in a filebucket
|
data/man/man8/puppet-generate.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-GENERATE" "8" "
|
4
|
+
.TH "PUPPET\-GENERATE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-generate\fR \- Generates Puppet code from Ruby definitions\.
|
data/man/man8/puppet-help.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-HELP" "8" "
|
4
|
+
.TH "PUPPET\-HELP" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-help\fR \- Display Puppet help\.
|
data/man/man8/puppet-lookup.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-LOOKUP" "8" "
|
4
|
+
.TH "PUPPET\-LOOKUP" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-lookup\fR \- Interactive Hiera lookup
|
data/man/man8/puppet-module.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-MODULE" "8" "
|
4
|
+
.TH "PUPPET\-MODULE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-module\fR \- Creates, installs and searches for modules on the Puppet Forge\.
|
data/man/man8/puppet-node.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-NODE" "8" "
|
4
|
+
.TH "PUPPET\-NODE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-node\fR \- View and manage node definitions\.
|
data/man/man8/puppet-parser.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-PARSER" "8" "
|
4
|
+
.TH "PUPPET\-PARSER" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-parser\fR \- Interact directly with the parser\.
|
data/man/man8/puppet-plugin.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-PLUGIN" "8" "
|
4
|
+
.TH "PUPPET\-PLUGIN" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-plugin\fR \- Interact with the Puppet plugin system\.
|
data/man/man8/puppet-report.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-REPORT" "8" "
|
4
|
+
.TH "PUPPET\-REPORT" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-report\fR \- Create, display, and submit reports\.
|
data/man/man8/puppet-resource.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-RESOURCE" "8" "
|
4
|
+
.TH "PUPPET\-RESOURCE" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-resource\fR \- The resource abstraction layer shell
|
data/man/man8/puppet-script.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-SCRIPT" "8" "
|
4
|
+
.TH "PUPPET\-SCRIPT" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-script\fR \- Run a puppet manifests as a script without compiling a catalog
|
data/man/man8/puppet-ssl.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-SSL" "8" "
|
4
|
+
.TH "PUPPET\-SSL" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-ssl\fR \- Manage SSL keys and certificates for puppet SSL clients
|
@@ -42,6 +42,10 @@ submit_request
|
|
42
42
|
Generate a certificate signing request (CSR) and submit it to the CA\. If a private and public key pair already exist, they will be used to generate the CSR\. Otherwise a new key pair will be generated\. If a CSR has already been submitted with the given \fBcertname\fR, then the operation will fail\.
|
43
43
|
.
|
44
44
|
.TP
|
45
|
+
generate_request
|
46
|
+
Generate a certificate signing request (CSR)\. If a private and public key pair already exist, they will be used to generate the CSR\. Otherwise a new key pair will be generated\.
|
47
|
+
.
|
48
|
+
.TP
|
45
49
|
download_cert
|
46
50
|
Download a certificate for this host\. If the current private key matches the downloaded certificate, then the certificate will be saved and used for subsequent requests\. If there is already an existing certificate, it will be overwritten\.
|
47
51
|
.
|
data/man/man8/puppet.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET" "8" "
|
4
|
+
.TH "PUPPET" "8" "October 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\fR
|
@@ -25,4 +25,4 @@ Specialized:
|
|
25
25
|
catalog Compile, save, view, and convert catalogs\. describe Display help about resource types device Manage remote network devices doc Generate Puppet references epp Interact directly with the EPP template parser/renderer\. facts Retrieve and store facts\. filebucket Store and retrieve files in a filebucket generate Generates Puppet code from Ruby definitions\. node View and manage node definitions\. parser Interact directly with the parser\. plugin Interact with the Puppet plugin system\. script Run a puppet manifests as a script without compiling a catalog ssl Manage SSL keys and certificates for puppet SSL clients
|
26
26
|
.
|
27
27
|
.P
|
28
|
-
See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v8\.
|
28
|
+
See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v8\.3\.0
|
@@ -75,6 +75,19 @@ describe Puppet::Type.type(:exec), unless: Puppet::Util::Platform.jruby? do
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
context 'when an exec sends an EOF' do
|
79
|
+
let(:command) { ["/bin/bash", "-c", "exec /bin/sleep 1 >/dev/null 2>&1"] }
|
80
|
+
|
81
|
+
it 'should not take significant user time' do
|
82
|
+
exec = described_class.new :command => command, :path => ENV['PATH']
|
83
|
+
catalog.add_resource exec
|
84
|
+
timed_apply = Benchmark.measure { catalog.apply }
|
85
|
+
# In testing I found the user time before the patch in 4f35fd262e to be above
|
86
|
+
# 0.3, after the patch it was consistently below 0.1 seconds.
|
87
|
+
expect(timed_apply.utime).to be < 0.3
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
78
91
|
context 'when command is a string' do
|
79
92
|
let(:command) { "ruby -e 'File.open(\"#{path}\", \"w\") { |f| f.print \"foo\" }'" }
|
80
93
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Support code for running stuff with warnings disabled
|
1
|
+
# Support code for running stuff with warnings disabled or enabled
|
2
2
|
module Kernel
|
3
3
|
def with_verbose_disabled
|
4
4
|
verbose, $VERBOSE = $VERBOSE, nil
|
@@ -6,4 +6,13 @@ module Kernel
|
|
6
6
|
$VERBOSE = verbose
|
7
7
|
return result
|
8
8
|
end
|
9
|
+
|
10
|
+
def with_verbose_enabled
|
11
|
+
verbose, $VERBOSE = $VERBOSE, true
|
12
|
+
begin
|
13
|
+
yield
|
14
|
+
ensure
|
15
|
+
$VERBOSE = verbose
|
16
|
+
end
|
17
|
+
end
|
9
18
|
end
|
data/spec/unit/agent_spec.rb
CHANGED
@@ -15,19 +15,12 @@ class AgentTestClient
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
def without_warnings
|
19
|
-
flag = $VERBOSE
|
20
|
-
$VERBOSE = nil
|
21
|
-
yield
|
22
|
-
$VERBOSE = flag
|
23
|
-
end
|
24
|
-
|
25
18
|
describe Puppet::Agent do
|
26
19
|
before do
|
27
20
|
@agent = Puppet::Agent.new(AgentTestClient, false)
|
28
21
|
|
29
22
|
# make Puppet::Application safe for stubbing; restore in an :after block; silence warnings for this.
|
30
|
-
|
23
|
+
with_verbose_disabled { Puppet::Application = Class.new(Puppet::Application) }
|
31
24
|
allow(Puppet::Application).to receive(:clear?).and_return(true)
|
32
25
|
Puppet::Application.class_eval do
|
33
26
|
class << self
|
@@ -44,7 +37,7 @@ describe Puppet::Agent do
|
|
44
37
|
|
45
38
|
after do
|
46
39
|
# restore Puppet::Application from stub-safe subclass, and silence warnings
|
47
|
-
|
40
|
+
with_verbose_disabled { Puppet::Application = Puppet::Application.superclass }
|
48
41
|
end
|
49
42
|
|
50
43
|
it "should set its client class at initialization" do
|
@@ -171,6 +171,50 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
+
context 'when generating a CSR' do
|
175
|
+
let(:csr_path) { Puppet[:hostcsr] }
|
176
|
+
let(:requestdir) { Puppet[:requestdir] }
|
177
|
+
|
178
|
+
before do
|
179
|
+
ssl.command_line.args << 'generate_request'
|
180
|
+
end
|
181
|
+
|
182
|
+
it 'generates an RSA private key' do
|
183
|
+
File.unlink(Puppet[:hostprivkey])
|
184
|
+
|
185
|
+
expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
|
186
|
+
end
|
187
|
+
|
188
|
+
it 'generates an EC private key' do
|
189
|
+
Puppet[:key_type] = 'ec'
|
190
|
+
File.unlink(Puppet[:hostprivkey])
|
191
|
+
|
192
|
+
expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
|
193
|
+
end
|
194
|
+
|
195
|
+
it 'registers OIDs' do
|
196
|
+
expect(Puppet::SSL::Oids).to receive(:register_puppet_oids)
|
197
|
+
|
198
|
+
expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
|
199
|
+
end
|
200
|
+
|
201
|
+
it 'saves the CSR locally' do
|
202
|
+
expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
|
203
|
+
|
204
|
+
expect(Puppet::FileSystem).to be_exist(csr_path)
|
205
|
+
end
|
206
|
+
|
207
|
+
it 'accepts dns alt names' do
|
208
|
+
Puppet[:dns_alt_names] = 'majortom'
|
209
|
+
|
210
|
+
expects_command_to_pass
|
211
|
+
|
212
|
+
csr = Puppet::SSL::CertificateRequest.new(name)
|
213
|
+
csr.read(csr_path)
|
214
|
+
expect(csr.subject_alt_names).to include('DNS:majortom')
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
174
218
|
context 'when downloading a certificate' do
|
175
219
|
before do
|
176
220
|
ssl.command_line.args << 'download_cert'
|
@@ -347,6 +391,11 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
|
|
347
391
|
expects_command_to_fail(%r{Failed to connect to the CA to determine if certificate #{name} has been cleaned})
|
348
392
|
end
|
349
393
|
|
394
|
+
it 'raises if we have extra args' do
|
395
|
+
ssl.command_line.args << 'hostname.example.biz'
|
396
|
+
expects_command_to_fail(/Extra arguments detected: hostname.example.biz/)
|
397
|
+
end
|
398
|
+
|
350
399
|
context 'when deleting local CA' do
|
351
400
|
before do
|
352
401
|
ssl.command_line.args << '--localca'
|
@@ -50,4 +50,10 @@ describe 'the split function' do
|
|
50
50
|
it 'should handle pattern in Regexp Type form with missing regular expression' do
|
51
51
|
expect(split('ab',type_parser.parse('Regexp'))).to eql(['a', 'b'])
|
52
52
|
end
|
53
|
+
|
54
|
+
it 'should handle sensitive String' do
|
55
|
+
expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), ',')).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
|
56
|
+
expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), /,/)).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
|
57
|
+
expect(split(Puppet::Pops::Types::PSensitiveType::Sensitive.new('a,b'), type_parser.parse('Regexp[/,/]'))).to be_a(Puppet::Pops::Types::PSensitiveType::Sensitive)
|
58
|
+
end
|
53
59
|
end
|
@@ -47,7 +47,7 @@ describe "Puppet::InfoService" do
|
|
47
47
|
:content => metadata.to_json}]]})
|
48
48
|
File.write("#{modpath}/#{mod_name}/tasks/atask.json", "NOT JSON")
|
49
49
|
|
50
|
-
expect(Puppet).to receive(:send_log).with(:err,
|
50
|
+
expect(Puppet).to receive(:send_log).with(:err, /unexpected token at 'NOT JSON'/)
|
51
51
|
|
52
52
|
@tasks = Puppet::InfoService.tasks_per_environment(env_name)
|
53
53
|
expect(@tasks.map{|t| t[:name]}).to contain_exactly('test1::btask', 'test1::ctask')
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Puppet::SSL::CertificateSigner do
|
4
|
+
include PuppetSpec::Files
|
5
|
+
|
6
|
+
let(:wrong_key) { OpenSSL::PKey::RSA.new(512) }
|
7
|
+
let(:client_cert) { cert_fixture('signed.pem') }
|
8
|
+
|
9
|
+
# jruby-openssl >= 0.13.0 (JRuby >= 9.3.5.0) raises an error when signing a
|
10
|
+
# certificate when there is a discrepancy between the certificate and key.
|
11
|
+
it 'raises if client cert signature is invalid', if: Puppet::Util::Platform.jruby? && RUBY_VERSION.to_f >= 2.6 do
|
12
|
+
expect {
|
13
|
+
client_cert.sign(wrong_key, OpenSSL::Digest::SHA256.new)
|
14
|
+
}.to raise_error(OpenSSL::X509::CertificateError,
|
15
|
+
'invalid public key data')
|
16
|
+
end
|
17
|
+
end
|
@@ -338,7 +338,7 @@ describe Puppet::SSL::SSLProvider do
|
|
338
338
|
end
|
339
339
|
end
|
340
340
|
|
341
|
-
it 'raises if intermediate CA signature is invalid' do
|
341
|
+
it 'raises if intermediate CA signature is invalid', unless: Puppet::Util::Platform.jruby? && RUBY_VERSION.to_f >= 2.6 do
|
342
342
|
int = global_cacerts.last
|
343
343
|
int.public_key = wrong_key.public_key if Puppet::Util::Platform.jruby?
|
344
344
|
int.sign(wrong_key, OpenSSL::Digest::SHA256.new)
|
@@ -29,6 +29,7 @@ describe Puppet::Util::Execution, if: !Puppet::Util::Platform.jruby? do
|
|
29
29
|
allow(FFI::WIN32).to receive(:CloseHandle).with(thread_handle)
|
30
30
|
else
|
31
31
|
allow(Process).to receive(:waitpid2).with(pid, Process::WNOHANG).and_return(nil, [pid, double('child_status', :exitstatus => exitstatus)])
|
32
|
+
allow(Process).to receive(:waitpid2).with(pid, 0).and_return(nil, [pid, double('child_status', :exitstatus => exitstatus)])
|
32
33
|
allow(Process).to receive(:waitpid2).with(pid).and_return([pid, double('child_status', :exitstatus => exitstatus)])
|
33
34
|
end
|
34
35
|
end
|