feat: add nomad agent role

- add nomad agent role
- mount cephfs volume nomadfs to /shared/nomad
- manage docker volume path to be /shared/nomad
This commit is contained in:
2024-12-25 23:36:29 +11:00
parent 48e1fb8e30
commit 94a1b8fa93
8 changed files with 111 additions and 5 deletions
+16 -1
View File
@@ -1,6 +1,7 @@
# profiles::nomad::node
class profiles::nomad::node (
Stdlib::Absolutepath $data_dir = '/data/nomad',
Stdlib::Absolutepath $data_dir = '/data/nomad',
Stdlib::Absolutepath $nomad_root = '/shared/nomad',
Integer $bootstrap_expect = 3,
Boolean $server = false,
Boolean $client = false,
@@ -30,6 +31,20 @@ class profiles::nomad::node (
}
}
if $client {
include profiles::ceph::client
# manage the sharedvol
profiles::storage::cephfsvol {"${::facts['networking']['fqdn']}_nomad":
mount => $nomad_root,
keyring => '/etc/ceph/ceph.client.nomad.keyring',
cephfs_name => 'nomad',
cephfs_fs => 'nomadfs',
require => Profiles::Ceph::Keyring['nomad'],
}
}
file { $data_dir:
ensure => directory,
owner => $user,
@@ -36,4 +36,3 @@ tls {
verify_server_hostname = true
verify_https_client = false
}
+11
View File
@@ -0,0 +1,11 @@
# a role to deploy a nomad agent
class roles::infra::nomad::agent {
if $facts['firstrun'] {
include profiles::defaults
include profiles::firstrun::init
}else{
include profiles::defaults
include profiles::base
include profiles::base::datavol
}
}