Änderungen von Dokument Eigene Autoconf-Rolle erstellen

Zuletzt geändert von Tom Altenbrunn am 2023/03/17 08:03

Von Version 12.4
bearbeitet von Tom Altenbrunn
am 2023/03/15 10:08
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 13.2
bearbeitet von Tom Altenbrunn
am 2023/03/15 12:09
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -2,17 +2,25 @@
2 2  
3 3  Logodidact ist bereits standardmäßig mit zahlreichen eigenen Autoconf-Rollen bestückt, um ein möglichst breites Spektrum verschiedenster Anforderungen des allgemeinen Schulbetriebs abzudecken.
4 4  
5 -Von SBE bereithestellte Rollen befinden sich im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}.
5 +Vonseiten SBE bereitgestellte Rollen befinden sich im ctrl-g1-Container im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}.
6 6  
7 -Selbst erstellte Autoconf-Rollen müssen unter {{box}}/data/ld/autoconf/custom{{/box}} (bzw. früher vor Puppet-Version 1.5.x unter {{box}}/var/lib/ld-autoconf/custom/{{/box}}) abgelegt werden, damit diese nicht durch Updates überschrieben werden.
7 +[[image:image-20230315103418-1.png||height="103" width="1344" class="img-thumbnail"]]
8 8  
9 -Der Aufbau einer Autoconf-Rolle muss einer Struktur folgen, damit der Server diese Interpretieren kann.
10 10  
11 -Unterhalb der Regel muss ein Ordner mit Namen {{box}}meta{{/box}} mit einer {{box}}logodidact.yml{{/box}} liegen. In dieser Datei sind Name, Beschreibung, Ersteller sowie weitere Informationen zur Autoconf-Rolle festgelegt.
10 +Darüber hinaus ist es Partnern und Kunden möglich für spezielle, schulspezifische Anforderungen eigene Autoconf-Rollen erstellen und im LD Control Center bereitstellen zu können. Dafür steht je nach Puppet-Versionsstand ein eigenes Verzeichnis im ctrl-g1 zur Verfügung, welches nicht durch Server-Updates beeinflusst oder überschrieben wird.
12 12  
12 +* bis Puppet-Version **1.4.x** : {{code language="bash"}}/var/lib/ld-autoconf/custom/{{/code}}
13 +* Ab Puppet-Version **1.5.x **:  {{code language="bash" layout="LINENUMBERS"}}/data/ld/autoconf/custom/{{/code}}
13 13  
14 -==== **Beispielaufbau der logodidact.yml:** ====
15 +Der Aufbau einer Autoconf-Rolle unterliegt einer vordefinierten Struktur, bestehend aus einer logodidact.yml, welche die Informationen zu Namen, Beschreibung, Ersteller und Variablen definiert, sowie der eigentlichen ausführbaren Skript-Datei (Powershell oder Bash). Diese liegen wiederum in ihren eigenen Dateiordnern. Daneben besteht auch die Möglichkeit im Unterordner files/ (ausführbare) Dateien, Bilder, Videos, etc. mitzugeben. Der strukturelle Aufbau ist nachfolgend ersichtlich:[[image:image-20230315120842-3.png||height="213" width="640"]]
15 15  
17 +----
18 +
19 +==== **Beispielaufbau einer logodidact.yml:** ====
20 +
21 +Eine Autoconf-Beispielvorlage liegt serverseitig im Unterordner example/ vor. Zum besseren Verständnis wird nachfolgend eine Autoconf-Rolle zur Mitgabe einer WLAN-SSID samt PSK an Clients näher beleuchtet.
22 +
23 +
16 16  (% class="box" %)
17 17  (((
18 18  root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/meta/logodidact.yml
... ... @@ -24,15 +24,15 @@
24 24   authors:
25 25   - Marcel Petersen
26 26   company: SBE network solutions GmbH
27 - display_name: WLAN Profil mit PSK anlegen
35 +(% style="color:#1abc9c" %)display_name:(%%) WLAN Profil mit PSK anlegen
28 28   license: SBE
29 - uuid: 52318636-c4f5-11ea-baf9-0bff00c66ff4
37 +(% style="color:#8e44ad" %) uuid:(%%) 52318636-c4f5-11ea-baf9-0bff00c66ff4
30 30   visible: true
31 31   priority: 0
32 32   applyAlways: false
33 - tags:
41 +(% style="color:#f1c40f" %) tags:(%%)
34 34   - CUSTOM
35 - vars:
43 +(% style="color:#e74c3c" %) vars:(%%)
36 36   ssid:
37 37   display_name: SSID
38 38   optional: false
... ... @@ -41,30 +41,27 @@
41 41   display_name: Passwort
42 42   optional: false
43 43   type: PASSWORD
44 - systems:
52 +(% style="color:#2980b9" %)systems:(%%)
45 45   - WINDOWS
46 46   - LINUX
47 47  )))
48 48  
49 -display_name = Anzeigename der Autoconf-Rolle im LD Control Center
57 +(% style="color:#1abc9c" %)display_name(%%) = Anzeigename der Autoconf-Rolle im LD Control Center
50 50  
51 -uuid = ID der Autoconf-Regel, muss einmalig sein. Bei einer eigenen Autoconf-Rolle sollte der Wert am besten neu generiert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]
59 +(% style="color:#8e44ad" %)uuid(%%) = ID der Autoconf-Regel. Muss einmalig sein. Bei einer eigenen Autoconf-Rolle sollte der Wert am besten neu generiert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]
52 52  
53 -tags = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird.
61 +(% style="color:#f1c40f" %)tags(%%) = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird.
54 54  
55 -systems = Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX
63 +(% style="color:#e74c3c" %)vars(%%) = definiert mögliche Variablen, die den Skripten übergeben werden
56 56  
57 -vars = definiert mögliche Variablen, die den Skripten übergeben werden
65 +* display_name = Name der konfigurierbaren Variable im Control Center
66 +* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss
67 +* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER
68 +* example = Zeigt einen grau eingefärbten Beispieltext innerhalb der definierten Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender).
58 58  
59 - ~* display_name = Name der konfigurierbaren Variable im Control Center
70 +(% style="color:#2980b9" %) systems (%%)= Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX
60 60  
61 - ~* example = Zeigt einen grau eingefärbten Beispieltext innerhalb Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender).
62 62  
63 - ~* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss
64 -
65 - ~* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER
66 -
67 -
68 68  **Beispiel für eine Variable:**
69 69  
70 70  (% class="box" %)
... ... @@ -80,8 +80,12 @@
80 80   - full
81 81  )))
82 82  
83 -(% style="font-size:12px" %)**Tipp:** Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann:
88 +(% class="box infomessage" %)
89 +(((
90 +(% style="font-size:12px" %)**Tipp:** Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierten Werten auswählen kann
91 +)))
84 84  
93 +----
85 85  
86 86  Für die Funktionalität der Autoconf-Rolle ist es nötig, PowerShell-Skripte am Server abzuspeichern, die die Instruktionen an den Arbeitsstationen ausführen. Diese Skripte liegen unterhalb der Autoconf-Rolle im Verzeichnis {{box}}win{{/box}}. Darin sind folgende Dateinamen zulässig:
87 87  
... ... @@ -92,14 +92,17 @@
92 92  * (% style="color:#8e44ad" %)**audit.ps1**(%%) - Skript wird ausschließlich in der AUDIT-Phase während des Deployments ausgeführt.
93 93  * **collect.ps1** - Sonderfall. Dieses Skript wird ausgeführt, wenn durch einen Anwender aktiv die Phase COLLECT zum Einsammeln von Einstellungen am Client aufgerufen werden.
94 94  
104 +(% class="box warningmessage" %)
105 +(((
95 95  (% style="font-size:12px" %)**Hinweis: **Skripte, die durch ihren Dateinamen auf die einzelnen Phasen eingeschränkt sind ((% style="color:#8e44ad; font-size:12px" %)lila eingefärbt(% style="font-size:12px" %)), können sich inhaltlich zueinander unterscheiden. Dadurch kann eine Autoconf-Rolle sehr flexibel gestaltet werden.
107 +)))
96 96  
97 97  
98 98  ==== **Beispielaufbau der main.ps1** ====
99 99  
100 -Im win-Verzeichnis können sich unterschiedliche Powershellskripte befinden. Der jeweilige Name der .ps1 Datei gibt an zu welcher Phase die Datei ausgeführt wird.
112 +Im win-Verzeichnis können sich unterschiedliche Powershell-Skripte befinden. Der jeweilige Name der .ps1 Datei gibt an zu welcher Phase die Datei ausgeführt wird.
101 101  
102 -{{code}}
114 +{{code width="50%"}}
103 103  user.ps1 = user Phase, nach der Anmeldung
104 104  
105 105  custom.ps1 = custom Phase
... ... @@ -165,7 +165,7 @@
165 165   Remove-Item -Path $file -Force
166 166  }
167 167  
168 -Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokale Variablen.
180 +Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokalen Variablen.
169 169  {{/code}}
170 170  
171 171  ==== ====
... ... @@ -172,10 +172,15 @@
172 172  
173 173  ==== **Neue AutoConf-Rollen freigeben** ====
174 174  
175 -Neue Autoconf-Rollen müssen am Server durch Aufruf des Befehls {{box}}update-autoconf-archive{{/box}} im LXC ctrl-g1 aktualisiert werden. Der Aufruf dieses Kommandos ist auch nach Änderungen an Autoconf-Rollen nötig.
187 +Neue Autoconf-Rollen können am Server durch Aufruf des Befehls {{box}}update-autoconf-archive{{/box}} im LXC ctrl-g1 aktualisiert werden. Der Aufruf dieses Kommandos ist auch nach Änderungen an Autoconf-Rollen nötig.
176 176  Alternativ werden alle Autoconf-Rollen auch zeitbasiert alle 4 Stunden am Server eingelesen. Dies passiert automatisch im Hintergrund.
177 177  
178 -Betätigen Sie außerdem im LD Control Center (mit aktiviertem Expertenmodus) folgenden Knopf, damit selbst hinzugefügte Autoconf-Rollen verfügbar werden.
190 +Betätigen Sie außerdem im LD Control Center (mit aktiviertem Expertenmodus) den Reiter "AutoConf Rollen neu einlesen", damit selbst hinzugefügte Autoconf-Rollen verfügbar werden.
179 179  
192 +(% class="box infomessage" %)
193 +(((
194 +Der Expertenmodus wird in den **Einstellungen (Zahnrad oben rechts) -> Entwickleroptionen -> Expertenmodus aktivieren** aktiv geschaltet.
195 +)))
196 +
180 180  [[image:attach:autoconf.png||data-xwiki-image-style-border="true"]]
181 181  
image-20230315103418-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,0 +1,1 @@
1 +25.1 KB
Inhalt
image-20230315120842-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.TomAltenbrunn@sbede
Größe
... ... @@ -1,0 +1,1 @@
1 +34.9 KB
Inhalt