Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'simp-x2go', '0.7.0'
Learn more about managing modules with a PuppetfileDocumentation
Table of Contents
Description
This is a module for managing x2go
server and client installations.
This is a SIMP module
This module is a component of the System Integrity Management Platform, a compliance-management framework built on Puppet.
If you find any issues, they may be submitted to our bug tracker.
See ./REFERENCE.md for API details.
Setup
What x2go affects
The x2go
module is quite minimal, like x2go
itself and simply installs
the required packages and allows you to configure the most common files with
safe defaults in place.
Usage
The x2go
client is installed by default. To disable this, set
x2go::client
to false
in Hiera.
To install and configure the x2go
server, set x2go::server
to true
in Hiera.
x2go
requires a functioning window manager on the server to be useful and
it does not perform well with compositing window managers, such as GNOME 3.
See https://wiki.x2go.org/doku.php/doc:de-compat for additional information.
It is recommended that you use the SIMP gnome module
and set enable_mate
to use the MATE window manager (or GNOME 2 if MATE is
not available).
NOTE: The x2go
server clipboard is set to server
by default. This
means that the client clipboard will not be exposed to the server to which you
are connecting. This is done to prevent sensitive information from the client
leaking onto the server by accident.
You can change this by setting the following in Hiera:
---
x2go::server::agent_options:
'-clipboard': 'both'
Valid options include:
both
=> Bi-directional clipboardserver
=> Server side and Server to Clientclient
=> Client side and Client to Servernone
=> Disable the clipboard
Development
Please read our Contribution Guide.
Acceptance tests
This module includes Beaker acceptance tests using the SIMP Beaker Helpers. By default the tests use Vagrant with VirtualBox as a back-end; Vagrant and VirtualBox must both be installed to run these tests without modification. To execute the tests run the following:
bundle install
bundle exec rake beaker:suites
NOTE: When testing this module, you will probably want to run with
BEAKER_destroy=no
, install the x2go
client locally and connect to the
running VM to ensure proper functionality.
Please refer to the SIMP Beaker Helpers documentation for more information.
Reference
Table of Contents
Classes
x2go
: Install and configure the x2go client and server components x2go does not work well with compositing window managers. It is suggested thatx2go::install
: == Class x2go::install This class is called from x2go for install.x2go::server
: Install and configure the x2go serverx2go::server::clean_sessions
: Manage the x2gocleansessions service
Classes
x2go
Install and configure the x2go client and server components
x2go does not work well with compositing window managers.
It is suggested that you use the simp-gnome
module and enable MATE support
for use with x2go.
Parameters
The following parameters are available in the x2go
class:
client
Data type: Boolean
Whether or not the system is a x2go client
Default value: true
server
Data type: Boolean
Whether or not the system is a x2go server
Default value: false
package_ensure
Data type: Simplib::PackageEnsure
The state that packages managed by this module should be in
Default value: simplib::lookup('simp_options::package_ensure', { 'default_value' => 'installed' })
x2go::install
== Class x2go::install
This class is called from x2go for install.
x2go::server
Install and configure the x2go server
Parameters
The following parameters are available in the x2go::server
class:
config
Data type: Hash[String[1], Hash[String[1], NotUndef]]
A Hash of INI settings targeted at the x2goserver.conf file
Options not defined here will simply be added to the configuration file without validation.
UNMANAGED ENTRIES IN THE CONFIG FILE WILL BE PURGED
Options take the following form:
Hash[
Hash[
String[1], # This is the INI header
Hash[
String[1], # This is an item key
String[1], # This is an item value
]
]
]
@see x2goserver.conf(5) @see data/common.yml
Options:
-
limit
Hash
: users A Hash of users specifying the maximum number of simultaneous sessions allowed in an X2Go server farm -
To avoid resource explosion, it is highly recommended that you restrict by group if possible
@example Specify user limits in Hiera x2go::server::config: limit users: 'user1': 2 'user2': 4
- limit
Hash
: groups A Hash of groups specifying the maximum number of simultaneous sessions allowed in an X2Go server farm
@example Specify group limits in Hiera x2go::server::config: limit_groups: 'group1': 20
- security
Hash
: A key/value set of strings that manage security settings
@example Specify the SSHFS umask in Hiera x2go::server::config: security: umask: '"0117"'
- log
Hash
: A key/value set of strings that manage log settings
@example Specify the log level in Hiera x2go::server::config: log: loglevel: 'debug'
agent_options
Data type: Hash[String[1], Optional[Scalar]]
The options to add to the x2goagent.options file
- Options are provided in a key/value pair hash
- You MUST provide the flag for the option if one is present
- No validation is done on provided options
- Options that do not take an argument should have their value set to Undef
or
~
in Hiera
@example Setting options in Hiera x2go::agent_options: "+bs": ~ "-lf": 1024 "nologo": ~
@see nxagent -h @see data/common.yaml
config_file
Data type: Stdlib::AbsolutePath
The location of the main server configuration file
Default value: '/etc/x2go/x2goserver.conf'
agent_config_file
Data type: Stdlib::AbsolutePath
The location of the agent configuration file
Default value: '/etc/x2go/x2goagent.options'
session_service
Data type: Boolean
Enable the x2gocleansessions service to enable full accounting and resuming of sessions
Default value: true
x2go::server::clean_sessions
Manage the x2gocleansessions service
- Wed Oct 11 2023 Steven Pritchard steve@sicura.us - 0.7.0
- [puppetsync] Updates for Puppet 8
- These updates may include the following:
- Update Gemfile
- Add support for Puppet 8
- Drop support for Puppet 6
- Update module dependencies
- These updates may include the following:
- Wed Aug 23 2023 Steven Pritchard steve@sicura.us - 0.6.0
- Add AlmaLinux 8 support
- Mon Jun 12 2023 Chris Tessmer chris.tessmer@onyxpoint.com - 0.5.0
- Add RockyLinux 8 support
- Thu Jul 29 2021 Trevor Vaughan tvaughan@onyxpoint.com - 0.4.0
- Fixed
- Removed simp-dconf, simp-gnome, and simp-mate as dependencies since they are not actually used by the module
- Added REFERENCE.md
- Thu Jun 17 2021 Chris Tessmer chris.tessmer@onyxpoint.com - 0.4.0
- Removed support for Puppet 5
- Ensured support for Puppet 7 in requirements and stdlib
- Sat Dec 19 2020 Chris Tessmer chris.tessmer@onyxpoint.com - 0.3.1
- Removed EL6 support
- Thu Jul 23 2020 Jeanne Greulich jeanne.greulich@onyxpoint.com - 0.3.0
- update the upper bound of simplib for SIMP 6.5 release
- Fri Aug 02 2019 Robert Vincent pillarsdotnet@gmail.com - 0.3.0
- Remove Puppet 4 support
- Add Puppet 6 support
- Add puppetlabs-stdlib 6 support
- Thu Mar 07 2019 Liz Nemsick lnemsick.simp@gmail.com - 0.2.1
- Update the upper bound of stdlib to < 6.0.0
- Update a URL in the README.md
- Thu Nov 01 2018 Liz Nemsicklnemsick.simp@gmail.com - 0.2.0
- Update to Hiera 5
- Thu May 17 2018 Trevor Vaughan tvaughan@onyxpoint.com - 0.1.0
- Initial release of the x2go module
Dependencies
- simp/simplib (>= 4.9.0 < 5.0.0)
- puppetlabs/stdlib (>= 8.0.0 < 10.0.0)
x2go - Puppet module for managing x2go server and client Per Section 105 of the Copyright Act of 1976, these works are not entitled to domestic copyright protection under US Federal law. The US Government retains the right to pursue copyright protections outside of the United States. The United States Government has unlimited rights in this software and all derivatives thereof, pursuant to the contracts under which it was developed and the License under which it falls. --- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.