Puppet Class: artifactory

Defined in:
manifests/init.pp

Summary

Install and configure Artifactory.

Overview

Parameters:

  • apt_baseurl (Optional[String]) (defaults to: undef)

    Sets the URL of the APT repository.

  • apt_baseurl_pro (Optional[String]) (defaults to: undef)

    Sets the URL of the APT repository (Pro edition).

  • apt_key_id (Optional[String]) (defaults to: undef)

    Sets the ID of the APT repository key.

  • apt_key_source (Optional[String]) (defaults to: undef)

    Sets the URL of the APT repository.

  • apt_repos (Optional[String]) (defaults to: undef)

    Sets the names of the APT repositories to enable.

  • archive_data_dir (Stdlib::Absolutepath)

    The Artifactory data directory that should be used for archive installations.

  • archive_install_dir (Stdlib::Absolutepath)

    The Artifactory app directory that should be used for archive installations.

  • artifactory_home (String)

    Specifies the main directory.

  • binary_provider_base_data_dir (Optional[String]) (defaults to: undef)

    The filestore base location. Defaults to ‘$ARTIFACTORY_HOME/data’.

  • binary_provider_cache_dir (Optional[String]) (defaults to: undef)

    The location of the cache. This should be set to the $ARTIFACTORY_HOME directory (not on NFS).

  • binary_provider_cache_maxsize (Optional[Integer]) (defaults to: undef)

    This value specifies the maximum cache size (in bytes) to allocate for caching BLOBs.

  • binary_provider_config_hash (Optional[Hash]) (defaults to: undef)

    A hash containing configuration options for the binary provider.

  • binary_provider_filesystem_dir (Optional[String]) (defaults to: undef)

    If the ‘$binary_provider_type` is set to `filesystem`, this value specifies the location of the binaries in combination with `$binary_provider_base_data_dir`.

  • binary_provider_type (Optional[Enum['filesystem', 'fullDb', 'cachedFS', 'fullDbDirect', 's3']]) (defaults to: undef)

    Optional setting for the binary storage provider. The type of database to configure. Valid values are ‘filesystem’, ‘fullDb’, ‘cachedFS’, ‘S3’. Defaults to ‘filesystem’.

  • config_group (String)

    Specifies the group owner of the configuration files.

  • config_owner (String)

    Specifies the owner of the configuration files.

  • db_password (Optional[String]) (defaults to: undef)

    The password for the database account. Only required for database configuration.

  • db_type (Optional[Enum['derby', 'mariadb', 'mssql', 'mysql', 'oracle', 'postgresql']]) (defaults to: undef)

    The type of database to configure. Only required for database configuration.

  • db_url (Optional[String]) (defaults to: undef)

    The url of the database. Only required for database configuration.

  • db_username (Optional[String]) (defaults to: undef)

    The username for the database account. Only required for database configuration.

  • download_filename (String)

    The filename of the archive distribution.

  • download_url_oss (String)

    The download URL for the open-source edition.

  • download_url_pro (String)

    The download URL for the pro edition.

  • edition (Enum['oss', 'pro', 'enterprise'])

    Specifies the Artifactory edition/license.

  • install_method (String)

    Whether to use a package or an archive to install artifactory.

  • install_service_script (String)

    Path to the installation script of the archive distribution.

  • jdbc_driver_url (Optional[String]) (defaults to: undef)

    Sets the download location for the jdbc driver.

  • license_key (Optional[String]) (defaults to: undef)

    Specifies the license key (only commercial editions).

  • manage_repo (Boolean)

    Whether to setup required repos or disable repo management.

  • master_key (Optional[String]) (defaults to: undef)

    The master key that Artifactory uses to connect to the database. If specified, it ensures that if the node terminates, a new one can be spun up that can connect to the same database as before. Otherwise, Artifactory will generate a new master key on first run.

  • package_name (String)

    Sets the package name to install.

  • package_name_pro (String)

    Sets the package name to install (Pro edition).

  • package_version (String)

    Specifies the package version. It is highly recommended to set it to a real version number. Setting the value to ‘present` may lead to a broken config.

  • pool_max_active (Optional[Integer]) (defaults to: undef)

    Maximum number of pooled database connections.

  • pool_max_idle (Optional[Integer]) (defaults to: undef)

    Maximum number of pooled idle database connections.

  • root_password (String)

    Sets the root password for Puppet managed mysql database instance.

  • service_name (String)

    Specifies the name of the Artifactory system service.

  • symlink_name (String)

    Controls the name of a version-independent symlink for the archive installation. It will always point to the release specified by ‘$package_version`.

  • use_temp_db_secrets (Boolean)

    Set to ‘true` to delete the temporary db.properties file on service start. Set to `false` to persist the file in `$artifactory_home/etc/db.properties`, which will allow to add database and storage options without Puppet touching it.

  • yum_baseurl (Optional[String]) (defaults to: undef)

    Sets the URL of the yum repository.

  • yum_baseurl_pro (Optional[String]) (defaults to: undef)

    Sets the URL of the yum repository (Pro edition).

  • yum_gpgkey (Optional[String]) (defaults to: undef)

    Sets the gpgkey URL of the yum repository.

  • yum_gpgkey_pro (Optional[String]) (defaults to: undef)

    Sets the gpgkey URL of the yum repository (Pro edition).

  • yum_name (Optional[String]) (defaults to: undef)

    Sets the name of the yum repository.



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# File 'manifests/init.pp', line 149

class artifactory (
  Stdlib::Absolutepath $archive_install_dir,
  Stdlib::Absolutepath $archive_data_dir,
  String $artifactory_home,
  String $config_owner,
  String $config_group,
  String $download_filename,
  String $download_url_oss,
  String $download_url_pro,
  Enum['oss', 'pro', 'enterprise'] $edition,
  String $install_method,
  String $install_service_script,
  Boolean $manage_repo,
  String $package_name,
  String $package_name_pro,
  String $package_version,
  String $root_password,
  String $service_name,
  String $symlink_name,
  Boolean $use_temp_db_secrets,
  Optional[String] $apt_baseurl = undef,
  Optional[String] $apt_baseurl_pro = undef,
  Optional[String] $apt_key_id = undef,
  Optional[String] $apt_key_source = undef,
  Optional[String] $apt_repos = undef,
  Optional[String] $binary_provider_base_data_dir = undef,
  Optional[String] $binary_provider_cache_dir = undef,
  Optional[Integer] $binary_provider_cache_maxsize = undef,
  Optional[Hash] $binary_provider_config_hash = undef,
  Optional[String] $binary_provider_filesystem_dir = undef,
  Optional[Enum['filesystem', 'fullDb', 'cachedFS', 'fullDbDirect', 's3']] $binary_provider_type = undef,
  Optional[String] $db_password = undef,
  Optional[Enum['derby', 'mariadb', 'mssql', 'mysql', 'oracle', 'postgresql']] $db_type = undef,
  Optional[String] $db_url = undef,
  Optional[String] $db_username = undef,
  Optional[String] $jdbc_driver_url = undef,
  Optional[String] $license_key = undef,
  Optional[String] $master_key = undef,
  Optional[Integer] $pool_max_active = undef,
  Optional[Integer] $pool_max_idle = undef,
  Optional[String] $yum_baseurl = undef,
  Optional[String] $yum_baseurl_pro = undef,
  Optional[String] $yum_gpgkey = undef,
  Optional[String] $yum_gpgkey_pro = undef,
  Optional[String] $yum_name = undef,
) {
  # Artifactory's data directory depends on the installation method.
  if ($install_method == 'package') {
    $data_directory = $artifactory_home
  } else {
    $data_directory = $archive_data_dir
  }

  Class { 'artifactory::repo': }
  -> Class { 'artifactory::install': }
  -> Class { 'artifactory::config': }
  -> Class { 'artifactory::service': }
}