Puppet Class: tilerator

Defined in:
modules/tilerator/manifests/init.pp

Overview

Class: tilerator

This class installs and configures tilerator

While only being a thin wrapper around service::node, this class exists to accomodate future tilerator needs that are not suited for the service module classes as well as conform to a de-facto standard of having a module for every service

Parameters

conf_sources

Sources that will be added to the configuration file of the service. This defines the data transformation pipeline for the tile services. The actual file is loaded from the root of the source code directory. (/srv/deployment/tilerator/deploy/src/) Default: 'sources.prod.yaml'

contact_groups

Contact groups for alerting. Default: 'admins'

cassandra_servers

List of cassandra server names used by Tilerator

Parameters:

  • cassandra_pass (String)
  • pgsql_pass (String)
  • redis_server (String)
  • redis_pass (String)
  • cassandra_servers (Array[String])
  • storage_id (String)
  • num_workers (Integer[0])
  • enable (Boolean)
  • contact_groups (String) (defaults to: 'admins')
  • use_nodejs10 (Boolean) (defaults to: false)


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
# File 'modules/tilerator/manifests/init.pp', line 26

class tilerator(
    String $cassandra_pass,
    String $pgsql_pass,
    String $redis_server,
    String $redis_pass,
    Array[String] $cassandra_servers,
    String $storage_id,
    Integer[0] $num_workers,
    Boolean $enable,
    String  $contact_groups = 'admins',
    Boolean $use_nodejs10   = false,
) {

    $cassandra_user = 'tilerator'
    $pgsql_user = 'tilerator'
    $redis_url = "${redis_server}?password=${redis_pass}"

    # NOTE: The port here is only used for health monitoring. tilerator is a
    # daemon executing tasks from a queue, it does not realy listen to requests.
    # So there will never be LVS or anything else than health check requests to
    # this port
    service::node { 'tilerator':
        port              => 6534,
        deployment_config => true,
        no_workers        => $num_workers,
        deployment        => 'scap3',
        deployment_vars   => {
            entrypoint         => '""',
            cassandra_user     => $cassandra_user,
            cassandra_password => $cassandra_pass,
            cassandra_servers  => $cassandra_servers,
            osmdb_user         => $pgsql_user,
            osmdb_password     => $pgsql_pass,
            redis_server       => $redis_url,
            ui_only            => false,
            daemon_only        => true,
            storage_id         => $storage_id,
        },
        contact_groups    => $contact_groups,
        use_nodejs10      => $use_nodejs10,
        enable            => $enable,
    }

}