Seite wählen

Puppet im Directory Tree vertüdelt

von | Jul 11, 2014 | Puppet, Web Services

Bei Puppet-Schulungen werde ich recht häufig gefragt, ob es auch möglich ist, Verzeichnisse rekursiv zu erzeugen und zu verwalten?
Ja, die Existenz und damit natürlich auch das Anlegen kann man sicherstellen. Hierzu kürz ein Beispiel:
Ich möchte für mein Web-Hosting Geschäft, jedem Kunden für seinen virtuellen Host die gleiche Verzeichnisstruktur anlegen.

kunde/
├── ftdocs
|   ├── Welcome.txt
│   ├── incoming
│   └── pub
├── htdocs
├── logs
└── stats

Zuerst legt man sich diese Verzeichnisstruktur unter ./files in seinem Modul webhosting an. Der Puppet-Code kann dann wie folgt aussehen:

file { "/var/www/${kunde}":
    ensure  => directory,
    owner   => $kunde,
    group   => $kunde,
    mode    => '0644',
    recurse => true,
    source  => 'puppet:///modules/webhosting/kunde/';
}

Puppet legt nun bzw. kontrolliert die Existenz dieser Struktur, inklusive der Datei Welcome.txt. Da Puppet für Verzeichnisse die Berechtigungen automatisch anpasst, also z.B. aus 0644 ein 0755 macht, ist damit in unserem Bespiel auch ein Wechseln in die Verzeichnisse möglich.
Einschränkend ist hier natürlich, das alle Unterverzeichnisse und auch die Dateien, den selben Owner, die selbe Gruppe und Berechtigungen haben.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

0 Kommentare

Trackbacks/Pingbacks

  1. Open Source Datacenter Solutions › NETWAYS Blog - […] Lennart showed how to create directories in Puppet recursively and Michael forwarded news of the Monitoring Plugins 2.0 […]

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Puppet | Web Services

Kritischer Fehler in Puppet Version 7.29.0 und 8.5.0

Eine Warnung an alle Nutzer von Puppet, aber auch Foreman oder dem Icinga-Installer, die Version 7.29.0 und 8.5.0 von Puppet enthält einen kritischen Fehler, der die Erstellung eines Katalogs und somit die Anwendung der Konfiguration verhindert. Daher stellt bitte...

CfgMgmtCamp 2024: Unser Rückblick

Vergangene Woche fuhr ein Teil unseres Teams bei NWS bis nach Ghent in Belgien, um am ConfigManagementCamp 2024 teilzunehmen. Hierbei handelt es sich um eine kostenlose Konferenz, direkt im Anschluss an die FOSDEM, was Jahr für Jahr für ein großes Publikum aus Fans...

Effektive Zugriffskontrolle für GitLab Pages

Grundlagen von GitLab Pages GitLab Pages sind eine facettenreiche Funktion, die es ermöglicht, statische Webseiten direkt aus einem GitLab-Repository heraus zu hosten. Diese Funktionalität eröffnet eine breite Palette von Anwendungsmöglichkeiten, von der Erstellung...