Icinga2 mit puppet clients: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 4: Zeile 4:
 
ein modul erstellen wie unten im beispiel
 
ein modul erstellen wie unten im beispiel
  
wir nenen es cert
 
  
 
  class cert {
 
  class cert {
 
  $cert = "${fqdn}.crt"
 
  $cert = "${fqdn}.crt"
 
  $key = "${fqdn}.key"
 
  $key = "${fqdn}.key"
 +
 +
 +
2 variablen setzen
 +
 +
damit wir die zertifikate richtig benen können
 +
 +
fqnd steht hier für fully qualified domain name
 +
 +
alls string würde der inhalt so ausehen
 +
 +
$key = irgendwas.xinux.org.key
 +
  
 
  file { '/etc/ssl/xin-ca.crt':
 
  file { '/etc/ssl/xin-ca.crt':
Zeile 33: Zeile 44:
 
       source => "puppet:///modules/cert/$key"
 
       source => "puppet:///modules/cert/$key"
 
  }
 
  }
 +
die source zeigt was kopiert werden soll
 +
 +
und file{wo es auf dem client landen soll}
 +
 +
mode,owner,group die rechte die auf dem client gesetzt werden sollen
  
 
=icinga2 clients=
 
=icinga2 clients=

Version vom 30. September 2015, 08:48 Uhr

puppet zertifikate verteilen

ein modul erstellen wie unten im beispiel


class cert {
$cert = "${fqdn}.crt"
$key = "${fqdn}.key"


2 variablen setzen

damit wir die zertifikate richtig benen können

fqnd steht hier für fully qualified domain name

alls string würde der inhalt so ausehen

$key = irgendwas.xinux.org.key


file { '/etc/ssl/xin-ca.crt':
  ensure => file,
      mode   => 664,
      owner => root,
      group => root,
      source => 'puppet:///modules/cert/xin-ca.crt'
}
file { "/etc/ssl/$cert":
  ensure => file,
      mode   => 664,
      owner => root,
      group => root,
      source => "puppet:///modules/cert/$cert"
}
file { "/etc/ssl/$key":
 ensure => file,
      mode   => 664,
     owner => root,
      group => root,
      source => "puppet:///modules/cert/$key"
}

die source zeigt was kopiert werden soll

und file{wo es auf dem client landen soll}

mode,owner,group die rechte die auf dem client gesetzt werden sollen

icinga2 clients

mkdir /etc/puppet/modules/icinga2-client

den ordner so strukturiern

Treeicinga2.png

die datei trusted-master.crt

sollte nicht wie im beispiel hier sein


  • die init.pp
class icinga2-client {
Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }
  package { "icinga2":
    ensure => present,
    require => Exec["icinga_repository"],
  }
  exec { "add-apt-repository ppa:formorer/icinga && apt-get update":
    alias => "icinga_repository",
    creates => "/etc/apt/sources.list.d/formorer-icinga-trusty.list",
    require => Package["software-properties-common"]
} 

  package { "software-properties-common":
    ensure => present
  }


  1. alles was in dieser classe berücksichticht werden soll mus in den ersten {} stehen
  1. also aufpassen das am schlus der datei mit } abgeschlosen ist
  1. wir prüfen ob icinga2 installiert ist wenn nicht wird es installier sofern die repository stimmen
  1. falls nicht fügen wird die repository hinzu wen software-properties-common installiert ist wen nicht installieren wir dies


  1. verlinken der certifcate