- Description
- Setup - The basics of getting started with guacamole
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This module installs, deploys and configures Apache Guacomole on CentOS7.
- Install Guacamole required packages.
- Build & Deploy guacd
- (OPTIONAL) Install Tomcat 8, deploy guacamole to him.
- Configure unlimited amount of users with connection list.
Just install dependent modules.
# Hash of the servers for Guacamole to connect for.
$hashes = {
'192.168.1.101' => { #Hostname or IP address
'rdp' => { # Protocol of connection: rdp,vnc,ssh
'password' => 'vagrant',
'username' => 'vagrant',
'port' => '3389', # default rdp port
'security' => 'nla', #Network Level Authentication
'ignore-cert' => 'true'
# Watch more here: https://guacamole.incubator.apache.org/doc/gug/configuring-guacamole.html#rdp
}
},
'192.168.1.102' => {
'vnc' => {
'password' => 'somepass',
'port' => '5900'
},
},
}
class { 'guacamole':
guacd_listen_port => '4822',
install_tomcat => true
}
# Create an user in Guacamole with available connections as $hashes
guacamole::user { 'bohdan':
password => 'passw0rd',
connections => $hashes
}
For all usage you just need ::guacamole and ::guacamole::user.
The base class sets defaults used by other defined types, such as guacamole::install
.
Specifies an IP for guacd to bind for. Basically, should be localhost, so you could omit this option.
Same as above.
Specifies the version of Guacamole to build & install. Default to '0.9.13' but you could always change it to newer version from here
Boolean. Specifies should this module install Tomcat 8 for you. Defaults to true. If you want to use your own installation of Tomcat you have to add something like this one to your modules:
$closest_mirror = get_mirrors('https://www.apache.org/dyn/closer.cgi?as_json=1')
tomcat::war { 'guacamole.war':
catalina_base => '/opt/tomcat',
war_source => "${closest_mirror}incubator/guacamole/${server_version}-incubating/binary/guacamole-${server_version}-incubating.war",
}
Defined class that being used for creation of users and connections for them. Might be initiated as more as you need it.
Title of the resource applies to username for new/exist user.
guacamole::user { 'username'
...
}
Plain text password for user (might also be md5 encrypted with md5_encrypted variable)
Boolean. Sets password format as md5. Feel free to use this
By now this module applies only for CentOS7 (and probably 6 version too).
Feel free to fork, pull requests and so on.
0.2.0:
- Added install_tomcat variable to use your own instances.
- Added determining of closest mirror to download tomcat / guacamole.
- Few small fixes.
0.1.0:
- First version of this cute module.
- Cake is a Lie.
- Add Debian/Ubuntu support
- Implement md5 encryption from plain text.