puppet-masterless 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efe72dcfd1e767ad585ab7877714c2d5ce25560f524a4a754575c5cb484078d1
4
- data.tar.gz: f7db589d57432b964c237e7b9f913e0d7fb3a361eb5064fc47ea5b992b1e9dcc
3
+ metadata.gz: c92e1a6b43a5b98773af8b769d752ec38ab36b6703df0fcb3f5021729b9dbd38
4
+ data.tar.gz: ec90a19bb036bd8166a54cdfba7137370560d313e54748926e92c3408125432f
5
5
  SHA512:
6
- metadata.gz: 0a2985ea7c98b601e58476caaf773974a99e1e346c2fa07e51cd5fa4be0f26957b544af9f85a4a3afc56adf1f08374e4c0876c19bffa04e13ea5c942c7f0b4ae
7
- data.tar.gz: c79f6b79db153787060c2fbdd46dc5913341ccd64c947ddd8bcef4179f7391aae59703944571875a5d7ea8eddddbb53addaa99ccfe305dad92d1abe6f606e7a2
6
+ metadata.gz: 371ad6220621c70420885ea853a6cc541489b31257faee85f38d02cab607d6f748c561b0f920232027dc60fde345346f8fad80c5986a6517f2c6eb16a061b58d
7
+ data.tar.gz: 752186acfd8d467161ed42845036b14d22bf54690e31d9fa48939783025fdbacdf76738a78a8271224c3aa4893b056776df070cb34cfc8e966477daf86bd772d
data/README.md CHANGED
@@ -30,8 +30,8 @@ the man page.
30
30
  install -m 755 src/puppet-masterless /usr/local/bin/puppet-masterless
31
31
  install -m 644 man/puppet-masterless.1 /usr/local/share/man/man1/puppet-masterless.1
32
32
 
33
- You can also bundle the man page with the executable and install just
34
- that one file:
33
+ You can also bundle the man page with the executable and install both as
34
+ a single file:
35
35
 
36
36
  rake build:prepare
37
37
  install -m 755 bin/puppet-masterless /usr/local/bin/puppet-masterless
@@ -61,8 +61,8 @@ about how this directory should be organised.
61
61
  The program accepts arguments according to a very simple command line
62
62
  grammar. To see a summary of the available options and what they
63
63
  control, run `puppet-masterless` without any arguments. For full
64
- documentation, refer to its man page[^2] or help text (accessed via
65
- `puppet-masterless help`).
64
+ documentation, refer to its [man page][manual][^2] or help text
65
+ (accessed via `puppet-masterless help`).
66
66
 
67
67
  [^2]: You can view a Gem's man page by installing the [gem-man][]
68
68
  extension and running `gem man <gem>`.
@@ -111,10 +111,20 @@ path under your project's `confdir`:
111
111
  :yaml:
112
112
  :datadir: "%{settings::confdir}/data"
113
113
 
114
+ ## Resources
115
+
116
+ - [Man page][manual]
117
+ - [Source repository][repo]
118
+ - [Issue tracker][issues]
119
+
120
+ [manual]: https://catalyst-it.gitlab.io/devtools/puppet-masterless/
121
+ [repo]: https://gitlab.com/catalyst-it/devtools/puppet-masterless/
122
+ [issues]: https://gitlab.com/catalyst-it/devtools/puppet-masterless/issues
123
+
114
124
  ## Contributing
115
125
 
116
- 1. Fork it from <https://gitlab.com/catalyst-it/puppet-masterless>
126
+ 1. Fork it from <https://gitlab.com/catalyst-it/devtools/puppet-masterless>
117
127
  2. Create a feature branch (`git checkout -b my-new-feature`)
118
128
  3. Commit your changes (`git commit -am 'Add some feature'`)
119
129
  4. Push to the branch (`git push origin my-new-feature`)
120
- 5. Create a Merge Request at <https://gitlab.com/catalyst-it/puppet-masterless/merge_requests>
130
+ 5. Create a Merge Request at <https://gitlab.com/catalyst-it/devtools/puppet-masterless/merge_requests>
@@ -56,6 +56,7 @@ module PuppetMasterless
56
56
  DEFAULT_SUDO = 'sudo'
57
57
  REMOTE_USER = 'root'
58
58
  REMOTE_WORKDIR = '/tmp'
59
+ VERSION = %{0.2.3}
59
60
 
60
61
  class Main
61
62
  def initialize
@@ -74,6 +75,11 @@ module PuppetMasterless
74
75
  exit(n)
75
76
  end
76
77
 
78
+ def version(n = 0)
79
+ STDERR.puts("puppet-masterless #{VERSION}")
80
+ exit(n)
81
+ end
82
+
77
83
  def collect(args)
78
84
  while word = args.shift
79
85
  case word
@@ -236,6 +242,8 @@ begin
236
242
  main.apply
237
243
  when 'help'
238
244
  main.help
245
+ when 'version', '--version'
246
+ main.version(0)
239
247
  when '-h', '--help', nil
240
248
  main.usage(0)
241
249
  else
@@ -246,7 +254,7 @@ rescue => e
246
254
  exit(1)
247
255
  end
248
256
 
249
- #1 .Dd January 28, 2019
257
+ #1 .Dd October 10, 2019
250
258
  #1 .Dt PUPPET-MASTERLESS 1
251
259
  #1 .Os
252
260
  #1 .Sh NAME
@@ -262,110 +270,134 @@ end
262
270
  #1 .Sh DESCRIPTION
263
271
  #1 The
264
272
  #1 .Nm
265
- #1 .No program packages a Puppet project as a self-contained shell script
266
- #1 .No and optionally executes it on a remote machine via SSH.
273
+ #1 program packages a Puppet project as a self-contained shell script and
274
+ #1 optionally executes it on a remote machine via SSH.
267
275
  #1 .Pp
268
- #1 .No Some simple conventions are used to decide what files to include
269
- #1 .No in the package. For a list of files that will be automatically
270
- #1 .No included, refer to Sx FILES .
276
+ #1 Some simple conventions are used to decide what files to include in the
277
+ #1 package. For a list of files that will be automatically included, refer
278
+ #1 to
279
+ #1 .Sx FILES .
271
280
  #1 .Sh COMMANDS
272
- #1 .Bl -tag -width " "
281
+ #1 .Bl -tag -width Ds
273
282
  #1 .It Cm package
274
- #1 .No Package a project as a self-contained shell script.
283
+ #1 Package a project as a self-contained shell script.
275
284
  #1 .It Cm apply
276
- #1 .No Apply a project to a remote host, or to the local machine if no
277
- #1 .No hostname is specified with the
278
- #1 .Cm to No argument.
285
+ #1 Apply a project to a remote host, or to the local machine if no hostname
286
+ #1 is specified with the
287
+ #1 .Cm to
288
+ #1 argument.
289
+ #1 .El
279
290
  #1 .Sh ARGUMENTS
280
- #1 .Bl -tag -width " "
291
+ #1 .Bl -tag -width Ds
281
292
  #1 .It Cm confdir Aq pathname
282
- #1 .No Set the root directory of the Puppet project. This value is passed to
293
+ #1 Set the root directory of the Puppet project. This value is passed to
283
294
  #1 .Fl -confdir
284
- #1 .No when running
295
+ #1 when running
285
296
  #1 .Xr puppet-apply 8 .
286
297
  #1 .Pp
287
- #1 .No This argument is required.
298
+ #1 This argument is required.
288
299
  #1 .It Cm manifest Aq filename
289
- #1 .No Specify the main Puppet manifest to apply. This may be a file or
290
- #1 .No directory.
300
+ #1 Specify the main Puppet manifest to apply. This may be a file or
301
+ #1 directory.
291
302
  #1 .Pp
292
- #1 .No Defaults to
303
+ #1 Defaults to
293
304
  #1 .Dq Ao confdir Ac Ns /manifests
294
- #1 .No (if that file is present).
305
+ #1 (if that file is present).
295
306
  #1 .It Cm hiera_config Aq filename
296
- #1 .No Specify the Hiera configuration file to use. This value is passed to
307
+ #1 Specify the Hiera configuration file to use. This value is passed to
297
308
  #1 .Fl -hiera_config
298
- #1 .No when running
309
+ #1 when running
299
310
  #1 .Xr puppet-apply 8 .
300
311
  #1 .Pp
301
- #1 .No Defaults to
312
+ #1 Defaults to
302
313
  #1 .Dq Ao confdir Ac Ns /hiera.yaml
303
- #1 .No (if that file is present).
314
+ #1 (if that file is present).
304
315
  #1 .It Cm modulepath Aq pathname
305
- #1 .No Set the Puppet modules directory. This value is passed to
306
- #1 .No Fl -modulepath No when running Xr puppet-apply 8 .
316
+ #1 Set the Puppet modules directory. This value is passed to
317
+ #1 .Fl -modulepath
318
+ #1 when running
319
+ #1 .Xr puppet-apply 8 .
307
320
  #1 .Pp
308
- #1 .No Defaults to
321
+ #1 Defaults to
309
322
  #1 .Dq Ao confdir Ac Ns /modules
310
- #1 .No (if that file is present).
323
+ #1 (if that file is present).
311
324
  #1 .It Cm file Aq filename
312
- #1 .No Add an arbitrary file or directory to the generated package. This
313
- #1 .No can be used to include files in non-standard locations.
325
+ #1 Add an arbitrary file or directory to the generated package. This can be
326
+ #1 used to include files in non-standard locations.
314
327
  #1 .Pp
315
- #1 .No Directories are added recursively, and this option can be repeated
316
- #1 .No to include multiple files.
328
+ #1 Directories are added recursively, and this option can be repeated to
329
+ #1 include multiple files.
317
330
  #1 .It Cm puppet Aq executable
318
- #1 .No Specify the location of the Xr puppet 8 executable on the remote host.
319
- #1 .No This is useful when the puppet binary is installed in a directory
320
- #1 .No that is not on the active user's Ev PATH (for example under
331
+ #1 .Pp
332
+ #1 Specify the location of the
333
+ #1 .Xr puppet 8
334
+ #1 executable on the remote host. This is useful when the puppet binary is
335
+ #1 installed in a directory that is not on the active user's
336
+ #1 .Ev PATH
337
+ #1 (for example under
321
338
  #1 .Pa /opt/puppetlabs/bin Ns ).
322
339
  #1 .Pp
323
- #1 .No Defaults to
340
+ #1 Defaults to
324
341
  #1 .Dq puppet .
325
342
  #1 .It Cm output file Aq filename
326
- #1 .No Set the output filename. If not given, a randomly-generated filename in
327
- #1 .No the current directory is used.
343
+ #1 Set the output filename. If not given, a randomly-generated filename in
344
+ #1 the current directory is used.
328
345
  #1 .Pp
329
- #1 .No Applies only to the Cm package No command.
346
+ #1 Applies only to the
347
+ #1 .Cm package
348
+ #1 command.
330
349
  #1 .It Cm sudo Aq executable
331
- #1 .No Specify the location of the Xr sudo 1 executable on the remote host.
332
- #1 .No This can also be used to specify an alternative command for
333
- #1 .No privilege elevation, for example Xr doas 1 .
350
+ #1 Specify the location of the
351
+ #1 .Xr sudo 1
352
+ #1 executable on the remote host. This can also be used to specify an
353
+ #1 alternative command for privilege elevation, for example
354
+ #1 .Xr doas 1 .
334
355
  #1 .Pp
335
- #1 .No Applies only to the Cm apply No command.
356
+ #1 Applies only to the
357
+ #1 .Cm apply
358
+ #1 command.
336
359
  #1 .Pp
337
- #1 .No Defaults to
360
+ #1 Defaults to
338
361
  #1 .Dq sudo .
339
362
  #1 .It Cm as Aq username
340
- #1 .No Set the name of the user that will run
341
- #1 .Xr puppet-apply 8 on the remote host.
342
- #1 .Xr sudo 1 is used to become this user before execution.
363
+ #1 Set the name of the user that will run
364
+ #1 .Xr puppet-apply 8
365
+ #1 on the remote host.
366
+ #1 .Xr sudo 1
367
+ #1 is used to become this user before execution.
343
368
  #1 .Pp
344
- #1 .No Applies only to the Cm apply No command.
369
+ #1 Applies only to the
370
+ #1 .Cm apply
371
+ #1 command.
345
372
  #1 .Pp
346
- #1 .No Defaults to
373
+ #1 Defaults to
347
374
  #1 .Dq root .
348
375
  #1 .It Cm to Aq hostname
349
- #1 .No Specify the remote host to provision. If not given, the project will
350
- #1 .No be applied directly to the local machine (without packaging or SSH).
376
+ #1 Specify the remote host to provision. If not given, the project will be
377
+ #1 applied directly to the local machine (without packaging or SSH).
351
378
  #1 .Pp
352
- #1 .No Applies only to the Cm apply No command.
353
- #1 .It Cm and , with
354
- #1 .No These words are ignored. They can be used to make an invocation of
355
- #1 .No the program read sensibly (or insensibly, as desired).
379
+ #1 Applies only to the
380
+ #1 .Cm apply
381
+ #1 command.
382
+ #1 .It Cm and, with
383
+ #1 These words are ignored. They can be used to make an invocation of the
384
+ #1 program read sensibly (or insensibly, as desired).
356
385
  #1 .It Cm -- [ Ar argument ... ]
357
- #1 .No Two dashes indicate the end of program arguments. Any remaining
358
- #1 .No arguments are passed to
359
- #1 .Xr puppet-apply 8 verbatim.
360
- #1 .El
386
+ #1 Two dashes indicate the end of program arguments. Any remaining
387
+ #1 arguments are passed to
388
+ #1 .Xr puppet-apply 8
389
+ #1 verbatim.
390
+ #1 .\" empty par for -T html spacing
361
391
  #1 .Pp
362
- #1 .No For more information about the
392
+ #1 \&
393
+ #1 .El
394
+ #1 For more information about the
363
395
  #1 .Cm confdir ,
364
396
  #1 .Cm hiera_config ,
365
397
  #1 .Cm manifest , No and
366
398
  #1 .Cm modulepath No settings, refer to the following Puppet documentation:
367
399
  #1 .Pp
368
- #1 .Bl -dash -compact -width Ns
400
+ #1 .Bl -dash -compact
369
401
  #1 .It
370
402
  #1 .Lk https://puppet.com/docs/puppet/5.5/dirs_confdir.html confdir
371
403
  #1 .It
@@ -376,9 +408,12 @@ end
376
408
  #1 .Lk https://puppet.com/docs/puppet/5.5/dirs_modulepath.html modulepath
377
409
  #1 .El
378
410
  #1 .Sh FILES
379
- #1 .No The following files are automatically included in the package, when
380
- #1 .No present:
381
- #1 .Bl -column " "
411
+ #1 The following files are automatically included in the package, when
412
+ #1 present:
413
+ #1 .\" empty par for -T html spacing
414
+ #1 .Pp
415
+ #1 \&
416
+ #1 .Bl -column " "
382
417
  #1 .It Ao confdir Ac Ns /puppet.conf Ta - Default Puppet configuration file.
383
418
  #1 .It Ao confdir Ac Ns /hiera.yaml Ta - Default hiera configuration file.
384
419
  #1 .It Ao confdir Ac Ns /data Ta - Default hiera data directory.
@@ -386,7 +421,7 @@ end
386
421
  #1 .It Ao confdir Ac Ns /modules Ta - Default module path.
387
422
  #1 .El
388
423
  #1 .Pp
389
- #1 .No Directories are included recursively.
424
+ #1 Directories are included recursively.
390
425
  #1 .Sh EXIT STATUS
391
426
  #1 .Ex -std
392
427
  #1 .Sh EXAMPLES
@@ -397,11 +432,11 @@ end
397
432
  #1 puppet-masterless apply confdir puppet
398
433
  #1 .Ed
399
434
  #1 .Pp
400
- #1 .No Apply the
435
+ #1 Apply the
401
436
  #1 .Pa site.pp
402
- #1 .No manifest from the project in
437
+ #1 manifest from the project in
403
438
  #1 .Pa ./config
404
- #1 .No to host 10.0.8.1 as user
439
+ #1 to host 10.0.8.1 as user
405
440
  #1 .Dq charlize :
406
441
  #1 .Bd -literal -offset indent
407
442
  #1 puppet-masterless apply confdir config \\
@@ -409,48 +444,50 @@ end
409
444
  #1 to 10.0.8.1 as charlize
410
445
  #1 .Ed
411
446
  #1 .Pp
412
- #1 .No Bundle the
447
+ #1 Bundle the
413
448
  #1 .Pa test
414
- #1 .No project as a shell script, including a non-standard Hiera configuration
415
- #1 .No file location and data directory:
449
+ #1 project as a shell script, including a non-standard Hiera configuration
450
+ #1 file location and data directory:
416
451
  #1 .Bd -literal -offset indent
417
452
  #1 puppet-masterless package confdir test \\
418
453
  #1 with file hiera and hiera_config hiera/test.yaml
419
454
  #1 .Ed
455
+ #1 .Pp
420
456
  #1 .Sh CAVEATS
421
- #1 .No For this program to be useful, Puppet must be installed on the remote host.
457
+ #1 For this program to be useful, Puppet must be installed on the remote
458
+ #1 host.
422
459
  #1 .Pp
423
- #1 .No All file paths must be relative to the current working directory. An error
424
- #1 .No is signaled whenever an absolute path is specified.
460
+ #1 All file paths must be relative to the current working directory. An
461
+ #1 error is signaled whenever an absolute path is specified.
425
462
  #1 .Pp
426
- #1 .No This program is only intended to work with Puppet 4.10 and 5.5. \&It
427
- #1 .No may work with other versions of Puppet, or it may not.
463
+ #1 This program is only intended to work with Puppet 4.10 and 5.5. It may
464
+ #1 work with other versions of Puppet, or it may not.
428
465
  #1 .Pp
429
- #1 .No The SSH functionality of this program is intentionally simplistic.
430
- #1 .No If you need more complex behaviour when connecting to remote machines,
431
- #1 .No use the
466
+ #1 The SSH functionality of this program is intentionally simplistic. If
467
+ #1 you need more complex behaviour when connecting to remote machines, use
468
+ #1 the
432
469
  #1 .Cm package
433
- #1 .No command in combination with a tool like
470
+ #1 command in combination with a tool like
434
471
  #1 .Xr ansible 1 ,
435
472
  #1 .Xr cap 1 or
436
473
  #1 .Xr fab 1 .
437
474
  #1 .Pp
438
- #1 .No Very little information is displayed when an error occurs.
475
+ #1 Very little information is displayed when an error occurs.
439
476
  #1 .Sh SECURITY CONSIDERATIONS
440
- #1 .No The
477
+ #1 The
441
478
  #1 .Cm apply
442
- #1 .No command uses
479
+ #1 command uses
443
480
  #1 .Xr sudo 1
444
- #1 .No to assume a given user's identity on the remote host, with all of the
445
- #1 .No security issues that implies.
481
+ #1 to assume a given user's identity on the remote host, with all of the
482
+ #1 security issues that implies.
446
483
  #1 .Pp
447
- #1 .No When applying manifests to a remote machine, any secrets included in the
448
- #1 .No project will be present on the filesystem for as long as it takes to run
484
+ #1 When applying manifests to a remote machine, any secrets included in the
485
+ #1 project will be present on the filesystem for as long as it takes to run
449
486
  #1 .Xr puppet-apply 8 .
450
487
  #1 .Sh IMPLEMENTATION NOTES
451
488
  #1 .Nm
452
- #1 .No is a single Ruby script with no Gem dependencies. \&It should be
453
- #1 .No possible to copy and run it on any machine with Ruby 1.9 or newer.
489
+ #1 is a single Ruby script with no Gem dependencies. It should be possible
490
+ #1 to copy and run on any machine with Ruby 1.9 or newer.
454
491
  #1 .Sh SEE ALSO
455
492
  #1 .Xr puppet 8 ,
456
493
  #1 .Xr puppet-apply 8 ,
@@ -1,4 +1,4 @@
1
- .Dd January 28, 2019
1
+ .Dd October 10, 2019
2
2
  .Dt PUPPET-MASTERLESS 1
3
3
  .Os
4
4
  .Sh NAME
@@ -14,110 +14,134 @@
14
14
  .Sh DESCRIPTION
15
15
  The
16
16
  .Nm
17
- .No program packages a Puppet project as a self-contained shell script
18
- .No and optionally executes it on a remote machine via SSH.
17
+ program packages a Puppet project as a self-contained shell script and
18
+ optionally executes it on a remote machine via SSH.
19
19
  .Pp
20
- .No Some simple conventions are used to decide what files to include
21
- .No in the package. For a list of files that will be automatically
22
- .No included, refer to Sx FILES .
20
+ Some simple conventions are used to decide what files to include in the
21
+ package. For a list of files that will be automatically included, refer
22
+ to
23
+ .Sx FILES .
23
24
  .Sh COMMANDS
24
- .Bl -tag -width " "
25
+ .Bl -tag -width Ds
25
26
  .It Cm package
26
- .No Package a project as a self-contained shell script.
27
+ Package a project as a self-contained shell script.
27
28
  .It Cm apply
28
- .No Apply a project to a remote host, or to the local machine if no
29
- .No hostname is specified with the
30
- .Cm to No argument.
29
+ Apply a project to a remote host, or to the local machine if no hostname
30
+ is specified with the
31
+ .Cm to
32
+ argument.
33
+ .El
31
34
  .Sh ARGUMENTS
32
- .Bl -tag -width " "
35
+ .Bl -tag -width Ds
33
36
  .It Cm confdir Aq pathname
34
- .No Set the root directory of the Puppet project. This value is passed to
37
+ Set the root directory of the Puppet project. This value is passed to
35
38
  .Fl -confdir
36
- .No when running
39
+ when running
37
40
  .Xr puppet-apply 8 .
38
41
  .Pp
39
- .No This argument is required.
42
+ This argument is required.
40
43
  .It Cm manifest Aq filename
41
- .No Specify the main Puppet manifest to apply. This may be a file or
42
- .No directory.
44
+ Specify the main Puppet manifest to apply. This may be a file or
45
+ directory.
43
46
  .Pp
44
- .No Defaults to
47
+ Defaults to
45
48
  .Dq Ao confdir Ac Ns /manifests
46
- .No (if that file is present).
49
+ (if that file is present).
47
50
  .It Cm hiera_config Aq filename
48
- .No Specify the Hiera configuration file to use. This value is passed to
51
+ Specify the Hiera configuration file to use. This value is passed to
49
52
  .Fl -hiera_config
50
- .No when running
53
+ when running
51
54
  .Xr puppet-apply 8 .
52
55
  .Pp
53
- .No Defaults to
56
+ Defaults to
54
57
  .Dq Ao confdir Ac Ns /hiera.yaml
55
- .No (if that file is present).
58
+ (if that file is present).
56
59
  .It Cm modulepath Aq pathname
57
- .No Set the Puppet modules directory. This value is passed to
58
- .No Fl -modulepath No when running Xr puppet-apply 8 .
60
+ Set the Puppet modules directory. This value is passed to
61
+ .Fl -modulepath
62
+ when running
63
+ .Xr puppet-apply 8 .
59
64
  .Pp
60
- .No Defaults to
65
+ Defaults to
61
66
  .Dq Ao confdir Ac Ns /modules
62
- .No (if that file is present).
67
+ (if that file is present).
63
68
  .It Cm file Aq filename
64
- .No Add an arbitrary file or directory to the generated package. This
65
- .No can be used to include files in non-standard locations.
69
+ Add an arbitrary file or directory to the generated package. This can be
70
+ used to include files in non-standard locations.
66
71
  .Pp
67
- .No Directories are added recursively, and this option can be repeated
68
- .No to include multiple files.
72
+ Directories are added recursively, and this option can be repeated to
73
+ include multiple files.
69
74
  .It Cm puppet Aq executable
70
- .No Specify the location of the Xr puppet 8 executable on the remote host.
71
- .No This is useful when the puppet binary is installed in a directory
72
- .No that is not on the active user's Ev PATH (for example under
75
+ .Pp
76
+ Specify the location of the
77
+ .Xr puppet 8
78
+ executable on the remote host. This is useful when the puppet binary is
79
+ installed in a directory that is not on the active user's
80
+ .Ev PATH
81
+ (for example under
73
82
  .Pa /opt/puppetlabs/bin Ns ).
74
83
  .Pp
75
- .No Defaults to
84
+ Defaults to
76
85
  .Dq puppet .
77
86
  .It Cm output file Aq filename
78
- .No Set the output filename. If not given, a randomly-generated filename in
79
- .No the current directory is used.
87
+ Set the output filename. If not given, a randomly-generated filename in
88
+ the current directory is used.
80
89
  .Pp
81
- .No Applies only to the Cm package No command.
90
+ Applies only to the
91
+ .Cm package
92
+ command.
82
93
  .It Cm sudo Aq executable
83
- .No Specify the location of the Xr sudo 1 executable on the remote host.
84
- .No This can also be used to specify an alternative command for
85
- .No privilege elevation, for example Xr doas 1 .
94
+ Specify the location of the
95
+ .Xr sudo 1
96
+ executable on the remote host. This can also be used to specify an
97
+ alternative command for privilege elevation, for example
98
+ .Xr doas 1 .
86
99
  .Pp
87
- .No Applies only to the Cm apply No command.
100
+ Applies only to the
101
+ .Cm apply
102
+ command.
88
103
  .Pp
89
- .No Defaults to
104
+ Defaults to
90
105
  .Dq sudo .
91
106
  .It Cm as Aq username
92
- .No Set the name of the user that will run
93
- .Xr puppet-apply 8 on the remote host.
94
- .Xr sudo 1 is used to become this user before execution.
107
+ Set the name of the user that will run
108
+ .Xr puppet-apply 8
109
+ on the remote host.
110
+ .Xr sudo 1
111
+ is used to become this user before execution.
95
112
  .Pp
96
- .No Applies only to the Cm apply No command.
113
+ Applies only to the
114
+ .Cm apply
115
+ command.
97
116
  .Pp
98
- .No Defaults to
117
+ Defaults to
99
118
  .Dq root .
100
119
  .It Cm to Aq hostname
101
- .No Specify the remote host to provision. If not given, the project will
102
- .No be applied directly to the local machine (without packaging or SSH).
120
+ Specify the remote host to provision. If not given, the project will be
121
+ applied directly to the local machine (without packaging or SSH).
103
122
  .Pp
104
- .No Applies only to the Cm apply No command.
105
- .It Cm and , with
106
- .No These words are ignored. They can be used to make an invocation of
107
- .No the program read sensibly (or insensibly, as desired).
123
+ Applies only to the
124
+ .Cm apply
125
+ command.
126
+ .It Cm and, with
127
+ These words are ignored. They can be used to make an invocation of the
128
+ program read sensibly (or insensibly, as desired).
108
129
  .It Cm -- [ Ar argument ... ]
109
- .No Two dashes indicate the end of program arguments. Any remaining
110
- .No arguments are passed to
111
- .Xr puppet-apply 8 verbatim.
112
- .El
130
+ Two dashes indicate the end of program arguments. Any remaining
131
+ arguments are passed to
132
+ .Xr puppet-apply 8
133
+ verbatim.
134
+ .\" empty par for -T html spacing
113
135
  .Pp
114
- .No For more information about the
136
+ \&
137
+ .El
138
+ For more information about the
115
139
  .Cm confdir ,
116
140
  .Cm hiera_config ,
117
141
  .Cm manifest , No and
118
142
  .Cm modulepath No settings, refer to the following Puppet documentation:
119
143
  .Pp
120
- .Bl -dash -compact -width Ns
144
+ .Bl -dash -compact
121
145
  .It
122
146
  .Lk https://puppet.com/docs/puppet/5.5/dirs_confdir.html confdir
123
147
  .It
@@ -128,9 +152,12 @@ The
128
152
  .Lk https://puppet.com/docs/puppet/5.5/dirs_modulepath.html modulepath
129
153
  .El
130
154
  .Sh FILES
131
- .No The following files are automatically included in the package, when
132
- .No present:
133
- .Bl -column " "
155
+ The following files are automatically included in the package, when
156
+ present:
157
+ .\" empty par for -T html spacing
158
+ .Pp
159
+ \&
160
+ .Bl -column " "
134
161
  .It Ao confdir Ac Ns /puppet.conf Ta - Default Puppet configuration file.
135
162
  .It Ao confdir Ac Ns /hiera.yaml Ta - Default hiera configuration file.
136
163
  .It Ao confdir Ac Ns /data Ta - Default hiera data directory.
@@ -138,7 +165,7 @@ The
138
165
  .It Ao confdir Ac Ns /modules Ta - Default module path.
139
166
  .El
140
167
  .Pp
141
- .No Directories are included recursively.
168
+ Directories are included recursively.
142
169
  .Sh EXIT STATUS
143
170
  .Ex -std
144
171
  .Sh EXAMPLES
@@ -149,11 +176,11 @@ directly to the local machine:
149
176
  puppet-masterless apply confdir puppet
150
177
  .Ed
151
178
  .Pp
152
- .No Apply the
179
+ Apply the
153
180
  .Pa site.pp
154
- .No manifest from the project in
181
+ manifest from the project in
155
182
  .Pa ./config
156
- .No to host 10.0.8.1 as user
183
+ to host 10.0.8.1 as user
157
184
  .Dq charlize :
158
185
  .Bd -literal -offset indent
159
186
  puppet-masterless apply confdir config \\
@@ -161,48 +188,50 @@ puppet-masterless apply confdir config \\
161
188
  to 10.0.8.1 as charlize
162
189
  .Ed
163
190
  .Pp
164
- .No Bundle the
191
+ Bundle the
165
192
  .Pa test
166
- .No project as a shell script, including a non-standard Hiera configuration
167
- .No file location and data directory:
193
+ project as a shell script, including a non-standard Hiera configuration
194
+ file location and data directory:
168
195
  .Bd -literal -offset indent
169
196
  puppet-masterless package confdir test \\
170
197
  with file hiera and hiera_config hiera/test.yaml
171
198
  .Ed
199
+ .Pp
172
200
  .Sh CAVEATS
173
- .No For this program to be useful, Puppet must be installed on the remote host.
201
+ For this program to be useful, Puppet must be installed on the remote
202
+ host.
174
203
  .Pp
175
- .No All file paths must be relative to the current working directory. An error
176
- .No is signaled whenever an absolute path is specified.
204
+ All file paths must be relative to the current working directory. An
205
+ error is signaled whenever an absolute path is specified.
177
206
  .Pp
178
- .No This program is only intended to work with Puppet 4.10 and 5.5. \&It
179
- .No may work with other versions of Puppet, or it may not.
207
+ This program is only intended to work with Puppet 4.10 and 5.5. It may
208
+ work with other versions of Puppet, or it may not.
180
209
  .Pp
181
- .No The SSH functionality of this program is intentionally simplistic.
182
- .No If you need more complex behaviour when connecting to remote machines,
183
- .No use the
210
+ The SSH functionality of this program is intentionally simplistic. If
211
+ you need more complex behaviour when connecting to remote machines, use
212
+ the
184
213
  .Cm package
185
- .No command in combination with a tool like
214
+ command in combination with a tool like
186
215
  .Xr ansible 1 ,
187
216
  .Xr cap 1 or
188
217
  .Xr fab 1 .
189
218
  .Pp
190
- .No Very little information is displayed when an error occurs.
219
+ Very little information is displayed when an error occurs.
191
220
  .Sh SECURITY CONSIDERATIONS
192
- .No The
221
+ The
193
222
  .Cm apply
194
- .No command uses
223
+ command uses
195
224
  .Xr sudo 1
196
- .No to assume a given user's identity on the remote host, with all of the
197
- .No security issues that implies.
225
+ to assume a given user's identity on the remote host, with all of the
226
+ security issues that implies.
198
227
  .Pp
199
- .No When applying manifests to a remote machine, any secrets included in the
200
- .No project will be present on the filesystem for as long as it takes to run
228
+ When applying manifests to a remote machine, any secrets included in the
229
+ project will be present on the filesystem for as long as it takes to run
201
230
  .Xr puppet-apply 8 .
202
231
  .Sh IMPLEMENTATION NOTES
203
232
  .Nm
204
- .No is a single Ruby script with no Gem dependencies. \&It should be
205
- .No possible to copy and run it on any machine with Ruby 1.9 or newer.
233
+ is a single Ruby script with no Gem dependencies. It should be possible
234
+ to copy and run on any machine with Ruby 1.9 or newer.
206
235
  .Sh SEE ALSO
207
236
  .Xr puppet 8 ,
208
237
  .Xr puppet-apply 8 ,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-masterless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Hanson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-14 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '12.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
27
41
  description: Packages and applies a Puppet project to a remote host.
28
42
  email: evanh@catalyst.net.nz
29
43
  executables: