feat: adding rke2

- manage rke2 repos
- add rke2 module (init, params, install, config, service)
- add node_type setting class profiles::rke2::node
- exclude setting ips for cilium interfaces
This commit is contained in:
2025-09-06 23:01:57 +10:00
parent 65fb52da55
commit e9d3da946e
8 changed files with 107 additions and 1 deletions
+15
View File
@@ -0,0 +1,15 @@
# config rke2
class rke2::config (
Enum['server', 'agent'] $node_type = $rke2::node_type,
Stdlib::Absolutepath $config_file = $rke2::config_file,
Hash $config_hash = $rke2::config_hash,
){
file { $config_file:
ensure => file,
content => $config_hash.to_yaml,
owner => 'root',
group => 'root',
mode => '0644',
}
}
+13
View File
@@ -0,0 +1,13 @@
# manage rke2
class rke2 (
Enum['server', 'agent'] $node_type = $rke2::params::node_type,
Stdlib::Absolutepath $config_file = $rke2::params::config_file,
Hash $config_hash = $rke2::params::config_hash,
) inherits rke2::params {
include rke2::install
include rke2::config
include rke2::service
Class['rke2::install'] -> Class['rke2::config'] -> Class['rke2::service']
}
+10
View File
@@ -0,0 +1,10 @@
# install rke2
class rke2::install (
Enum['server', 'agent'] $node_type = $rke2::node_type,
){
package {"rke2-${node_type}":
ensure => installed,
}
}
+6
View File
@@ -0,0 +1,6 @@
# rke2 params
class rke2::params (
Enum['server', 'agent'] $node_type = 'agent',
Stdlib::Absolutepath $config_file = '/etc/rancher/rke2/config.yaml',
Hash $config_hash = {},
) {}
+13
View File
@@ -0,0 +1,13 @@
# manage rke2 service
class rke2::service (
Enum['server', 'agent'] $node_type = $rke2::node_type,
Stdlib::Absolutepath $config_file = $rke2::config_file,
){
service {"rke2-${node_type}":
ensure => true,
enabled => true,
subscribe => File[$config_file],
}
}