feat: networking defaults

- add interface/route defaults
- merge defaults into each interface/route
This commit is contained in:
Ben Vincent 2024-06-23 17:34:23 +10:00
parent 3b907159f1
commit 6839fb8c5f
3 changed files with 23 additions and 22 deletions

View File

@ -111,9 +111,15 @@ lookup_options:
networking::interfaces: networking::interfaces:
merge: merge:
strategy: deep strategy: deep
networking::interface_defaults:
merge:
strategy: deep
networking::routes: networking::routes:
merge: merge:
strategy: deep strategy: deep
networking::route_defaults:
merge:
strategy: deep
ssh::server::options: ssh::server::options:
merge: merge:
strategy: deep strategy: deep
@ -282,19 +288,17 @@ sudo::configs:
profiles::accounts::sysadmin::sshkeys: profiles::accounts::sysadmin::sshkeys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ8SRLlPiDylBpdWR9LpvPg4fDVD+DZst4yRPFwMMhta4mnB1H9XuvZkptDhXywWQ7QIcqa2WbhCen0OQJCtwn3s7EYtacmF5MxmwBYocPoK2AArGuh6NA9rwTdLrPdzhZ+gwe88PAzRLNzjm0ZBR+mA9saMbPJdqpKp0AWeAM8QofRQAWuCzQg9i0Pn1KDMvVDRHCZof4pVlHSTyHNektq4ifovn0zhKC8jD/cYu95mc5ftBbORexpGiQWwQ3HZw1IBe0ZETB1qPIPwsoJpt3suvMrL6T2//fcIIUE3TcyJKb/yhztja4TZs5jT8370G/vhlT70He0YPxqHub8ZfBv0khlkY93VBWYpNGJwM1fVqlw7XbfBNdOuJivJac8eW317ZdiDnKkBTxapThpPG3et9ib1HoPGKRsd/fICzNz16h2R3tddSdihTFL+bmTCa6Lo+5t5uRuFjQvhSLSgO2/gRAprc3scYOB4pY/lxOFfq3pU2VvSJtRgLNEYMUYKk= ben@unkin.net - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ8SRLlPiDylBpdWR9LpvPg4fDVD+DZst4yRPFwMMhta4mnB1H9XuvZkptDhXywWQ7QIcqa2WbhCen0OQJCtwn3s7EYtacmF5MxmwBYocPoK2AArGuh6NA9rwTdLrPdzhZ+gwe88PAzRLNzjm0ZBR+mA9saMbPJdqpKp0AWeAM8QofRQAWuCzQg9i0Pn1KDMvVDRHCZof4pVlHSTyHNektq4ifovn0zhKC8jD/cYu95mc5ftBbORexpGiQWwQ3HZw1IBe0ZETB1qPIPwsoJpt3suvMrL6T2//fcIIUE3TcyJKb/yhztja4TZs5jT8370G/vhlT70He0YPxqHub8ZfBv0khlkY93VBWYpNGJwM1fVqlw7XbfBNdOuJivJac8eW317ZdiDnKkBTxapThpPG3et9ib1HoPGKRsd/fICzNz16h2R3tddSdihTFL+bmTCa6Lo+5t5uRuFjQvhSLSgO2/gRAprc3scYOB4pY/lxOFfq3pU2VvSJtRgLNEYMUYKk= ben@unkin.net
networking::interfaces: networking::interface_defaults:
eth0: ensure: present
ensure: present family: inet
family: inet method: static
method: static netmask: 255.255.255.0
netmask: 255.255.255.0 onboot: true
onboot: true networking::route_defaults:
networking::routes: ensure: present
default: interface: eth0
ensure: present netmask: 0.0.0.0
interface: eth0 network: default
netmask: 0.0.0.0
network: default
profiles::ceph::client::fsid: 7f7f00cb-95de-498c-8dcc-14b54e4e9ca8 profiles::ceph::client::fsid: 7f7f00cb-95de-498c-8dcc-14b54e4e9ca8
profiles::ceph::client::mons: profiles::ceph::client::mons:

View File

@ -1,15 +1,8 @@
--- ---
profiles::cobbler::params::is_cobbler_master: true profiles::cobbler::params::is_cobbler_master: true
networking::interfaces: networking::interfaces:
eth0:
ensure: absent
ens18: ens18:
ensure: present
family: inet
method: static
ipaddress: 198.18.13.27 ipaddress: 198.18.13.27
netmask: 255.255.255.0
onboot: true
networking::routes: networking::routes:
default: default:
gateway: 198.18.13.254 gateway: 198.18.13.254

View File

@ -1,20 +1,24 @@
# unkin networking module # unkin networking module
class networking ( class networking (
Hash $interfaces = {}, Hash $interfaces = {},
Hash $interface_defaults = {},
Hash $routes = {}, Hash $routes = {},
Hash $route_defaults = {},
){ ){
include network include network
include networking::params include networking::params
$interfaces.each | $interface, $data | { $interfaces.each | $interface, $data | {
$merged_data = merge($interface_defaults, $data)
network_config {$interface: network_config {$interface:
* => $data, * => $merged_data,
} }
} }
$routes.each | $route, $data | { $routes.each | $route, $data | {
$merged_data = merge($route_defaults, $data)
network_route {$route: network_route {$route:
* => $data, * => $merged_data,
} }
} }