Skip to content

Latest commit

 

History

History
473 lines (276 loc) · 13.8 KB

REFERENCE.md

File metadata and controls

473 lines (276 loc) · 13.8 KB

Reference

Table of Contents

Classes

Public Classes

Private Classes

  • vnc::client::novnc::config: Setup any token file or webserver index
  • vnc::client::novnc::install: Install the novnc packages
  • vnc::client::novnc::service: manage the websockify service
  • vnc::server::config: Configure the VNC services
  • vnc::server::install: Install the vnc server pacakges
  • vnc::server::service: Ensure the VNC Server services are right

Classes

vnc::client::gui

Install the VNC GUI clients

Parameters

The following parameters are available in the vnc::client::gui class:

manage_packages

Data type: Boolean

Should this class manage the packages

packages

Data type: Array

List of packages to install

packages_ensure

Data type: String

Ensure state of the vnc client packages

vnc::client::novnc

Setup a websocket service for running the NoVNC interface

Parameters

The following parameters are available in the vnc::client::novnc class:

manage_packages

Data type: Boolean

Should this class manage the packages

packages

Data type: Array

List of packages to install

packages_ensure

Data type: String

Ensure state of the vnc server packages

manage_service_config

Data type: Boolean

should this class manage any config files?

websockify_config_dir

Data type: Stdlib::Absolutepath

where are config files kept

websockify_config_mode

Data type: String

what should the config mode be

websockify_token_plugin

Data type: String

what type of token plugin is in use

websockify_token_source

Data type: String

what is the data source for the token plugin if $websockify_token_plugin == 'TokenFile' or 'ReadOnlyTokenFile', this should be the filename

websockify_auth_plugin

Data type: String

what type of auth plugin is in use

websockify_auth_source

Data type: String

what is the data source for the auth plugin

websockify_service_user

Data type: String

User to run the service as

websockify_service_group

Data type: String

Group to run the service as

websockify_service_dynamicuser

Data type: Boolean

Use systemd dynamic users for this service

make_webserver_vnc_index

Data type: Boolean

Make a simple index file listing out known sessions

webserver_novnc_location

Data type: Stdlib::Absolutepath

What is the URL base for novnc (probably /novnc)

webserver_vnc_index

Data type: Stdlib::Absolutepath

Where should we write out the known session index?

manage_service

Data type: Boolean

Should this service be managed

websockify_command

Data type: Stdlib::Absolutepath

where is /usr/bin/websockify?

websockify_service_name

Data type: String

Name of service to manage

websockify_service_ensure

Data type: String

Ensure for service

websockify_service_enable

Data type: Boolean

Enable for service

websockify_port

Data type: Variant[String, Integer[0,65535]]

Port to listen on

websockify_webroot

Data type: Stdlib::Absolutepath

Webroot for service to use

websockify_prefer_ipv6

Data type: Boolean

Try IPv6 before IPv4

websockify_use_ssl

Data type: Boolean

Use an SSL certificate for websockify

websockify_use_ssl_only

Data type: Boolean

Only use SSL connections

websockify_ssl_ca

Data type: Stdlib::Absolutepath

SSL Certificate Authority for websockify

websockify_ssl_cert

Data type: Stdlib::Absolutepath

SSL certificate for websockify

websockify_ssl_key

Data type: Stdlib::Absolutepath

SSL key for websockify

vnc_servers

Data type: Hash

A hash of VNC servers to connect to. ie. {'session_name' => 'host:port'}

vnc::server

This class will install and configure the tigervnc server, setup defaults, and manage the services.

The default state is running/enabled, not user managed

Parameters

The following parameters are available in the vnc::server class:

manage_packages

Data type: Boolean

Should this class manage the packages

packages

Data type: Array

List of packages to install

packages_ensure

Data type: String

Ensure state of the vnc server packages

manage_config

Data type: Boolean

Should this class manage the config

config_defaults_file

Data type: Stdlib::Absolutepath

Your /etc/tigervnc/vncserver-config-defaults

config_defaults

Data type: Hash[String, Variant[String, Undef]]

Settings to put in /etc/tigervnc/vncserver-config-defaults

config_mandatory_file

Data type: Stdlib::Absolutepath

Your /etc/tigervnc/vncserver-config-mandatory

config_mandatory

Data type: Hash[String, Variant[String, Undef]]

Settings to put in /etc/tigervnc/vncserver-config-mandatory

vncserver_users_file

Data type: Stdlib::Absolutepath

Your /etc/tigervnc/vncserver.users

polkit_file

Data type: Stdlib::Absolutepath

Your /etc/polkit-1/rules.d/25-puppet-vncserver.rules

polkit_file_mode

Data type: String

Your /etc/polkit-1/rules.d/25-puppet-vncserver.rules permissions It should pretty much always be 644

manage_services

Data type: Boolean

Should this class manage the vncserver services

user_can_manage

Data type: Boolean

Should users be able to manage the systemd service by default

extra_users_can_manage

Data type: Array[String]

Who else should be able to manage the VNC sessions

vnc_home_conf

Data type: Stdlib::Absolutepath

Where does VNC keep its config (/.vnc) NOTE: MUST start with / NOTE: MUST NOT end with /

seed_home_vnc

Data type: Boolean

Should this class generate a per-user ~/.vnc if it doesn't exist?

systemd_template_startswith

Data type: String

What does the vnc template service start with, including the '@'

systemd_template_endswith

Data type: String

What does the vnc template service end with (not including the '.')

vnc_servers

Data type: Hash[String, Hash[Enum['displaynumber', 'user_can_manage', 'seed_home_vnc', 'comment', 'ensure', 'enable', 'extra_users_can_manage'], Variant[Array[String], String, Integer, Boolean, Undef]]]

A hash of VNC servers to setup Format: userA: comment: Sometimes you've gotta write it down displaynumber: 1 ensure: running enable: true user_can_manage: true seed_home_vnc: false userB: displaynumber: 2 ensure: stopped enable: false user_can_manage: false

vnc::server::export::novnc

Map defined VNC servers into NOVNC client

Examples

include vnc::server::export::novnc

Parameters

The following parameters are available in the vnc::server::export::novnc class:

vnc_server_hostname

Data type: String

Hostname to use as the default server target

Default value: 'localhost'

vnc_servers

Data type: Hash

Hash of vnc_servers to export. You probably should just let inheritance do the work here

Default value: $vnc::server::vnc_servers