Skip to content

Commit 8577bc7

Browse files
committed
Merge pull request 'feat: add rustdesk module' (#1283) from feat/add-rustdesk-module into master
Reviewed-on: https://gitea.obmondo.com/EnableIT/LinuxAid/pulls/1283
2 parents a2dec62 + 0298f47 commit 8577bc7

7 files changed

Lines changed: 60 additions & 80 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ var/
2929

3030
# Ignore yardoc dir
3131
*.yardoc/
32+
33+
# Ignore custom/user-specific VS Code configs
34+
*.vscode/
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
common::monitor::exporter::enable: true
3-
common::network::service_name: 'systemd-networkd'
3+
common::network::service_name: "systemd-networkd"
44
common::monitor::exporter::security::enable: true
5-
common::software::rustdesk::dependencies:
5+
common::software::rustdesk::client_extra_dependencies:
66
- libgtk-3-0
77
- libasound2
88
common::openvox::version: "8.19.2"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
common::monitor::exporter::enable: true
3-
common::network::service_name: 'systemd-networkd'
3+
common::network::service_name: "systemd-networkd"
44
common::monitor::exporter::security::enable: true
5-
common::software::rustdesk::dependencies:
5+
common::software::rustdesk::client_extra_dependencies:
66
- libgtk-3-0
77
- libasound2
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
common::monitor::exporter::enable: true
3-
common::network::service_name: 'systemd-networkd'
3+
common::network::service_name: "systemd-networkd"
44
common::system::systemd::manage_resolved: true
55
common::monitor::exporter::security::enable: true
6-
common::software::vncserver::systemd_service: 'tigervncserver'
6+
common::software::vncserver::systemd_service: "tigervncserver"
77
common::software::vncserver::config_defaults:
88
session: "ubuntu"
99
geometry: "1920x1080"
1010
localhost: "no"
11-
common::software::rustdesk::dependencies:
11+
common::software::rustdesk::client_extra_dependencies:
1212
- libgtk-3-0t64
1313
- libasound2t64

modules/enableit/common/manifests/software.pp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
}
3535

3636
if lookup('common::software::insights::manage', Boolean, undef, false) {
37-
common::software::insights.include # inclu
38-
37+
common::software::insights.include
3938
}
4039

4140
if lookup('common::software::vncserver::manage', Boolean, undef, false) {
Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,31 @@
11
# @summary Class for managing the Rustdesk software
22
#
3-
# @param manage Boolean parameter to control management of the Rustdesk. Defaults to false.
3+
# @param manage Boolean parameter to control management of Rustdesk module. Defaults to false.
44
#
5-
# @param enable Boolean parameter to enable or disable the Rustdesk. Defaults to false.
5+
# @param client_enable Boolean parameter to enable or disable the Rustdesk client. Defaults to false.
66
#
7-
# @param version String parameter to control version of the Rustdesk.
7+
# @param client_version SemVer parameter to control Rustdesk client version. Defaults to false.
88
#
9-
# @param noop_value Optional boolean to specify noop mode value.
9+
# @param client_extra_dependencies Array[String] parameter to install OS specific dependencies. Defaults to [].
10+
#
11+
# @param server_enable Boolean parameter to enable or disable the Rustdesk server. Defaults to false.
12+
#
13+
# @param server_version SemVer parameter to control Rustdesk server version. Defaults to false.
14+
#
15+
# @param server_extra_dependencies Array[String] parameter to install OS specific dependencies. Defaults to [].
1016
#
1117
class common::software::rustdesk (
12-
Boolean $manage = true,
13-
Boolean $enable = true,
14-
Eit_types::Version $version = undef,
15-
Eit_types::Noop_Value $noop_value = undef,
16-
Array[String] $dependencies = [],
17-
) {
18+
Boolean $manage = false,
19+
20+
Boolean $client_enable = false,
21+
SemVer $client_version = false,
22+
Array[String] $client_extra_dependencies = [],
1823

24+
Boolean $server_enable = false,
25+
SemVer $server_version = false,
26+
Array[String] $server_extra_dependencies = [],
27+
) {
1928
if $manage {
20-
contain profile::software::rustdesk
29+
include profile::software::rustdesk
2130
}
2231
}
Lines changed: 29 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,33 @@
1-
# Rustdesk Setup
1+
# @summary Class for managing the Rustdesk software
2+
#
3+
# @param client_enable Boolean parameter to enable or disable the Rustdesk client. Defaults to false.
4+
#
5+
# @param client_version SemVer parameter to control Rustdesk client version. Defaults to false.
6+
#
7+
# @param client_extra_dependencies Array[String] parameter to install OS specific dependencies. Defaults to [].
8+
#
9+
# @param server_enable Boolean parameter to enable or disable the Rustdesk server. Defaults to false.
10+
#
11+
# @param server_version SemVer parameter to control Rustdesk server version. Defaults to false.
12+
#
13+
# @param server_extra_dependencies Array[String] parameter to install OS specific dependencies. Defaults to [].
14+
#
215
class profile::software::rustdesk (
3-
Boolean $enable = $common::software::rustdesk::enable,
4-
Eit_types::Version $version = $common::software::rustdesk::version,
5-
Eit_types::Noop_Value $noop_value = $common::software::rustdesk::noop_value,
6-
Array[String] $dependencies = $common::software::rustdesk::dependencies,
7-
) {
8-
9-
# Fixed common dependencies
10-
$common_deps = [
11-
'libxcb-randr0',
12-
'libxdo3',
13-
'libxfixes3',
14-
'libxcb-shape0',
15-
'libxcb-xfixes0',
16-
'libva2',
17-
'libva-drm2',
18-
'libva-x11-2',
19-
'libgstreamer-plugins-base1.0-0',
20-
'gstreamer1.0-pipewire',
21-
]
22-
23-
# Merge common + OS-specific dependencies
24-
$extra_dependencies = concat($common_deps, $dependencies)
16+
Boolean $client_enable = $common::software::rustdesk::client_enable,
17+
SemVer $client_version = $common::software::rustdesk::client_version,
18+
Array[String] $client_extra_dependencies = $common::software::rustdesk::client_extra_dependencies,
2519

26-
$package_url = "https://github.com/rustdesk/rustdesk/releases/download/${version}/rustdesk-${version}-x86_64.deb"
27-
$package_name = "rustdesk-${version}-x86_64.deb"
28-
$download_path = "/tmp/${package_name}"
29-
30-
Package {
31-
noop => $noop_value,
32-
}
33-
34-
Exec {
35-
noop => $noop_value,
36-
}
37-
38-
Service {
39-
noop => $noop_value,
40-
}
41-
42-
# Ensure dependencies are installed first
43-
package { $extra_dependencies:
44-
ensure => installed,
45-
}
46-
47-
archive { $download_path:
48-
ensure => ensure_present($enable),
49-
source => $package_url,
50-
}
51-
52-
package { 'rustdesk':
53-
ensure => installed,
54-
provider => 'dpkg',
55-
source => $download_path,
56-
require => Archive[$download_path],
57-
}
58-
59-
service { 'rustdesk.service':
60-
ensure => ensure_service($enable),
61-
enable => $enable,
62-
require => Package['rustdesk'],
20+
Boolean $server_enable = $common::software::rustdesk::server_enable,
21+
SemVer $server_version = $common::software::rustdesk::server_version,
22+
Array[String] $server_extra_dependencies = $common::software::rustdesk::server_extra_dependencies,
23+
) {
24+
class { 'rustdesk':
25+
client_enable => $client_enable,
26+
client_version => $client_version,
27+
client_extra_dependencies => $client_extra_dependencies,
28+
29+
server_enable => $server_enable,
30+
server_version => $server_version,
31+
server_extra_dependencies => $server_extra_dependencies,
6332
}
6433
}

0 commit comments

Comments
 (0)