Puppet Class: jitsimeet

Defined in:
manifests/init.pp

Summary

Main class, includes all other classes.

Overview

Parameters:

  • jitsi_domain (Stdlib::Fqdn)

    The jitsi meet’s fully qualified domain name.

  • repo_key (String)

    Path to the dearmored jitsi meet Debian repository GPG key. Fingerprint should match 66A9 CD05 95D6 AFA 2472 90D3 BEF8 B479 E2DC 1389C

  • manage_certs (Boolean)

    If the TLS certificates for FQDN and auth.FQDN should be managed using Let’s Encrypt. This requires a valid DNS entry for those domains.

  • prosody_authentication_method (String[1])

    The authentication method used to connect to prosody.

  • jitsi_vhost_additional_options (Hash)

    Additional options to pass to the prosody vhost.

  • jicofo_additional_properties,

    Additional properties to pass to jicofo.

  • videobridge_additional_properties,

    Additional properties to pass to videobridge.

  • jitsi_vhost_ssl_key (Optional[String])

    Path to the jitsi virtualhost ssl key.

  • jitsi_vhost_ssl_cert (Optional[String])

    Path to the jitsi virtualhost ssl certificate.

  • auth_vhost_ssl_key (Optional[String])

    Path to the authentication virtualhost ssl key.

  • auth_vhost_ssl_cert (Optional[String])

    Path to the authentication virtualhost ssl certificate.

  • jvb_secret (String)

    The jitsi-videobridge component’s secret.

  • jvb_daemon_options (String)

    Options to pass to the jitsi-videobridge daemon.

  • jvb_max_memory (Integer)

    The maximum memory in megabytes the jvb java process can consume.

  • focus_secret (String)

    The focus component’s secret.

  • focus_user_password (String)

    Password for the focus user.

  • meet_custom_options (Hash)

    Custom options to pass to the main jitsi configuration file.

  • meet_interface_options (Hash)

    Custom options to pass to configure the jitsi meet web interface.

  • www-root

    Jiti meet’s root directory for the webserver.

  • nginx_manage_repo (Boolean)

    If nginx should be installed from the upstream repository.

  • webserver (Enum['nginx'])

    The webserver you want to use to manage nginx. This parameter won’t do anything if you don’t add the webserver in the list of managed services.

  • @managed_services

    The list of services this module should manage for you.

  • jitsi_host (String)

    The IP or FQDN of the jitsi host. Use for internal connections by jitsi services to the Prosody server.

  • jicofo_additional_properties (Hash)
  • videobridge_additional_properties (Hash)
  • www_root (Stdlib::Absolutepath)
  • managed_services (Array[Enum['jicofo', 'jitsi-videobridge', 'webserver']])


76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'manifests/init.pp', line 76

class jitsimeet (
  Stdlib::Fqdn         $jitsi_domain,
  Boolean              $manage_certs,
  String               $repo_key,
  String[1]            $prosody_authentication_method,
  Hash                 $jitsi_vhost_additional_options,
  Hash                 $jicofo_additional_properties,
  Hash                 $videobridge_additional_properties,
  Optional[String]     $jitsi_vhost_ssl_key,
  Optional[String]     $jitsi_vhost_ssl_cert,
  Optional[String]     $auth_vhost_ssl_key,
  Optional[String]     $auth_vhost_ssl_cert,
  String               $jvb_secret,
  String               $jvb_daemon_options,
  Integer              $jvb_max_memory,
  String               $focus_secret,
  String               $focus_user_password,
  Hash                 $meet_custom_options,
  Hash                 $meet_interface_options,
  Stdlib::Absolutepath $www_root,
  Boolean              $nginx_manage_repo,
  Enum['nginx']        $webserver,
  Array[Enum['jicofo', 'jitsi-videobridge', 'webserver']] $managed_services,
  String               $jitsi_host,
) {

  include ::jitsimeet::config
  include ::jitsimeet::install

  if 'jitsi-videobridge' in $managed_services {
    Apt::Source['jitsimeet']
    -> Class['jitsimeet::videobridge::install']
    contain 'jitsimeet::videobridge'
  }

  if 'jicofo' in $managed_services {
    Apt::Source['jitsimeet']
    -> Class['jitsimeet::jicofo::install']
    contain 'jitsimeet::jicofo'
    contain 'jitsimeet::meet'
    include 'jitsimeet::prosody'
  }

  if 'webserver' in $managed_services {
    contain 'jitsimeet::webserver'
  }

}