Puppet Class: profile::query_service::wikidata
- Defined in:
- modules/profile/manifests/query_service/wikidata.pp
Overview
SPDX-License-Identifier: Apache-2.0
Class: profile::query_service::wikidata
This class defines a meta-class that pulls in all the query_service profiles necessary for a query service installation servicing the www.wikidata.org dataset.
This additionally provides a location for defining datasource specific configuration, such as if geo support is necessary. This kind of configuration doesn't end up fitting in hiera as we have multiple blazegraph instances per host (preventing configuration by profile), and multiple roles per datasource (preventing configuration by role).
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 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 |
# File 'modules/profile/manifests/query_service/wikidata.pp', line 13
class profile::query_service::wikidata(
String $journal = lookup('profile::query_service::journal'),
String $username = lookup('profile::query_service::username'),
Stdlib::Unixpath $package_dir = lookup('profile::query_service::package_dir'),
Stdlib::Unixpath $data_dir = lookup('profile::query_service::data_dir'),
Stdlib::Unixpath $log_dir = lookup('profile::query_service::log_dir'),
String $deploy_name = lookup('profile::query_service::deploy_name'),
Stdlib::Port $logstash_logback_port = lookup('logstash_logback_port'),
String $heap_size = lookup('profile::query_service::blazegraph_heap_size', {'default_value' => '31g'}),
Boolean $use_deployed_config = lookup('profile::query_service::blazegraph_use_deployed_config', {'default_value' => false}),
Array[String] $extra_jvm_opts = lookup('profile::query_service::blazegraph_extra_jvm_opts'),
Boolean $monitoring_enabled = lookup('profile::query_service::blazegraph::monitoring_enabled'),
String $contact_groups = lookup('contactgroups', {'default_value' => 'admins'}),
Optional[String] $sparql_query_stream = lookup('profile::query_service::sparql_query_stream', {'default_value' => undef}),
Optional[String] $event_service_endpoint = lookup('profile::query_service::event_service_endpoint', {'default_value' => undef}),
String $federation_user_agent = lookup('profile::query_service::federation_user_agent'),
String $blazegraph_main_ns = lookup('profile::query_service::blazegraph_main_ns'),
Optional[String] $jvmquake_options = lookup('profile::query_service::jvmquake_options', {'default_value' => undef}),
Optional[Integer] $jvmquake_warn_threshold = lookup('profile::query_service::jvmquake_warn_threshold', {'default_value' => undef}),
String $jvmquake_warn_file = lookup('profile::query_service::jvmquake_warn_file', {'default_value' => '/tmp/wdqs_blazegraph_jvmquake_warn_gc'}),
Array[String] $uri_scheme_options = lookup('profile::query_service::uri_scheme_options'),
Stdlib::Fqdn $ldf_host = lookup('profile::query_service::ldf_host', {'default_value' => 'placeholder.wmnet'}),
Optional[Hash[Stdlib::HTTPSUrl, Array[Stdlib::HTTPSUrl]]] $internal_federated_endpoints = lookup('profile::query_service::internal_federated_endpoints', {'default_value' => undef}),
Boolean $only_throttle_cdn = lookup('profile::query_service::only_throttle_cdn', {'default_value' => false}),
) {
require ::profile::query_service::common
require ::profile::query_service::streaming_updater
require ::profile::query_service::gui
$instance_name = "${deploy_name}-blazegraph"
$nginx_port = 80
$blazegraph_port = 9999
$prometheus_port = 9193
$prometheus_agent_port = 9102
profile::query_service::blazegraph { $instance_name:
journal => $journal,
blazegraph_main_ns => $blazegraph_main_ns,
username => $username,
package_dir => $package_dir,
data_dir => $data_dir,
log_dir => $log_dir,
deploy_name => $deploy_name,
logstash_logback_port => $logstash_logback_port,
heap_size => $heap_size,
use_deployed_config => $use_deployed_config,
# force skolem for wikibase:isSomeValue (T244341)
extra_jvm_opts => $extra_jvm_opts + ['-DwikibaseSomeValueMode=skolem'] + $uri_scheme_options,
contact_groups => $contact_groups,
monitoring_enabled => $monitoring_enabled,
sparql_query_stream => $sparql_query_stream,
event_service_endpoint => $event_service_endpoint,
nginx_port => $nginx_port,
blazegraph_port => $blazegraph_port,
prometheus_port => $prometheus_port,
prometheus_agent_port => $prometheus_agent_port,
config_file_name => 'RWStore.wikidata.properties',
prefixes_file => 'prefixes.conf',
use_geospatial => true,
use_oauth => false,
federation_user_agent => $federation_user_agent,
jvmquake_options => $jvmquake_options,
jvmquake_warn_threshold => $jvmquake_warn_threshold,
jvmquake_warn_file => $jvmquake_warn_file,
internal_federated_endpoints => $internal_federated_endpoints,
only_throttle_cdn => $only_throttle_cdn,
}
class { 'toil::systemd_scope_cleanup': } # T265323
if ($facts['fqdn']) == $ldf_host {
class { '::profile::query_service::monitor::ldf': }
}
}
|