Puppet Class: bareos::client::client

Defined in:
manifests/client/client.pp

Overview

Class: bareos::client::client

The Client Resource (or FileDaemon) resource defines the name of the Client (as used by the Director) as well as the port on which the Client listens for Director connections.

Parameters

ensure

present or absent the config file.

absolute_job_timeout

Absolute Job Timeout

Bareos Datatype: pint32 Bareos Default: Not set Required: false

allow_bandwidth_bursting

Allow Bandwidth Bursting

Bareos Datatype: boolean Bareos Default: false Required: false

allowed_job_command

Allowed Job Command

May be specified as Array. Bareos Datatype: string_list Bareos Default: Not set Required: false

allowed_script_dir

Allowed Script Dir

May be specified as Array. Bareos Datatype: directory_list Bareos Default: Not set Required: false

always_use_lmdb

Always Use Lmdb

Bareos Datatype: boolean Bareos Default: false Required: false

compatible

Compatible

Bareos Datatype: boolean Bareos Default: false Required: false

description

Description

Bareos Datatype: string Bareos Default: Not set Required: false

fd_address

Fd Address

Bareos Datatype: address Bareos Default: 9102 Required: false

fd_addresses

Fd Addresses

Bareos Datatype: addresses Bareos Default: 9102 Required: false

fd_port

Fd Port

Bareos Datatype: port Bareos Default: 9102 Required: false

fd_source_address

Fd Source Address

Bareos Datatype: address Bareos Default: 0 Required: false

heartbeat_interval

Heartbeat Interval

Bareos Datatype: time Bareos Default: 0 Required: false

lmdb_threshold

Lmdb Threshold

Bareos Datatype: pint32 Bareos Default: Not set Required: false

log_timestamp_format

Log Timestamp Format

Bareos Datatype: string Bareos Default: Not set Required: false

maximum_bandwidth_per_job

Maximum Bandwidth Per Job

Bareos Datatype: speed Bareos Default: Not set Required: false

maximum_concurrent_jobs

Maximum Concurrent Jobs

Bareos Datatype: pint32 Bareos Default: 20 Required: false

maximum_connections

Maximum Connections

Bareos Datatype: pint32 Bareos Default: 42 Required: false

maximum_network_buffer_size

Maximum Network Buffer Size

Bareos Datatype: pint32 Bareos Default: Not set Required: false

messages

Messages

Bareos Datatype: res Bareos Default: Not set Required: false

name_client

Name of this client. Note: name is usually reserved by puppet for resource titles, since this is an class and not and define use name_client.

Bareos Datatype: name Bareos Default: Not set Required: true

pid_directory

Pid Directory

Bareos Datatype: directory Bareos Default: /var/lib/bareos Required: false

pki_cipher

Pki Cipher

Bareos Datatype: encryption_cipher Bareos Default: aes128 Required: false

pki_encryption

Pki Encryption

Bareos Datatype: boolean Bareos Default: false Required: false

pki_key_pair

Pki Key Pair

Bareos Datatype: directory Bareos Default: Not set Required: false

pki_master_key

Pki Master Key

May be specified as Array. Bareos Datatype: directory_list Bareos Default: Not set Required: false

pki_signatures

Pki Signatures

Bareos Datatype: boolean Bareos Default: false Required: false

pki_signer

Pki Signer

May be specified as Array. Bareos Datatype: directory_list Bareos Default: Not set Required: false

plugin_directory

Plugin Directory

Bareos Datatype: directory Bareos Default: Not set Required: false

plugin_names

Plugin Names

Bareos Datatype: plugin_names Bareos Default: Not set Required: false

scripts_directory

Scripts Directory

Bareos Datatype: directory Bareos Default: Not set Required: false

sd_connect_timeout

Sd Connect Timeout

Bareos Datatype: time Bareos Default: 1800 Required: false

secure_erase_command

Secure Erase Command: Specify command that will be called when bareos unlinks files.

Bareos Datatype: string Bareos Default: Not set Required: false

tls_allowed_cn

Tls Allowed Cn: “Common Name”s (CNs) of the allowed peer certificates.

May be specified as Array. Bareos Datatype: string_list Bareos Default: Not set Required: false

tls_authenticate

Tls Authenticate: Use TLS only to authenticate, not for encryption.

Bareos Datatype: boolean Bareos Default: false Required: false

tls_ca_certificate_dir

Tls Ca Certificate Dir: Path of a TLS CA certificate directory.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_ca_certificate_file

Tls Ca Certificate File: Path of a PEM encoded TLS CA certificate(s) file.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_certificate

Tls Certificate: Path of a PEM encoded TLS certificate.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_certificate_revocation_list

Tls Certificate Revocation List: Path of a Certificate Revocation List file.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_cipher_list

Tls Cipher List: List of valid TLS Ciphers.

Bareos Datatype: string Bareos Default: Not set Required: false

tls_dh_file

Tls Dh File: Path to PEM encoded Diffie-Hellman parameter file. If this directive is specified, DH key exchange will be used for the ephemeral keying, allowing for forward secrecy of communications.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_enable

Tls Enable: Enable TLS support.

Bareos Datatype: boolean Bareos Default: false Required: false

tls_key

Tls Key: Path of a PEM encoded private key. It must correspond to the specified “TLS Certificate”.

Bareos Datatype: directory Bareos Default: Not set Required: false

tls_require

Tls Require: Without setting this to yes, Bareos can fall back to use unencryption connections. Enabling this implicietly sets “TLS Enable = yes”.

Bareos Datatype: boolean Bareos Default: false Required: false

tls_verify_peer

Tls Verify Peer: If disabled, all certificates signed by a known CA will be accepted. If enabled, the CN of a certificate must the Address or in the “TLS Allowed CN” list.

Bareos Datatype: boolean Bareos Default: true Required: false

ver_id

Ver Id

Bareos Datatype: string Bareos Default: Not set Required: false

working_directory

Working Directory

Bareos Datatype: directory Bareos Default: /var/lib/bareos Required: false

Parameters:

  • ensure (Any) (defaults to: present)
  • absolute_job_timeout (Any) (defaults to: undef)
  • allow_bandwidth_bursting (Any) (defaults to: undef)
  • allowed_job_command (Any) (defaults to: undef)
  • allowed_script_dir (Any) (defaults to: undef)
  • always_use_lmdb (Any) (defaults to: undef)
  • compatible (Any) (defaults to: undef)
  • description (Any) (defaults to: undef)
  • fd_address (Any) (defaults to: undef)
  • fd_addresses (Any) (defaults to: undef)
  • fd_port (Any) (defaults to: undef)
  • fd_source_address (Any) (defaults to: undef)
  • heartbeat_interval (Any) (defaults to: undef)
  • lmdb_threshold (Any) (defaults to: undef)
  • log_timestamp_format (Any) (defaults to: undef)
  • maximum_bandwidth_per_job (Any) (defaults to: undef)
  • maximum_concurrent_jobs (Any) (defaults to: undef)
  • maximum_connections (Any) (defaults to: undef)
  • maximum_network_buffer_size (Any) (defaults to: undef)
  • messages (Any) (defaults to: undef)
  • name_client (Any) (defaults to: 'bareos-fd')
  • pid_directory (Any) (defaults to: undef)
  • pki_cipher (Any) (defaults to: undef)
  • pki_encryption (Any) (defaults to: undef)
  • pki_key_pair (Any) (defaults to: undef)
  • pki_master_key (Any) (defaults to: undef)
  • pki_signatures (Any) (defaults to: undef)
  • pki_signer (Any) (defaults to: undef)
  • plugin_directory (Any) (defaults to: undef)
  • plugin_names (Any) (defaults to: undef)
  • scripts_directory (Any) (defaults to: undef)
  • sd_connect_timeout (Any) (defaults to: undef)
  • secure_erase_command (Any) (defaults to: undef)
  • tls_allowed_cn (Any) (defaults to: undef)
  • tls_authenticate (Any) (defaults to: undef)
  • tls_ca_certificate_dir (Any) (defaults to: undef)
  • tls_ca_certificate_file (Any) (defaults to: undef)
  • tls_certificate (Any) (defaults to: undef)
  • tls_certificate_revocation_list (Any) (defaults to: undef)
  • tls_cipher_list (Any) (defaults to: undef)
  • tls_dh_file (Any) (defaults to: undef)
  • tls_enable (Any) (defaults to: undef)
  • tls_key (Any) (defaults to: undef)
  • tls_require (Any) (defaults to: undef)
  • tls_verify_peer (Any) (defaults to: undef)
  • ver_id (Any) (defaults to: undef)
  • working_directory (Any) (defaults to: undef)


337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
# File 'manifests/client/client.pp', line 337

class bareos::client::client (
  $ensure = present,
  $absolute_job_timeout = undef,
  $allow_bandwidth_bursting = undef,
  $allowed_job_command = undef,
  $allowed_script_dir = undef,
  $always_use_lmdb = undef,
  $compatible = undef,
  $description = undef,
  $fd_address = undef,
  $fd_addresses = undef,
  $fd_port = undef,
  $fd_source_address = undef,
  $heartbeat_interval = undef,
  $lmdb_threshold = undef,
  $log_timestamp_format = undef,
  $maximum_bandwidth_per_job = undef,
  $maximum_concurrent_jobs = undef,
  $maximum_connections = undef,
  $maximum_network_buffer_size = undef,
  $messages = undef,
  $name_client = 'bareos-fd',
  $pid_directory = undef,
  $pki_cipher = undef,
  $pki_encryption = undef,
  $pki_key_pair = undef,
  $pki_master_key = undef,
  $pki_signatures = undef,
  $pki_signer = undef,
  $plugin_directory = undef,
  $plugin_names = undef,
  $scripts_directory = undef,
  $sd_connect_timeout = undef,
  $secure_erase_command = undef,
  $tls_allowed_cn = undef,
  $tls_authenticate = undef,
  $tls_ca_certificate_dir = undef,
  $tls_ca_certificate_file = undef,
  $tls_certificate = undef,
  $tls_certificate_revocation_list = undef,
  $tls_cipher_list = undef,
  $tls_dh_file = undef,
  $tls_enable = undef,
  $tls_key = undef,
  $tls_require = undef,
  $tls_verify_peer = undef,
  $ver_id = undef,
  $working_directory = undef,
) {
  include ::bareos::client

  $_resource = 'Client'
  $_resource_dir = 'client'

  unless $ensure in [ 'present', 'absent' ] {
    fail('Invalid value for ensure')
  }

  if $ensure == 'present' {
    $_require_res_messages = $messages ? { undef => undef, default => Bareos::Client::Messages[$messages] }

    $_require_resource = delete_undef_values([
      $_require_res_messages,
    ])

    $_settings = bareos_settings(
      [$name_client, 'Name', 'name', true],
      [$description, 'Description', 'string', false],
      [$absolute_job_timeout, 'Absolute Job Timeout', 'pint32', false],
      [$allow_bandwidth_bursting, 'Allow Bandwidth Bursting', 'boolean', false],
      [$allowed_job_command, 'Allowed Job Command', 'string_list', false],
      [$allowed_script_dir, 'Allowed Script Dir', 'directory_list', false],
      [$always_use_lmdb, 'Always Use Lmdb', 'boolean', false],
      [$compatible, 'Compatible', 'boolean', false],
      [$fd_address, 'Fd Address', 'address', false],
      [$fd_addresses, 'Fd Addresses', 'addresses', false],
      [$fd_port, 'Fd Port', 'port', false],
      [$fd_source_address, 'Fd Source Address', 'address', false],
      [$heartbeat_interval, 'Heartbeat Interval', 'time', false],
      [$lmdb_threshold, 'Lmdb Threshold', 'pint32', false],
      [$log_timestamp_format, 'Log Timestamp Format', 'string', false],
      [$maximum_bandwidth_per_job, 'Maximum Bandwidth Per Job', 'speed', false],
      [$maximum_concurrent_jobs, 'Maximum Concurrent Jobs', 'pint32', false],
      [$maximum_connections, 'Maximum Connections', 'pint32', false],
      [$maximum_network_buffer_size, 'Maximum Network Buffer Size', 'pint32', false],
      [$messages, 'Messages', 'res', false],
      [$pid_directory, 'Pid Directory', 'directory', false],
      [$pki_cipher, 'Pki Cipher', 'encryption_cipher', false],
      [$pki_encryption, 'Pki Encryption', 'boolean', false],
      [$pki_key_pair, 'Pki Key Pair', 'directory', false],
      [$pki_master_key, 'Pki Master Key', 'directory_list', false],
      [$pki_signatures, 'Pki Signatures', 'boolean', false],
      [$pki_signer, 'Pki Signer', 'directory_list', false],
      [$plugin_directory, 'Plugin Directory', 'directory', false],
      [$plugin_names, 'Plugin Names', 'plugin_names', false],
      [$scripts_directory, 'Scripts Directory', 'directory', false],
      [$sd_connect_timeout, 'Sd Connect Timeout', 'time', false],
      [$secure_erase_command, 'Secure Erase Command', 'string', false],
      [$tls_allowed_cn, 'Tls Allowed Cn', 'string_list', false],
      [$tls_authenticate, 'Tls Authenticate', 'boolean', false],
      [$tls_ca_certificate_dir, 'Tls Ca Certificate Dir', 'directory', false],
      [$tls_ca_certificate_file, 'Tls Ca Certificate File', 'directory', false],
      [$tls_certificate, 'Tls Certificate', 'directory', false],
      [$tls_certificate_revocation_list, 'Tls Certificate Revocation List', 'directory', false],
      [$tls_cipher_list, 'Tls Cipher List', 'string', false],
      [$tls_dh_file, 'Tls Dh File', 'directory', false],
      [$tls_enable, 'Tls Enable', 'boolean', false],
      [$tls_key, 'Tls Key', 'directory', false],
      [$tls_require, 'Tls Require', 'boolean', false],
      [$tls_verify_peer, 'Tls Verify Peer', 'boolean', false],
      [$ver_id, 'Ver Id', 'string', false],
      [$working_directory, 'Working Directory', 'directory', false]
    )
  } else {
    $_require_res_messages = undef
  }

  file { "${::bareos::client::config_dir}/${_resource_dir}/${name_client}.conf":
    ensure  => $ensure,
    mode    => $::bareos::file_mode,
    owner   => $::bareos::file_owner,
    group   => $::bareos::file_group,
    content => template('bareos/resource.erb'),
    notify  => Service[$::bareos::client::service_name],
    require => $_require_res_messages,
  }
}