Puppet Class: storm::webdav

Inherits:
storm::webdav::params
Defined in:
manifests/webdav.pp

Summary

StoRM WebDAV puppet module

Overview

Parameters

The main StoRM WebDAV configuration parameters are:

  • user_name: the Unix user that runs storm-webdav service;

  • storage_areas: the list of Storm::Webdav::StorageArea elements (more info below);

  • oauth_issuers: the list of Storm::Webdav::OAuthIssuer elements that means the supported OAuth providers;

  • hostnames: the list of hostname and aliases supported for Third-Party-Copy;

  • http_port and https_port: the service ports;

The Storm::Webdav::StorageArea type

  • name: The name of the storage area. Required.

  • root_path: The path of the storage area root directory. Required.

  • access_points: A list of logic path used to access storage area's root. Required.

  • vos: A list of one or more Virtual Organization names of the users allowed to read/write into the storage area. Required.

  • orgs: A list of one or more Organizations. Optional.

  • authenticated_read_enabled: A boolean value used to enable the read of the storage area content to authenticated users. Required.

  • anonymous_read_enabled: A boolean value used to enable anonymous read access to storage area content. Required.

  • vo_map_enabled: A boolean value used to enable the use of the VO gridmap files. Required.

  • vo_map_grants_write_access: A boolean value used to grant write access to the VO users read from grifmap file. Optional,

The Storm::Webdav::OAuthIssuer type

  • name: the organization name. Rerquired.

  • issuer: the issuer URL. Required.

Examples:

Example of usage

class { 'storm::webdav':
  storage_areas => [
    {
      name                       => 'test.vo',
      root_path                  => '/storage/test.vo',
      access_points              => ['/test.vo'],
      vos                        => ['test.vo', 'test.vo.2'],
      authenticated_read_enabled => false,
      anonymous_read_enabled     => false,
      vo_map_enabled             => false,
    },
    {
      name                       => 'test.vo.2',
      root_path                  => '/storage/test.vo.2',
      access_points              => ['/test.vo.2'],
      vos                        => ['test.vo.2'],
      authenticated_read_enabled => false,
      anonymous_read_enabled     => false,
      vo_map_enabled             => false,
    },
  ],
  oauth_issuers => [
    {
      name   => 'indigo-dc',
      issuer => 'https://iam-test.indigo-datacloud.eu/',
    },
  ],
  hostnames => ['localhost', 'alias.for.localhost'],
}

Parameters:

  • storage_areas (Array[Storm::Webdav::StorageArea]) (defaults to: $storm::webdav::params::storage_areas)

    List of storage area's configuration.

  • oauth_issuers (Array[Storm::Webdav::OAuthIssuer]) (defaults to: $storm::webdav::params::oauth_issuers)
  • hostnames (Array[String]) (defaults to: $storm::webdav::params::hostnames)
  • http_port (Integer) (defaults to: $storm::webdav::params::http_port)
  • https_port (Integer) (defaults to: $storm::webdav::params::https_port)
  • trust_anchors_refresh_interval (Integer) (defaults to: $storm::webdav::params::trust_anchors_refresh_interval)
  • max_concurrent_connections (Integer) (defaults to: $storm::webdav::params::max_concurrent_connections)
  • max_queue_size (Integer) (defaults to: $storm::webdav::params::max_queue_size)
  • connector_max_idle_time (Integer) (defaults to: $storm::webdav::params::connector_max_idle_time)
  • vo_map_files_enable (Boolean) (defaults to: $storm::webdav::params::vo_map_files_enable)
  • vo_map_files_config_dir (String) (defaults to: $storm::webdav::params::vo_map_files_config_dir)
  • vo_map_files_refresh_interval (Integer) (defaults to: $storm::webdav::params::vo_map_files_refresh_interval)
  • tpc_max_connections (Integer) (defaults to: $storm::webdav::params::tpc_max_connections)
  • tpc_verify_checksum (Boolean) (defaults to: $storm::webdav::params::tpc_verify_checksum)
  • jvm_opts (String) (defaults to: $storm::webdav::params::jvm_opts)
  • authz_server_enable (Boolean) (defaults to: $storm::webdav::params::authz_server_enable)
  • authz_server_issuer (String) (defaults to: $storm::webdav::params::authz_server_issuer)
  • authz_server_max_token_lifetime_sec (Integer) (defaults to: $storm::webdav::params::authz_server_max_token_lifetime_sec)
  • authz_server_secret (String) (defaults to: $storm::webdav::params::authz_server_secret)
  • require_client_cert (Boolean) (defaults to: $storm::webdav::params::require_client_cert)
  • use_conscrypt (Boolean) (defaults to: $storm::webdav::params::use_conscrypt)
  • tpc_use_conscrypt (Boolean) (defaults to: $storm::webdav::params::tpc_use_conscrypt)
  • enable_http2 (Boolean) (defaults to: $storm::webdav::params::enable_http2)
  • debug (Boolean) (defaults to: $storm::webdav::params::debug)
  • debug_port (Integer) (defaults to: $storm::webdav::params::debug_port)
  • debug_suspend (Boolean) (defaults to: $storm::webdav::params::debug_suspend)
  • storm_limit_nofile (Integer) (defaults to: $storm::webdav::params::storm_limit_nofile)


120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'manifests/webdav.pp', line 120

class storm::webdav (

  Array[Storm::Webdav::StorageArea] $storage_areas = $storm::webdav::params::storage_areas,

  Array[Storm::Webdav::OAuthIssuer] $oauth_issuers = $storm::webdav::params::oauth_issuers,
  Array[String] $hostnames = $storm::webdav::params::hostnames,

  Integer $http_port = $storm::webdav::params::http_port,
  Integer $https_port = $storm::webdav::params::https_port,

  Integer $trust_anchors_refresh_interval = $storm::webdav::params::trust_anchors_refresh_interval,

  Integer $max_concurrent_connections = $storm::webdav::params::max_concurrent_connections,
  Integer $max_queue_size = $storm::webdav::params::max_queue_size,
  Integer $connector_max_idle_time = $storm::webdav::params::connector_max_idle_time,

  Boolean $vo_map_files_enable = $storm::webdav::params::vo_map_files_enable,
  String $vo_map_files_config_dir = $storm::webdav::params::vo_map_files_config_dir,
  Integer $vo_map_files_refresh_interval = $storm::webdav::params::vo_map_files_refresh_interval,

  Integer $tpc_max_connections = $storm::webdav::params::tpc_max_connections,
  Boolean $tpc_verify_checksum = $storm::webdav::params::tpc_verify_checksum,

  String $jvm_opts = $storm::webdav::params::jvm_opts,

  Boolean $authz_server_enable = $storm::webdav::params::authz_server_enable,
  String $authz_server_issuer = $storm::webdav::params::authz_server_issuer,
  Integer $authz_server_max_token_lifetime_sec = $storm::webdav::params::authz_server_max_token_lifetime_sec,
  String $authz_server_secret = $storm::webdav::params::authz_server_secret,
  Boolean $require_client_cert = $storm::webdav::params::require_client_cert,

  Boolean $use_conscrypt = $storm::webdav::params::use_conscrypt,
  Boolean $tpc_use_conscrypt = $storm::webdav::params::tpc_use_conscrypt,
  Boolean $enable_http2 = $storm::webdav::params::enable_http2,

  Boolean $debug = $storm::webdav::params::debug,
  Integer $debug_port = $storm::webdav::params::debug_port,
  Boolean $debug_suspend = $storm::webdav::params::debug_suspend,

  Integer $storm_limit_nofile = $storm::webdav::params::storm_limit_nofile,

) inherits storm::webdav::params {

  contain storm::webdav::install
  contain storm::webdav::config
  contain storm::webdav::service

  Class['storm::webdav::install']
  -> Class['storm::webdav::config']
  -> Class['storm::webdav::service']
}