minio
: Manages a Minio installation on various Linux/BSD operating systems.minio::client
: Manages a Minio client (mc) on various Linux/BSD operating systems.minio::client::config
: Manages a Minio client (mc) configuration various Linux/BSD operating systems.minio::client::install
: Manages a Minio client (mc) installation various Linux/BSD operating systems.minio::server
: Manages a Minio server installation on various Linux/BSD operating systems.minio::server::certs
: Manages minio certificate deployment.minio::server::config
: Applies configuration for::minio::server
class to system.minio::server::install
: Installs minio server and required service definitions.minio::server::service
: Manages services for the::minio::server
class.minio::server::user
: Manages user for the minio server installations.
minio_client_alias
: Manages minio client aliases
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class { 'minio':
package_ensure => 'present',
owner => 'minio',
group => 'minio',
base_url => 'https://dl.minio.io/server/minio/release',
version => 'RELEASE.2021-08-20T18-32-01Z',
checksum => '0bf72d6fd0a88fee35ac598a1e7a5c90c78b53b6db3988414e34535fb6cf420c',
checksum_type => 'sha256',
configuration_directory => '/etc/minio',
installation_directory => '/opt/minio',
storage_root => '/var/minio',
listen_ip => '127.0.0.1',
listen_port => 9000,
configuration => {
'MINIO_ROOT_USER' => 'admin',
'MINIO_ROOT_PASSWORD' => 'password',
'MINIO_REGION_NAME' => 'us-east-1',
},
manage_service => true,
service_template => 'minio/systemd.erb',
service_provider => 'systemd',
service_ensure => 'running',
manage_server_installation => true,
manage_client_installation => true,
client_package_ensure => 'present',
client_base_url => 'https://dl.minio.io/client/mc/release',
client_version => 'RELEASE.2021-07-27T06-46-19Z',
client_checksum => '0df81285771e12e16a0c4c2f5e0ebc700e66abb8179013cc740d48b0abad49be',
client_checksum_type => 'sha256',
client_installation_directory => '/opt/minioclient',
cert_ensure => 'present',
cert_directory => '/etc/minio/certs',
default_cert_name => 'miniodefault',
default_cert_configuration => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'localhost',
'source_key_name' => 'localhost',
},
additional_certs => {
'example' => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'example.test',
'source_key_name' => 'example.test',
}
},
custom_configuration_file_path => '/etc/default/minio',
}
The following parameters are available in the minio
class:
package_ensure
manage_user
manage_group
manage_home
owner
group
home
base_url
version
checksum
checksum_type
configuration_directory
installation_directory
storage_root
listen_ip
listen_port
configuration
manage_service
service_ensure
service_template
service_provider
manage_server_installation
manage_client_installation
client_package_ensure
client_base_url
client_version
client_checksum
client_checksum_type
client_installation_directory
client_binary_name
client_aliases
purge_unmanaged_client_aliases
cert_ensure
cert_directory
default_cert_name
default_cert_configuration
additional_certs
custom_configuration_file_path
Data type: Enum['present', 'absent']
Decides if the minio
binary will be installed. Default: present
Data type: Boolean
Should we manage provisioning the user? Default: true
Data type: Boolean
Should we manage provisioning the group? Default: true
Data type: Boolean
Should we manage provisioning the home directory? Default: true
Data type: String
The user owning minio and its' files. Default: 'minio'
Data type: String
The group owning minio and its' files. Default: 'minio'
Data type: Optional[Stdlib::Absolutepath]
Qualified path to the users' home directory. Default: empty
Data type: Stdlib::HTTPUrl
Download base URL for the server. Default: Github. Can be used for local mirrors.
Data type: String
Server release version to be installed.
Data type: String
Checksum for the server binary.
Data type: String
Type of checksum used to verify the server binary being installed. Default: sha256
Data type: Stdlib::Absolutepath
Directory holding Minio configuration file. Default: /etc/minio
Data type: Stdlib::Absolutepath
Target directory to hold the minio installation. Default: /opt/minio
Data type: Variant[Stdlib::Absolutepath, Array[Stdlib::Absolutepath]]
Directory or directories where minio will keep all data. Default: /var/minio
Data type: Stdlib::IP::Address
IP address on which Minio should listen to requests.
Data type: Stdlib::Port
Port on which Minio should listen to requests.
Data type: Hash[String[1], Variant[String, Integer]]
Hash with environment settings for Minio.
Data type: Boolean
Should we manage a server service definition for Minio? Default: true
Data type: Stdlib::Ensure::Service
Defines the state of the minio server service. Default: running
Data type: String
Path to the server service template file.
Data type: String
Which service provider do we use?
Data type: Boolean
Decides if puppet should manage the minio server installation.
Data type: Boolean
Decides if puppet should manage the minio client installation.
Data type: Enum['present', 'absent']
Decides if the mc
client binary will be installed. Default: present
Data type: Stdlib::HTTPUrl
Download base URL for the minio client. Default: Github. Can be used for local mirrors.
Data type: String
Client release version to be installed.
Data type: String
Checksum for the client binary.
Data type: String
Type of checksum used to verify the client binary being installed. Default: sha256
Data type: Stdlib::Absolutepath
Target directory to hold the minio client installation. Default: /opt/minioclient
Data type: String
Target name of the minio client binary. Use this to avoid collisions with another mc
.
Data type: Hash
List of aliases to add to the minio client configuration. For parameter description see minio_client_alias
.
Data type: Boolean
Decides if puppet should purge unmanaged minio client aliases
Data type: Enum['present', 'absent']
Decides if minio certificates binary will be installed.
Data type: Stdlib::Absolutepath
Directory where minio will keep all cerfiticates.
Data type: Optional[String[1]]
Name of the default certificate. If no value provided, miniodefault
is going
to be used.
Data type: Optional[Hash]
Hash with the configuration for the default certificate. See certs::site
of the broadinstitute/certs
module for parameter descriptions.
Data type: Optional[Hash]
Hash of the additional certificates to deploy. The key is a directory name, value is
a hash of certificate configuration. See certs::site
of the broadinstitute/certs
module for parameter descriptions. Important: if you use additional certificates,
their corresponding SAN names should be filled for SNI to work.
Data type: Optional[Stdlib::Absolutepath]
Optional custom location of the minio environment file.
Manages a Minio client (mc) on various Linux/BSD operating systems.
class { 'minio::client':
manage_client_installation => true,
package_ensure => 'present',
base_url => 'https://dl.minio.io/client/mc/release',
version => 'RELEASE.2021-07-27T06-46-19Z',
checksum => '0df81285771e12e16a0c4c2f5e0ebc700e66abb8179013cc740d48b0abad49be',
checksum_type => 'sha256',
installation_directory => '/usr/local/bin',
binary_name => 'minio-client',
aliases => {
'default' => {
'ensure' => 'present',
'endpoint' => 'http://localhost:9000',
'access_key' => 'admin',
'secret_key' => Sensitive('password'), # can also be a string
'api_signature' => 'S3v4', # optional
'path_lookup_support' => 'on', # optional
}
},
purge_unmanaged_aliases => true
}
The following parameters are available in the minio::client
class:
manage_client_installation
package_ensure
base_url
version
checksum
checksum_type
installation_directory
aliases
purge_unmanaged_aliases
binary_name
Data type: Boolean
Decides if puppet should manage the minio client installation.
Default value: $minio::manage_client_installation
Data type: Enum['present', 'absent']
Decides if the mc
client binary will be installed. Default: present
Default value: $minio::client_package_ensure
Data type: Stdlib::HTTPUrl
Download base URL for the minio client. Default: Github. Can be used for local mirrors.
Default value: $minio::client_base_url
Data type: String
Client release version to be installed.
Default value: $minio::client_version
Data type: String
Checksum for the client binary.
Default value: $minio::client_checksum
Data type: String
Type of checksum used to verify the client binary being installed. Default: sha256
Default value: $minio::client_checksum_type
Data type: Stdlib::Absolutepath
Target directory to hold the minio client installation. Default: /opt/minioclient
Default value: $minio::client_installation_directory
Data type: Hash
List of aliases to add to the minio client configuration. For parameter description see minio_client_alias
.
Default value: $minio::client_aliases
Data type: Boolean
Decides if puppet should purge unmanaged minio client aliases
Default value: $minio::purge_unmanaged_client_aliases
Data type: String
Default value: $minio::client_binary_name
Manages a Minio client (mc) configuration various Linux/BSD operating systems.
class { 'minio::client::config':
aliases => {
'default' => {
'ensure' => 'present',
'endpoint' => 'http://localhost:9000',
'access_key' => 'admin',
'secret_key' => Sensitive('password'), # can also be a string
'api_signature' => 'S3v4', # optional
'path_lookup_support' =>'on', # optional
}
},
purge_unmanaged_aliases => true
}
The following parameters are available in the minio::client::config
class:
Data type: Hash
List of aliases to add to the minio client configuration. For parameter description see minio_client_alias
.
Default value: $minio::client::aliases
Data type: Boolean
Decides if puppet should purge unmanaged minio client aliases
Default value: $minio::client::purge_unmanaged_aliases
Manages a Minio client (mc) installation various Linux/BSD operating systems.
class { 'minio::client::install':
package_ensure => 'present',
base_url => 'https://dl.minio.io/client/mc/release',
version => 'RELEASE.2021-07-27T06-46-19Z',
checksum => '0df81285771e12e16a0c4c2f5e0ebc700e66abb8179013cc740d48b0abad49be',
checksum_type => 'sha256',
installation_directory => '/usr/local/bin',
binary_name => 'minio-client'
}
The following parameters are available in the minio::client::install
class:
Data type: Enum['present', 'absent']
Decides if the mc
client binary will be installed. Default: present
Default value: $minio::client::package_ensure
Data type: Stdlib::HTTPUrl
Download base URL for the minio client. Default: Github. Can be used for local mirrors.
Default value: $minio::client::base_url
Data type: String
Client release version to be installed.
Default value: $minio::client::version
Data type: String
Checksum for the client binary.
Default value: $minio::client::checksum
Data type: String
Type of checksum used to verify the client binary being installed. Default: sha256
Default value: $minio::client::checksum_type
Data type: Stdlib::Absolutepath
Target directory to hold the minio client installation. Default: /opt/minioclient
Default value: $minio::client::installation_directory
Data type: String
Default value: $minio::client::binary_name
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class { 'minio::server':
manage_server_installation => true,
package_ensure => 'present',
owner => 'minio',
group => 'minio',
base_url => 'https://dl.minio.io/server/minio/release',
version => 'RELEASE.2021-08-20T18-32-01Z',
checksum => '0bf72d6fd0a88fee35ac598a1e7a5c90c78b53b6db3988414e34535fb6cf420c',
checksum_type => 'sha256',
configuration_directory => '/etc/minio',
installation_directory => '/opt/minio',
storage_root => '/var/minio', # Could also be an array
listen_ip => '127.0.0.1',
listen_port => 9000,
configuration => {
'MINIO_ROOT_USER' => 'admin',
'MINIO_ROOT_PASSWORD' => 'password',
'MINIO_REGION_NAME' => 'us-east-1',
},
manage_service => true,
service_template => 'minio/systemd.erb',
service_provider => 'systemd',
service_ensure => 'running',
cert_ensure => 'present',
cert_directory => '/etc/minio/certs',
default_cert_name => 'miniodefault',
default_cert_configuration => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'localhost',
'source_key_name' => 'localhost',
},
additional_certs => {
'example' => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'example.test',
'source_key_name' => 'example.test',
}
},
custom_configuration_file_path => '/etc/default/minio',
}
The following parameters are available in the minio::server
class:
manage_server_installation
package_ensure
manage_user
manage_group
manage_home
owner
group
base_url
home
base_url
version
checksum
checksum_type
configuration_directory
installation_directory
storage_root
listen_ip
listen_port
configuration
manage_service
service_ensure
service_template
service_provider
cert_ensure
cert_directory
default_cert_name
default_cert_configuration
additional_certs
custom_configuration_file_path
Data type: Boolean
Decides if puppet should manage the minio server installation.
Default value: $minio::manage_server_installation
Data type: Enum['present', 'absent']
Decides if the minio
binary will be installed. Default: present
Default value: $minio::package_ensure
Data type: Boolean
Should we manage provisioning the user? Default: true
Default value: $minio::manage_user
Data type: Boolean
Should we manage provisioning the group? Default: true
Default value: $minio::manage_group
Data type: Boolean
Should we manage provisioning the home directory? Default: true
Default value: $minio::manage_home
Data type: String
The user owning minio and its' files. Default: 'minio'
Default value: $minio::owner
Data type: String
The group owning minio and its' files. Default: 'minio'
Default value: $minio::group
Data type: Stdlib::HTTPUrl
Download base URL for the server. Can be used for local mirrors.
Default value: $minio::base_url
Data type: Optional[Stdlib::Absolutepath]
Qualified path to the users' home directory. Default: empty
Default value: $minio::home
Data type: Stdlib::HTTPUrl
Download base URL for the server. Default: Github. Can be used for local mirrors.
Default value: $minio::base_url
Data type: String
Release version to be installed.
Default value: $minio::version
Data type: String
Checksum for the binary.
Default value: $minio::checksum
Data type: String
Type of checksum used to verify the binary being installed. Default: sha256
Default value: $minio::checksum_type
Data type: Stdlib::Absolutepath
Directory holding Minio configuration file. Default: /etc/minio
Default value: $minio::configuration_directory
Data type: Stdlib::Absolutepath
Target directory to hold the minio installation. Default: /opt/minio
Default value: $minio::installation_directory
Data type: Variant[Stdlib::Absolutepath, Array[Stdlib::Absolutepath]]
Directory or directories where minio will keep all data. Default: /var/minio
Default value: $minio::storage_root
Data type: Stdlib::IP::Address
IP address on which Minio should listen to requests.
Default value: $minio::listen_ip
Data type: Stdlib::Port
Port on which Minio should listen to requests.
Default value: $minio::listen_port
Data type: Hash[String[1], Variant[String, Integer]]
Hash with environment settings for Minio.
Default value: $minio::configuration
Data type: Boolean
Should we manage a server service definition for Minio? Default: true
Default value: $minio::manage_service
Data type: Stdlib::Ensure::Service
Defines the state of the minio server service. Default: running
Default value: $minio::service_ensure
Data type: String
Path to the server service template file.
Default value: $minio::service_template
Data type: String
Which service provider do we use?
Default value: $minio::service_provider
Data type: Enum['present', 'absent']
Decides if minio certificates binary will be installed.
Default value: $minio::cert_ensure
Data type: Stdlib::Absolutepath
Directory where minio will keep all cerfiticates.
Default value: $minio::cert_directory
Data type: Optional[String[1]]
Name of the default certificate. If no value provided, miniodefault
is going
to be used.
Default value: $minio::default_cert_name
Data type: Optional[Hash]
Hash with the configuration for the default certificate. See certs::site
of the broadinstitute/certs
module for parameter descriptions.
Default value: $minio::default_cert_configuration
Data type: Optional[Hash]
Hash of the additional certificates to deploy. The key is a directory name, value is
a hash of certificate configuration. See certs::site
of the broadinstitute/certs
module for parameter descriptions. Important: if you use additional certificates,
their corresponding SAN names should be filled for SNI to work.
Default value: $minio::additional_certs
Data type: Optional[Stdlib::Absolutepath]
Optional custom location of the minio environment file.
Default value: $minio::custom_configuration_file_path
Manages minio certificate deployment.
class {'minio::server::certs':
cert_ensure => 'present',
owner => 'minio',
group => 'minio',
cert_directory => '/etc/minio/certs',
default_cert_name => 'miniodefault',
default_cert_configuration => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'localhost',
'source_key_name' => 'localhost',
},
additional_certs => {
'example' => {
'source_path' => 'puppet:///modules/minio/examples',
'source_cert_name' => 'example.test',
'source_key_name' => 'example.test',
}
}
}
The following parameters are available in the minio::server::certs
class:
cert_ensure
owner
group
cert_directory
default_cert_name
default_cert_configuration
additional_certs
Data type: Enum['present', 'absent']
Decides if minio certificates binary will be installed.
Default value: $minio::server::cert_ensure
Data type: String
The user owning minio cerfificates.
Default value: $minio::server::owner
Data type: String
The group owning minio certificates.
Default value: $minio::server::group
Data type: Stdlib::Absolutepath
Directory where minio will keep all cerfiticates.
Default value: $minio::server::cert_directory
Data type: Optional[String[1]]
Name of the default certificate. If no value provided, miniodefault
is going
to be used.
Default value: $minio::server::default_cert_name
Data type: Optional[Hash]
Hash with the configuration for the default certificate. See certs::site
of the broadinstitute/certs
module for parameter descriptions.
Default value: $minio::server::default_cert_configuration
Data type: Optional[Hash]
Hash of the additional certificates to deploy. The key is a directory name, value is
a hash of certificate configuration. See certs::site
of the broadinstitute/certs
module for parameter descriptions. Important: if you use additional certificates,
their corresponding SAN names should be filled for SNI to work.
Default value: $minio::server::additional_certs
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class { 'minio::server::config':
owner => 'minio',
group => 'minio',
configuration_directory => '/etc/minio',
installation_directory => '/opt/minio',
storage_root => '/var/minio',
configuration => {
'MINIO_ROOT_USER' => 'admin',
'MINIO_ROOT_PASSWORD' => 'password',
'MINIO_REGION_NAME' => 'us-east-1',
},
custom_configuration_file_path => '/etc/default/minio',
}
The following parameters are available in the minio::server::config
class:
owner
group
configuration_directory
installation_directory
storage_root
configuration
custom_configuration_file_path
Data type: String
The user owning minio and its' files.
Default value: $minio::server::owner
Data type: String
The group owning minio and its' files.
Default value: $minio::server::group
Data type: Stdlib::Absolutepath
Directory holding Minio configuration file./minio`
Default value: $minio::server::configuration_directory
Data type: Stdlib::Absolutepath
Target directory to hold the minio installation./minio`
Default value: $minio::server::installation_directory
Data type: Variant[Stdlib::Absolutepath, Array[Stdlib::Absolutepath]]
Directory or directories where minio will keep all data.
Default value: $minio::server::storage_root
Data type: Hash[String[1], Variant[String, Integer]]
Hash with environment settings for Minio.
Default value: $minio::server::configuration
Data type: Optional[Stdlib::Absolutepath]
Optional custom location of the minio environment file.
Default value: $minio::server::custom_configuration_file_path
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class { 'minio::server::install':
package_ensure => 'present',
owner => 'minio',
group => 'minio',
base_url => 'https://dl.minio.io/server/minio/release',
version => 'RELEASE.2021-08-20T18-32-01Z',
checksum => '0bf72d6fd0a88fee35ac598a1e7a5c90c78b53b6db3988414e34535fb6cf420c',
checksum_type => 'sha256',
configuration_directory => '/etc/minio',
installation_directory => '/opt/minio',
storage_root => '/var/minio',
listen_ip => '127.0.0.1',
listen_port => 9000,
manage_service => true,
service_template => 'minio/systemd.erb',
service_provider => 'systemd',
cert_directory => '/etc/minio/certs',
custom_configuration_file_path => '/etc/default/minio',
}
The following parameters are available in the minio::server::install
class:
package_ensure
owner
group
base_url
version
checksum
checksum_type
configuration_directory
installation_directory
storage_root
listen_ip
listen_port
manage_service
service_template
service_provider
cert_directory
custom_configuration_file_path
Data type: Enum['present', 'absent']
Decides if the minio
binary will be installed.
Default value: $minio::server::package_ensure
Data type: String
The user owning minio and its' files.
Default value: $minio::server::owner
Data type: String
The group owning minio and its' files.
Default value: $minio::server::group
Data type: Stdlib::HTTPUrl
Download base URL for the server. Can be used for local mirrors.
Default value: $minio::server::base_url
Data type: String
Release version to be installed.
Default value: $minio::server::version
Data type: String
Checksum for the binary.
Default value: $minio::server::checksum
Data type: String
Type of checksum used to verify the binary being installed.
Default value: $minio::server::checksum_type
Data type: Stdlib::Absolutepath
Directory holding Minio configuration file./minio`
Default value: $minio::server::configuration_directory
Data type: Stdlib::Absolutepath
Target directory to hold the minio installation./minio`
Default value: $minio::server::installation_directory
Data type: Variant[Stdlib::Absolutepath, Array[Stdlib::Absolutepath]]
Directory or directories where minio will keep all data.
Default value: $minio::server::storage_root
Data type: Stdlib::IP::Address
IP address on which Minio should listen to requests.
Default value: $minio::server::listen_ip
Data type: Stdlib::Port
Port on which Minio should listen to requests.
Default value: $minio::server::listen_port
Data type: Boolean
Should we manage a server service definition for Minio?
Default value: $minio::server::manage_service
Data type: String
Path to the server service template file.
Default value: $minio::server::service_template
Data type: String
Which service provider do we use?
Default value: $minio::server::service_provider
Data type: Stdlib::Absolutepath
Directory where minio will keep all cerfiticates.
Default value: $minio::server::cert_directory
Data type: Optional[Stdlib::Absolutepath]
Optional custom location of the minio environment file.
Default value: $minio::server::custom_configuration_file_path
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class { 'minio::server::service':
manage_service => true,
service_provider => 'systemd',
service_ensure => 'running',
}
The following parameters are available in the minio::server::service
class:
Data type: Boolean
Should we manage a server service definition for Minio?
Default value: $minio::server::manage_service
Data type: Stdlib::Ensure::Service
Defines the state of the minio server service.
Default value: $minio::server::service_ensure
Data type: String
Which service provider do we use?
Default value: $minio::server::service_provider
Copyright 2017-2021 Daniel S. Reichenbach https://kogitoapp.com
class {'minio::server::user':
manage_user => true,
manage_group => true,
manage_home => true,
owner => 'minio',
group => 'minio',
home => '/home/minio'
}
The following parameters are available in the minio::server::user
class:
Data type: Boolean
Should we manage provisioning the user?
Default value: $minio::server::manage_user
Data type: Boolean
Should we manage provisioning the group?
Default value: $minio::server::manage_group
Data type: Boolean
Should we manage provisioning the home directory?
Default value: $minio::server::manage_home
Data type: String
The user owning minio and its' files.
Default value: $minio::server::owner
Data type: String
The group owning minio and its' files.
Default value: $minio::server::group
Data type: Optional[Stdlib::Absolutepath]
Qualified path to the users' home directory.
Default value: $minio::server::home
Autorequires:
File[/root/.minioclient]
minio_client_alias { 'localminio':
ensure => 'present',
endpoint => 'http://localhost:9000',
access_key => 'admin',
secret_key => 'password',
api_signature => 'S3v4',
path_lookup_support =>'on',
}
minio_client_alias { 'default':
ensure => 'present',
endpoint => 'http://localhost:9000',
access_key => 'admin',
secret_key => Sensitive('password'),
}
The following properties are available in the minio_client_alias
type.
Data type: Optional[String]
The API access key
Data type: Optional[Enum['S3v4', 'S3v2']]
The API signature
Data type: String[1]
The API endpoint url
Data type: Enum[present, absent]
Whether this resource should be present or absent on the target system.
Default value: present
Data type: Optional[Enum['on', 'off', 'auto']]
Indicate whether dns or path style url requests are supported by the server.
Data type: Optional[Variant[Sensitive[String], String]]
The API access secret
The following parameters are available in the minio_client_alias
type.
namevar
Data type: String
The name of the resource you want to manage.