Puppet Class: minio::config

Defined in:
manifests/config.pp

Overview

Class: minio::config

Applies configuration for ‘::minio` class to system.

Parameters


  • ‘configuration`

INI style settings for configuring Minio.

  • ‘owner`

The user owning minio and its’ files. Default: ‘minio’

  • ‘group`

The group owning minio and its’ files. Default: ‘minio’

  • ‘configuration_directory`

Directory holding Minio configuration file. Default: ‘/etc/minio’

  • ‘installation_directory`

Target directory to hold the minio installation. Default: ‘/opt/minio’

  • ‘storage_root`

Directory where minio will keep all data. Default: ‘/var/minio’

  • ‘log_directory`

Log directory for minio. Default: ‘/var/log/minio’

Authors


Daniel S. Reichenbach <daniel@kogitoapp.com>

Copyright


Copyright 2017 Daniel S. Reichenbach <kogitoapp.com>

Parameters:

  • configuration (Any) (defaults to: $minio::configuration)
  • owner (Any) (defaults to: $minio::owner)
  • group (Any) (defaults to: $minio::group)
  • configuration_directory (Any) (defaults to: $minio::configuration_directory)
  • installation_directory (Any) (defaults to: $minio::installation_directory)
  • storage_root (Any) (defaults to: $minio::storage_root)
  • log_directory (Any) (defaults to: $minio::log_directory)


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'manifests/config.pp', line 40

class minio::config (
  $configuration           = $minio::configuration,
  $owner                   = $minio::owner,
  $group                   = $minio::group,
  $configuration_directory = $minio::configuration_directory,
  $installation_directory  = $minio::installation_directory,
  $storage_root            = $minio::storage_root,
  $log_directory           = $minio::log_directory,
  ) {

  $default_configuration = {
    'version' => '19',
    'credential' => {
      'accessKey' => 'admin',
      'secretKey' => 'password',
    },
    'region' => 'us-east-1',
    'browser' => 'on',
    'logger' => {
      'console' => {
        'enable' => true,
      },
      'file' => {
        'enable' => true,
        'filename' => "${log_directory}/minio.log",
      },
    },
    'notify' => {
      'amqp' => {},
      'mqtt' => {},
      'nats' => {},
      'elasticsearch' => {},
      'redis' => {},
      'postgresql' => {},
      'kafka' => {},
      'webhook' => {},
      'mysql' => {},
    },
  }

  $resulting_configuration = to_sorted_json(deep_merge($default_configuration, $configuration))

  file { "${configuration_directory}/config.json":
    content => $resulting_configuration,
    owner   => $owner,
    group   => $group,
    mode    => '0644',
  }

}