host.pp 827 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # a host for a certain network
  2. # title must be:
  3. # hostname@network
  4. #
  5. define tinc::host(
  6. $public_key,
  7. $address,
  8. $ensure = present,
  9. $port = 655,
  10. $compression = 10,
  11. ) {
  12. # if absent the net should
  13. # clean it up by itself
  14. if $ensure == 'present' {
  15. validate_re($name,'.+@.+')
  16. $sp_name = split($name,'@')
  17. $fqdn_tinc = $sp_name[0]
  18. $net = $sp_name[1]
  19. include tinc
  20. if $tinc::uses_systemd {
  21. $service_name = "tincd@${net}"
  22. } else {
  23. $service_name = 'tinc'
  24. }
  25. file{"/etc/tinc/${net}/hosts/${fqdn_tinc}":
  26. content => template('tinc/host.erb'),
  27. # to be sure that we manage that net
  28. require => File["/etc/tinc/${net}/hosts"],
  29. notify => Service[$service_name],
  30. owner => root,
  31. group => 0,
  32. mode => '0600';
  33. }
  34. }
  35. }