feat: create glauth module
- manage config directories, config file - manage systemd service and socket - manage users, service accounts and groups - manage defaults for users, services and groups - manage packages for role
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# define a group object
|
||||
define glauth::obj::group (
|
||||
String $group_name,
|
||||
Integer $gidnumber,
|
||||
Stdlib::Absolutepath $config_path,
|
||||
Optional[Array[Integer]] $includegroups = [],
|
||||
) {
|
||||
concat::fragment { "glauth_group_${group_name}":
|
||||
target => $config_path,
|
||||
content => epp('glauth/obj/group.epp', {
|
||||
'name' => $group_name,
|
||||
'gidnumber' => $gidnumber,
|
||||
'includegroups' => $includegroups,
|
||||
}),
|
||||
order => '90',
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
# define a service object
|
||||
define glauth::obj::service (
|
||||
String $service_name,
|
||||
String $mail,
|
||||
Integer $uidnumber,
|
||||
Integer $primarygroup,
|
||||
String $passsha256,
|
||||
Stdlib::Absolutepath $config_path,
|
||||
) {
|
||||
concat::fragment { "glauth_service_${service_name}":
|
||||
target => $config_path,
|
||||
content => epp('glauth/obj/service.epp', {
|
||||
'name' => $service_name,
|
||||
'mail' => $mail,
|
||||
'uidnumber' => $uidnumber,
|
||||
'primarygroup' => $primarygroup,
|
||||
'passsha256' => $passsha256,
|
||||
}),
|
||||
order => '80',
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
# define a user object
|
||||
define glauth::obj::user (
|
||||
String $user_name,
|
||||
String $mail,
|
||||
Integer $uidnumber,
|
||||
Integer $primarygroup,
|
||||
String $passsha256,
|
||||
Stdlib::Absolutepath $config_path,
|
||||
String $givenname = '',
|
||||
String $sn = '',
|
||||
String $loginshell = '',
|
||||
String $homedir = '',
|
||||
Optional[Array[String]] $sshkeys = [],
|
||||
Optional[Array[String]] $passappsha256 = [],
|
||||
Optional[Array[Integer]] $othergroups = [],
|
||||
) {
|
||||
$formatted_othergroups = $othergroups.empty ? {
|
||||
true => '[]',
|
||||
false => "[${othergroups.join(', ')}]",
|
||||
}
|
||||
concat::fragment { "glauth_user_${user_name}":
|
||||
target => $config_path,
|
||||
content => epp('glauth/obj/user.epp', {
|
||||
'name' => $user_name,
|
||||
'givenname' => $givenname,
|
||||
'sn' => $sn,
|
||||
'mail' => $mail,
|
||||
'uidnumber' => $uidnumber,
|
||||
'primarygroup' => $primarygroup,
|
||||
'loginshell' => $loginshell,
|
||||
'homedir' => $homedir,
|
||||
'passsha256' => $passsha256,
|
||||
'sshkeys' => $sshkeys,
|
||||
'passappsha256' => $passappsha256,
|
||||
'othergroups' => $formatted_othergroups,
|
||||
}),
|
||||
order => '70',
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user