Änderungen von Dokument Eigene Autoconf-Rolle erstellen

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

Von Version 12.8
bearbeitet von Tom Altenbrunn
am 2023/03/15 11:06
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 13.1
bearbeitet von Tom Altenbrunn
am 2023/03/15 12:08
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -13,12 +13,16 @@
13 13  * Ab Puppet-Version **1.5.x **:  {{code language="bash" layout="LINENUMBERS"}}/data/ld/autoconf/custom/{{/code}}
14 14  
15 15  
16 -Der Aufbau einer Autoconf-Rolle unterliegt einer vordefinierten Struktur, bestehend aus einer YAML-Datei, welche die Informationen zu Namen und Variablen definiert, sowie der eigentlichen ausführbaren Skript-Datei (Powershell oder Bash) und einer damit der Server diese Interpretieren kann.
16 +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.
17 +Der strukturelle Aufbau ist nachfolgend ersichtlich:
18 +[[image:image-20230315112326-2.png||height="215" width="633" class="img-thumbnail"]]
17 17  
18 -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.
20 +----
19 19  
22 +==== **Beispielaufbau einer logodidact.yml:** ====
20 20  
21 -==== **Beispielaufbau der logodidact.yml:** ====
24 +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.
25 +
22 22  
23 23  (% class="box" %)
24 24  (((
... ... @@ -31,15 +31,15 @@
31 31   authors:
32 32   - Marcel Petersen
33 33   company: SBE network solutions GmbH
34 - display_name: WLAN Profil mit PSK anlegen
38 +(% style="color:#1abc9c" %)display_name:(%%) WLAN Profil mit PSK anlegen
35 35   license: SBE
36 - uuid: 52318636-c4f5-11ea-baf9-0bff00c66ff4
40 +(% style="color:#8e44ad" %) uuid:(%%) 52318636-c4f5-11ea-baf9-0bff00c66ff4
37 37   visible: true
38 38   priority: 0
39 39   applyAlways: false
40 - tags:
44 +(% style="color:#f1c40f" %) tags:(%%)
41 41   - CUSTOM
42 - vars:
46 +(% style="color:#e74c3c" %) vars:(%%)
43 43   ssid:
44 44   display_name: SSID
45 45   optional: false
... ... @@ -48,30 +48,27 @@
48 48   display_name: Passwort
49 49   optional: false
50 50   type: PASSWORD
51 - systems:
55 +(% style="color:#2980b9" %)systems:(%%)
52 52   - WINDOWS
53 53   - LINUX
54 54  )))
55 55  
56 -display_name = Anzeigename der Autoconf-Rolle im LD Control Center
60 +(% style="color:#1abc9c" %)display_name(%%) = Anzeigename der Autoconf-Rolle im LD Control Center
57 57  
58 -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/]]
62 +(% 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/]]
59 59  
60 -tags = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird.
64 +(% style="color:#f1c40f" %)tags(%%) = beschreibt, in welchen Phasen die Autoconf-Regel ausgeführt wird.
61 61  
62 -systems = Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX
66 +(% style="color:#e74c3c" %)vars(%%) = definiert mögliche Variablen, die den Skripten übergeben werden
63 63  
64 -vars = definiert mögliche Variablen, die den Skripten übergeben werden
68 +* display_name = Name der konfigurierbaren Variable im Control Center
69 +* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss
70 +* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER
71 +* example = Zeigt einen grau eingefärbten Beispieltext innerhalb der definierten Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender).
65 65  
66 - ~* display_name = Name der konfigurierbaren Variable im Control Center
73 +(% style="color:#2980b9" %) systems (%%)= Legt fest, welche Betriebssystem-Typen durch die Autoconf-Rolle unterstützt werden. Gültige Systeme sind: WINDOWS / LINUX
67 67  
68 - ~* example = Zeigt einen grau eingefärbten Beispieltext innerhalb Variable an, ohne dass dieser als Wert festgelegt ist (Hilfsmittel für Anwender).
69 69  
70 - ~* optional = bestimmt, ob die Variable zwingend mit einem Wert belegt werden muss
71 -
72 - ~* type = bestimmt den Typ der Variable. Gültige Typen sind: STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER
73 -
74 -
75 75  **Beispiel für eine Variable:**
76 76  
77 77  (% class="box" %)
... ... @@ -87,8 +87,12 @@
87 87   - full
88 88  )))
89 89  
90 -(% style="font-size:12px" %)**Tipp:** Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann:
91 +(% class="box infomessage" %)
92 +(((
93 +(% style="font-size:12px" %)**Tipp:** Der Variablentyp ENUM aus dem Beispiel entspricht einem Dropdown-Menü, in dem man aus vordefinierten Werten auswählen kann
94 +)))
91 91  
96 +----
92 92  
93 93  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:
94 94  
... ... @@ -99,14 +99,17 @@
99 99  * (% style="color:#8e44ad" %)**audit.ps1**(%%) - Skript wird ausschließlich in der AUDIT-Phase während des Deployments ausgeführt.
100 100  * **collect.ps1** - Sonderfall. Dieses Skript wird ausgeführt, wenn durch einen Anwender aktiv die Phase COLLECT zum Einsammeln von Einstellungen am Client aufgerufen werden.
101 101  
107 +(% class="box warningmessage" %)
108 +(((
102 102  (% 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.
110 +)))
103 103  
104 104  
105 105  ==== **Beispielaufbau der main.ps1** ====
106 106  
107 -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.
115 +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.
108 108  
109 -{{code}}
117 +{{code width="50%"}}
110 110  user.ps1 = user Phase, nach der Anmeldung
111 111  
112 112  custom.ps1 = custom Phase
... ... @@ -172,7 +172,7 @@
172 172   Remove-Item -Path $file -Force
173 173  }
174 174  
175 -Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokale Variablen.
183 +Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokalen Variablen.
176 176  {{/code}}
177 177  
178 178  ==== ====
... ... @@ -179,10 +179,15 @@
179 179  
180 180  ==== **Neue AutoConf-Rollen freigeben** ====
181 181  
182 -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.
190 +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.
183 183  Alternativ werden alle Autoconf-Rollen auch zeitbasiert alle 4 Stunden am Server eingelesen. Dies passiert automatisch im Hintergrund.
184 184  
185 -Betätigen Sie außerdem im LD Control Center (mit aktiviertem Expertenmodus) folgenden Knopf, damit selbst hinzugefügte Autoconf-Rollen verfügbar werden.
193 +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.
186 186  
195 +(% class="box infomessage" %)
196 +(((
197 +Der Expertenmodus wird in den **Einstellungen (Zahnrad oben rechts) -> Entwickleroptionen -> Expertenmodus aktivieren** aktiv geschaltet.
198 +)))
199 +
187 187  [[image:attach:autoconf.png||data-xwiki-image-style-border="true"]]
188 188