Skip to content

Commit f5f97db

Browse files
committed
fix: simplify the rustdesk module with more control for overriding configurations as per user requirement
Signed-off-by: Sidharth Jawale <sidharth@obmondo.com>
1 parent 922e995 commit f5f97db

File tree

6 files changed

+76
-33
lines changed

6 files changed

+76
-33
lines changed

modules/enableit/common/manifests/software/rustdesk.pp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22
#
33
# @param client_enable Boolean parameter to control management of the Rustdesk. Defaults to false.
44
#
5+
# @param client_version Boolean parameter to control management of the Rustdesk. Defaults to false.
6+
#
57
# @param server_enable Boolean parameter to enable or disable the Rustdesk. Defaults to false.
68
#
9+
# @param server_version Boolean parameter to enable or disable the Rustdesk. Defaults to false.
10+
#
711
class common::software::rustdesk (
812
Boolean $client_enable = false,
13+
Boolean $client_version = false,
914
Boolean $server_enable = false,
15+
Boolean $server_version = false,
1016
) {
11-
if $client_enable {
12-
class { 'rustdesk::client':
13-
enable => $client_enable,
14-
}
15-
}
17+
class { 'rustdesk':
18+
client_enable => $client_enable,
19+
client_version => $client_version,
1620

17-
if $server_enable {
18-
class { 'rustdesk::server':
19-
enable => $server_enable,
20-
}
21+
server_enable => $server_enable,
22+
server_version => $server_version,
2123
}
2224
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
rustdesk::server::enable: false
3-
rustdesk::server::version: 1.7.1
2+
rustdesk::server_enable: false
3+
rustdesk::server_version: 1.7.1
44
rustdesk::server::dependencies: []
55
rustdesk::server::signal::package_name: rustdesk-server-hbbs
66
rustdesk::server::rekay::package_name: rustdesk-server-hbbr
77

88
# ------------
99

10-
rustdesk::client::enable: false
11-
rustdesk::client::version: 1.4.3
10+
rustdesk::client_enable: false
11+
rustdesk::client_version: 1.4.3
1212
rustdesk::client::dependencies: []
1313
# rustdesk::client::package_name: rustdesk-server-hbbs

modules/enableit/rustdesk/manifests/client.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
# }
3131
#
3232
class rustdesk::client (
33-
Boolean $enable = $rustdesk::client::enable,
34-
Eit_types::Version $version = $rustdesk::client::version,
33+
Boolean $enable = $rustdesk::client_enable,
34+
Eit_types::Version $version = $rustdesk::client_version,
3535
Array[String] $dependencies = $rustdesk::client::dependencies,
3636
) {
3737
# Fixed common dependencies
Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,57 @@
1+
# @summary Main class for managing RustDesk client and server components
2+
#
3+
# This is the primary entry point for the RustDesk module. It provides high-level
4+
# control over whether the RustDesk client and/or server components should be managed,
5+
# and which versions to install.
6+
#
7+
# @param client_enable
8+
# Whether to enable and manage the RustDesk client component.
9+
# When set to true, the rustdesk::client class will be included and managed.
10+
#
11+
# @param client_version
12+
# The version of RustDesk client to install.
13+
# Must be a valid version string conforming to Eit_types::Version.
14+
#
15+
# @param server_enable
16+
# Whether to enable and manage the RustDesk server component.
17+
# When set to true, the rustdesk::server class will be included and managed.
18+
#
19+
# @param server_version
20+
# The version of RustDesk server to install.
21+
# Must be a valid version string conforming to Eit_types::Version.
22+
#
23+
# @example Enable only the client with specific version
24+
# class { 'rustdesk':
25+
# client_enable => true,
26+
# client_version => '1.2.3',
27+
# server_enable => false,
28+
# }
29+
#
30+
# @example Enable both client and server with different versions
31+
# class { 'rustdesk':
32+
# client_enable => true,
33+
# client_version => '1.2.3',
34+
# server_enable => true,
35+
# server_version => '1.2.4',
36+
# }
37+
#
38+
# @example Basic usage with defaults
39+
# include rustdesk
40+
#
141
class rustdesk (
42+
Boolean $client_enable = $rustdesk::client_enable,
43+
Eit_types::Version $client_version = $rustdesk::client_version,
244

3-
) {}
45+
Boolean $server_enable = $rustdesk::server_enable,
46+
Eit_types::Version $server_version = $rustdesk::server_version,
47+
) {
48+
$_osfamily =$facts['os']['family']
49+
if $_osfamily != 'Ubuntu' {
50+
fail("The OS you running (${_osfamily}) isn't supported to setup RustDesk")
51+
}
52+
53+
[
54+
rustdesk::client,
55+
rustdesk::server,
56+
].include
57+
}

modules/enableit/rustdesk/manifests/server.pp

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
# }
3131
#
3232
class rustdesk::server (
33-
Boolean $enable = $rustdesk::server::enable,
34-
Eit_types::Version $version = $rustdesk::server::version,
33+
Boolean $enable = $rustdesk::server_enable,
34+
Eit_types::Version $version = $rustdesk::server_version,
3535
Array[String] $dependencies = $rustdesk::server::dependencies,
3636
) {
3737
# Fixed common dependencies
@@ -40,20 +40,6 @@
4040
# Merge common + OS-specific dependencies
4141
$extra_dependencies = concat($common_deps, $dependencies)
4242

43-
$rustdesk_servers = {
44-
'relay' => {
45-
'package_url' => "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${version}/rustdesk-server-hbbr_${version}_amd64.deb",
46-
# 'package_name' => 'rustdesk-server-hbbr',
47-
'package_file_name' => "${package_name}_${version}_amd64.deb",
48-
'download_path' => "/tmp/${package_file_name}",
49-
},
50-
'signal' => {
51-
'package_url' => "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${version}/rustdesk-server-hbbs_${version}_amd64.deb",
52-
'package_file_name' => "${package_name}_${version}_amd64.deb",
53-
'download_path' => "/tmp/${package_name}",
54-
},
55-
}
56-
5743
# Ensure dependencies are installed first
5844
package { $extra_dependencies:
5945
ensure => installed,
@@ -64,6 +50,7 @@
6450
['relay', 'signal'].each |$server| {
6551
$_server_type = lookup("rustdesk::server::${server}::package_name")
6652
$_package_url="https://github.com/rustdesk/rustdesk-server-pro/releases/download/${version}/${_server_type}_${version}_amd64.deb"
53+
6754
archive { $server :
6855
ensure => $enable,
6956
source => $_package_url,

modules/enableit/rustdesk/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "rustdesk",
2+
"name": "rustdesk-puppet-module",
33
"version": "0.1.0",
44
"author": "Obmondo",
55
"summary": "",

0 commit comments

Comments
 (0)