Änderungen von Dokument Eigene Autoconf-Rolle erstellen

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

Von Version 1.1
bearbeitet von Christian Germann
am 2022/08/09 10:16
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.1
bearbeitet von Christian Germann
am 2022/10/04 10:51
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Autoconf-Konfiguration erstellen
1 +Eigene Autoconf-Regel erstellen
Inhalt
... ... @@ -1,13 +1,23 @@
1 -Autoconf liegt wie der Vorgänger Ansible im ctrl-g1 Container.
2 -Dort im Pfad /usr/lib/ld-autoconf/logodidact/roles/ finden sich die bestehenden Rollen.
3 -Für eigene Rollen sollte die Rolle unter  /var/lib/ld-autoconf/custom abgelegt werden. Nach einem LD-Update geht so die Arbeit nicht verloren!
1 +Autoconf liegt wie der Vorgänger Ansible im ctrl-g1 Container und dient dazu Einstellungen oder Konfigurationen auf die deployten Rechner ohne ein Image dafür zu schreiben.
4 4  
5 -Eine Autoconf-Regel besteht aus den Informationen zur Regel, die in der logodidact.yml im Ordner meta liegen und den jeweiligen Skripten für Windows im Unterordner win.
6 -Linux-Skripte würden sich im Unterordner lin befinden.
7 -\\**Beispielaufbau der logodidact.yml:**
3 +Von SBE ausgelieferte Rollen befinden sich Im Pfad {{box}}/usr/lib/ld-autoconf/logodidact/roles/{{/box}}.
8 8  
5 +Selbst erstellte Autoconf-Rollen müssen unter {{box}}/var/lib/ld-autoconf/custom/{{/box}} abgelegt werden, damit diese nicht durch Updates überschrieben werden.
6 +
7 +Der Aufbau einer Autoconf-Regel muss einer Struktur folgen, damit der Server diese Interpretieren kann.
8 +
9 +Unterhalb der Regel muss ein Ordner mit Namen {{box}}meta{{/box}} mit einer {{box}}logodidact.yml{{/box}} liegen.
10 +
11 +
12 +==== **Beispielaufbau der logodidact.yml:** ====
13 +
14 +(% class="box" %)
15 +(((
9 9  root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/meta/logodidact.yml
17 +)))
10 10  
19 +(% class="box" %)
20 +(((
11 11  ld_info:
12 12   authors:
13 13   - Marcel Petersen
... ... @@ -32,8 +32,9 @@
32 32   systems:
33 33   - WINDOWS
34 34   - LINUX
45 +)))
35 35  
36 -uuid = ID der Autoconf-Regel, muss einmalig sein. Bei einer eigenen Autoconf-Regel muss der Wert am besten neugeniert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]
47 +uuid = ID der Autoconf-Regel, muss einmalig sein. Bei einer eigenen Autoconf-Regel sollte der Wert am besten neugeneriert werden. [[https:~~/~~/www.uuidgenerator.net/>>url:https://www.uuidgenerator.net/]]
37 37  
38 38  tags = beschreibt in welcher Phase die Autoconf-Regel aktiv ist.
39 39  
... ... @@ -46,6 +46,8 @@
46 46  type = bestimmt den Wert der Variable. Mögliche Werte STRING, PASSWORD, BOOLEAN, ENUM, ARRAY, INTEGER
47 47  ENUM entspricht einem Dropdown-Menü, in dem man aus vordefinierte Werte auswählen kann:
48 48  
60 +(% class="box" %)
61 +(((
49 49  globalLogLevel:
50 50   display_name: Loglevel
51 51   optional: true
... ... @@ -55,14 +55,21 @@
55 55   - compact
56 56   - detailed
57 57   - full
71 +)))
58 58  
59 59  example = Gibt eine grauen Beispielwert für die Variable vor.
60 60  
61 61  systems = für welches Betriebssystem existieren Skripte in der Autoconf-Regel
62 62  
63 -**Beispielaufbau der main.ps1**
64 64  
78 +Die eigentliche Skripte liegen direkt unterhalb der Autoconf-Regel im Verzeichnis {{box}}win{{/box}} neben dem Ordner {{box}}meta{{/box}}. Dort kann das Script main.ps1 heißen oder je nach dem in welcher Phase des Deployment es ausgeführt werden soll auch custom.ps1, setup.ps1, audit.ps1.
79 +
80 +
81 +==== **Beispielaufbau der main.ps1** ====
82 +
65 65  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.
84 +
85 +{{code}}
66 66  user.ps1 = user Phase, nach der Anmeldung
67 67  
68 68  custom.ps1 = custom Phase
... ... @@ -73,7 +73,7 @@
73 73  
74 74  main.ps1 = alle Phasen
75 75  
76 -root@ctrl-g1:~~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1
96 +root@ctrl-g1:~ # cat /usr/lib/ld-autoconf/logodidact/roles/ld_wlan_psk/win/main.ps1
77 77  
78 78  Param
79 79  (
... ... @@ -84,9 +84,10 @@
84 84   [String]
85 85   $psk
86 86  )
87 -\\if ($ssid -ne '' -and $psk -ne '') {
107 +
108 +if ($ssid -ne '' -and $psk -ne '') {
88 88   $profile = @'
89 -<WLANProfile xmlns="http:~/~/www.microsoft.com/networking/WLAN/profile/v1">
110 +<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
90 90   <name>{0}</name>
91 91   <SSIDConfig>
92 92   <SSID>
... ... @@ -111,24 +111,30 @@
111 111   </MSM>
112 112  </WLANProfile>
113 113  '@ -f $ssid, $psk
114 -\\ $file = "$AUTOCONF_TEMP_DIR\ld_wlan_psk\wlan.xml"
115 -\\ $profile | Out-File (New-Item $file -Force)
116 -\\ Get-NetAdapter | Where-Object { $_.PhysicalMediaType -eq 'Native 802.11' -or `
135 +
136 + $file = "$AUTOCONF_TEMP_DIR\ld_wlan_psk\wlan.xml"
137 +
138 + $profile | Out-File (New-Item $file -Force)
139 +
140 + Get-NetAdapter | Where-Object { $_.PhysicalMediaType -eq 'Native 802.11' -or `
117 117   $_.PhysicalMediaType -eq 'Wireless LAN' -or `
118 118   $_.PhysicalMediaType -eq 'Wireless WAN' } | ForEach-Object {
119 -\\ Write-Verbose "Creating wlan profile for '$ssid' on interface '$($_.Name)'"
143 +
144 + Write-Verbose "Creating wlan profile for '$ssid' on interface '$($_.Name)'"
120 120   netsh wlan add profile filename= "$file" interface= "$($_.Name)"
121 121   }
122 -\\ Remove-Item -Path $file -Force
147 +
148 + Remove-Item -Path $file -Force
123 123  }
124 124  
125 125  Param() = hier werden die übergebenen Parameter von meta/logodidact.yml zu lokale Variablen.
152 +{{/code}}
126 126  
127 127  **Neue AutoConf-Regel freigeben**
128 128  
129 -Neue Autoconf-Regel müssen mit dem Befehl update-autoconf-archive eingelesen werden. 
156 +Neue Autoconf-Regel müssen mit dem Befehl {{box}}update-autoconf-archive{{/box}} eingelesen werden. 
130 130  Ansonsten werden die Autoconfrollen auch zeitbasiert (Alle 4 Stunden) neu eingelesen.
131 -Im Controlcenter im Expertenmodus dann folgenden Knopfen drücken, damit dort auch die neuen Autoconf-Regeln eingelesen werden.
132 -
158 +Drücken Sie Im Controlcenter mit aktivieren Expertenmodus folgenden Knopfen, damit dort auch die neuen Autoconf-Regeln verfügbar werden.
133 133  
134 -[[image:https://wiki.sbe.de/xwiki/bin/download/Main/SBE_intern/LogoDIDACT2.0/Lddeploy/Autoconf%20erstellen/WebHome/autoconf.png?rev=1.1||alt="autoconf.png"]]
160 +[[image:attach:autoconf.png||data-xwiki-image-style-border="true"]]
161 +
autoconf.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.cge@sbede
Größe
... ... @@ -1,0 +1,1 @@
1 +73.0 KB
Inhalt