vnc::client::gui
: Install the VNC GUI clientsvnc::client::novnc
: Setup a websocket service for running the NoVNC interfacevnc::server
: Install and configure the tigervnc servervnc::server::export::novnc
: Map defined VNC servers into NOVNC client
vnc::client::novnc::config
: Setup any token file or webserver indexvnc::client::novnc::install
: Install the novnc packagesvnc::client::novnc::service
: manage the websockify servicevnc::server::config
: Configure the VNC servicesvnc::server::install
: Install the vnc server pacakgesvnc::server::service
: Ensure the VNC Server services are right
Install the VNC GUI clients
The following parameters are available in the vnc::client::gui
class:
Data type: Boolean
Should this class manage the packages
Data type: Array
List of packages to install
Data type: String
Ensure state of the vnc client packages
Setup a websocket service for running the NoVNC interface
The following parameters are available in the vnc::client::novnc
class:
manage_packages
packages
packages_ensure
manage_service_config
websockify_config_dir
websockify_config_mode
websockify_token_plugin
websockify_token_source
websockify_auth_plugin
websockify_auth_source
websockify_service_user
websockify_service_group
websockify_service_dynamicuser
make_webserver_vnc_index
webserver_novnc_location
webserver_vnc_index
manage_service
websockify_command
websockify_service_name
websockify_service_ensure
websockify_service_enable
websockify_port
websockify_webroot
websockify_prefer_ipv6
websockify_use_ssl
websockify_use_ssl_only
websockify_ssl_ca
websockify_ssl_cert
websockify_ssl_key
vnc_servers
Data type: Boolean
Should this class manage the packages
Data type: Array
List of packages to install
Data type: String
Ensure state of the vnc server packages
Data type: Boolean
should this class manage any config files?
Data type: Stdlib::Absolutepath
where are config files kept
Data type: String
what should the config mode be
Data type: String
what type of token plugin is in use
Data type: String
what is the data source for the token plugin if $websockify_token_plugin == 'TokenFile' or 'ReadOnlyTokenFile', this should be the filename
Data type: String
what type of auth plugin is in use
Data type: String
what is the data source for the auth plugin
Data type: String
User to run the service as
Data type: String
Group to run the service as
Data type: Boolean
Use systemd dynamic users for this service
Data type: Boolean
Make a simple index file listing out known sessions
Data type: Stdlib::Absolutepath
What is the URL base for novnc (probably /novnc)
Data type: Stdlib::Absolutepath
Where should we write out the known session index?
Data type: Boolean
Should this service be managed
Data type: Stdlib::Absolutepath
where is /usr/bin/websockify?
Data type: String
Name of service to manage
Data type: String
Ensure for service
Data type: Boolean
Enable for service
Data type: Variant[String, Integer[0,65535]]
Port to listen on
Data type: Stdlib::Absolutepath
Webroot for service to use
Data type: Boolean
Try IPv6 before IPv4
Data type: Boolean
Use an SSL certificate for websockify
Data type: Boolean
Only use SSL connections
Data type: Stdlib::Absolutepath
SSL Certificate Authority for websockify
Data type: Stdlib::Absolutepath
SSL certificate for websockify
Data type: Stdlib::Absolutepath
SSL key for websockify
Data type: Hash
A hash of VNC servers to connect to. ie. {'session_name' => 'host:port'}
This class will install and configure the tigervnc server, setup defaults, and manage the services.
The default state is running/enabled, not user managed
The following parameters are available in the vnc::server
class:
manage_packages
packages
packages_ensure
manage_config
config_defaults_file
config_defaults
config_mandatory_file
config_mandatory
vncserver_users_file
polkit_file
polkit_file_mode
manage_services
user_can_manage
extra_users_can_manage
vnc_home_conf
seed_home_vnc
systemd_template_startswith
systemd_template_endswith
vnc_servers
Data type: Boolean
Should this class manage the packages
Data type: Array
List of packages to install
Data type: String
Ensure state of the vnc server packages
Data type: Boolean
Should this class manage the config
Data type: Stdlib::Absolutepath
Your /etc/tigervnc/vncserver-config-defaults
Data type: Hash[String, Variant[String, Undef]]
Settings to put in /etc/tigervnc/vncserver-config-defaults
Data type: Stdlib::Absolutepath
Your /etc/tigervnc/vncserver-config-mandatory
Data type: Hash[String, Variant[String, Undef]]
Settings to put in /etc/tigervnc/vncserver-config-mandatory
Data type: Stdlib::Absolutepath
Your /etc/tigervnc/vncserver.users
Data type: Stdlib::Absolutepath
Your /etc/polkit-1/rules.d/25-puppet-vncserver.rules
Data type: String
Your /etc/polkit-1/rules.d/25-puppet-vncserver.rules permissions It should pretty much always be 644
Data type: Boolean
Should this class manage the vncserver services
Data type: Boolean
Should users be able to manage the systemd service by default
Data type: Array[String]
Who else should be able to manage the VNC sessions
Data type: Stdlib::Absolutepath
Where does VNC keep its config (/.vnc)
NOTE: MUST start with /
NOTE: MUST NOT end with /
Data type: Boolean
Should this class generate a per-user ~/.vnc if it doesn't exist?
Data type: String
What does the vnc template service start with, including the '@'
Data type: String
What does the vnc template service end with (not including the '.')
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
Map defined VNC servers into NOVNC client
include vnc::server::export::novnc
The following parameters are available in the vnc::server::export::novnc
class:
Data type: String
Hostname to use as the default server target
Default value: 'localhost'
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