summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannik Schönartz2020-04-15 20:02:26 +0200
committerJannik Schönartz2020-04-15 20:02:26 +0200
commitdc68a5f080f939b57834360504174385dd8be0b9 (patch)
treea870edba1bc048b3cb1714f88d12b483aac2bb1b
parent[permissionmanager] split permissions in one file per module (diff)
downloadbas-dc68a5f080f939b57834360504174385dd8be0b9.tar.gz
bas-dc68a5f080f939b57834360504174385dd8be0b9.tar.xz
bas-dc68a5f080f939b57834360504174385dd8be0b9.zip
[documentation] Add documentation for external backends.
-rw-r--r--documentation/.vuepress/override.styl15
-rw-r--r--documentation/.vuepress/public/img/external_backends.pngbin0 -> 244438 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_add_1.pngbin0 -> 278125 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_add_1_de.pngbin0 -> 283329 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_add_2.pngbin0 -> 291230 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_add_2_de.pngbin0 -> 296811 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_de.pngbin0 -> 249763 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_sync.pngbin0 -> 289024 bytes
-rw-r--r--documentation/.vuepress/public/img/external_backends_sync_de.pngbin0 -> 295654 bytes
-rw-r--r--documentation/api/collections.md65
-rw-r--r--documentation/de/webapp/README.md10
-rw-r--r--documentation/de/webapp/modules.md40
-rw-r--r--documentation/webapp/README.md2
-rw-r--r--documentation/webapp/modules.md40
14 files changed, 150 insertions, 22 deletions
diff --git a/documentation/.vuepress/override.styl b/documentation/.vuepress/override.styl
index dfebc6a..756d011 100644
--- a/documentation/.vuepress/override.styl
+++ b/documentation/.vuepress/override.styl
@@ -4,6 +4,10 @@ $textColor = #2c3e50
$borderColor = #eaecef
$codeBgColor = #282c34
//$codeBgColor = #4f5665
+$textColorSuccess = #42b983
+$textColorWarning = #e7c000
+$textColorError = #c00
+
// Custom variables
$bgColorNav = #fff
@@ -110,3 +114,14 @@ blockquote
.image-border
border: 1px solid black
+
+
+
+.text-success
+ color: $textColorSuccess
+
+.text-warning
+ color: $textColorWarning
+
+.text-error
+ color: $textColorError \ No newline at end of file
diff --git a/documentation/.vuepress/public/img/external_backends.png b/documentation/.vuepress/public/img/external_backends.png
new file mode 100644
index 0000000..ba386df
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_add_1.png b/documentation/.vuepress/public/img/external_backends_add_1.png
new file mode 100644
index 0000000..863c725
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_add_1.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_add_1_de.png b/documentation/.vuepress/public/img/external_backends_add_1_de.png
new file mode 100644
index 0000000..4d8e4e6
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_add_1_de.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_add_2.png b/documentation/.vuepress/public/img/external_backends_add_2.png
new file mode 100644
index 0000000..6ce02a7
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_add_2.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_add_2_de.png b/documentation/.vuepress/public/img/external_backends_add_2_de.png
new file mode 100644
index 0000000..01a91e3
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_add_2_de.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_de.png b/documentation/.vuepress/public/img/external_backends_de.png
new file mode 100644
index 0000000..e4fcd5f
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_de.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_sync.png b/documentation/.vuepress/public/img/external_backends_sync.png
new file mode 100644
index 0000000..ebb1abb
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_sync.png
Binary files differ
diff --git a/documentation/.vuepress/public/img/external_backends_sync_de.png b/documentation/.vuepress/public/img/external_backends_sync_de.png
new file mode 100644
index 0000000..1c63591
--- /dev/null
+++ b/documentation/.vuepress/public/img/external_backends_sync_de.png
Binary files differ
diff --git a/documentation/api/collections.md b/documentation/api/collections.md
index b79dbed..e36fc0e 100644
--- a/documentation/api/collections.md
+++ b/documentation/api/collections.md
@@ -174,36 +174,71 @@ https://<domain_bas>/api/registration
body {
"client": {
"name": "<name>",
- "parents": [],
+ "parents": [<parentIds>],
"type": "<type>",
"uuid": "<uuid>",
- "purpose": "",
- "network": {
- "mac": "<mac>",
- "ip": "<ip>"
- },
+ "purpose": "<purpose>",
+ "contacts": [
+ {
+ "last_name": <lastName>,
+ "first_name": <firstName>
+ }
+ ],
"location": {
- "option": "<option>",
+ "bay": <bay>
"insertion": "<insertion>",
- "pos": 0
+ "option": "<option>",
+ "slot": <slot>
+ },
+ "networks": [
+ {
+ "ip": "<ip>",
+ "mac": "<mac>",
+ "primary": <primary>,
+ "hostname": "<hostname>",
+ "device": {
+ "speed": "<speeed>",
+ "name": "<networkDeviceName>",
+ "type": "<networkDeviceType>",
+ "vendor": "<networkDeviceVendor>"
+ }
+ }
+ ],
+ "runtime": {
+ "operating_system": {
+ "name": "<OSName>",
+ "version": "<OSVersion>"
+ },
+ "role": "<runtimeRole>"
},
"formfactor": {
"formfactor": "<formfactor>",
- "rackunits": 1
+ "rackunits": <rackunits>
}
},
"ipxe": false
}
```
-> **\<name\>** - Name of the client. Default: Client_uuid or Server_uuid\
-> **parentIds** - Ids of the groups the client gets added to\
-> **\<type\>** - CLIENT or SERVER\
-> **\<uuid\>** - UUID of the client\
+> **\<name\>** (STRING) - Name of the client. Default: Client_uuid or Server_uuid\
+> **\<parentIds\>** (List of INTs) - Ids of the groups the client gets added to\
+> **\<type\>** (STRING) - CLIENT or SERVER\
+> **\<uuid\>** (STRING) - UUID of the client\
+> **\<purpose\>** (STRING) - The purpose of the client
+
+> **contacts** - A list of the assigned administrators\
+> **\<lastName\>** (STRING) - First name of the contact\
+> **\<firstName\>** (STRING) - Last name of the contact
+
+> **location** (Server only) - Specific location information like rackslot and bay for servers\
+> **\<bay\>** (INT) - null, undefined or
+> **\<insertion\>** (STRING) - Front, Back, or Front and backside\
+> **\<option\>** - Horizontal or Vertical\
+> **\<slot\>** -
+
+> **\<networkd\>** -
> **\<mac\>** - Mac address of the client\
> **\<ip\>** - IP address of the client\
-> **\<option\>** (Server only) - Horizontal or Vertical\
-> **\<insertion\>** (Server only) - Front, Back, or Front and backside\
> **\<formfactor\>** (Server only) - 19\"\
> **\<rackunits\>** (Server only) - Amount of slots the server needs (int)\
> **\<ipxe\>** - Determines weather the return value is an ipxe script or not (true / false)
diff --git a/documentation/de/webapp/README.md b/documentation/de/webapp/README.md
index 2d93a88..ebc4f68 100644
--- a/documentation/de/webapp/README.md
+++ b/documentation/de/webapp/README.md
@@ -7,12 +7,12 @@ Die Webapplikation ist das Frontend des BAS. Es benutzt dieselben API-Calls, die
Auf der linken Seite ist das Sidepanel <span class="tutorial-label">1</span>, welches alle Module beinhaltet.
Das Sidepanel kann mit <span class="tutorial-label">2</span> geöffnet und geschlossen werden.
-Das Verhalten des Sidepanels kann in den [Settings](/webapp/README.md#settings) konfiguriert werden.
+Das Verhalten des Sidepanels kann in den [Einstellungen](/de/webapp/#einstellungen) konfiguriert werden.
> mit \
> <span class="tutorial-label">3</span> kann das Aussehen der Webapplikation zwischen einem hellen und einem dunklen Design gewechselt werden.\
-> <span class="tutorial-label">4</span> öffnet sich das [Notifications](/webapp/README.md#notification) Menü. Der Button hat zusätzlich einen Zähler für ungelesene Benachrichtigungen in der unteren rechten Ecke.\
-> <span class="tutorial-label">5</span> kann ein Menü ausgeklappt werden, mit dem man zu den [Benutzereinstellungen](/webapp/README.md#user-account-settings) und [Einstellungen](/webapp/README.md#settings) navigieren oder sich ausloggen kann.
+> <span class="tutorial-label">4</span> öffnet sich das [Benachrichtigungsmenü](/de/webapp/README.md#benachrichtigungen). Der Button hat zusätzlich einen Zähler für ungelesene Benachrichtigungen in der unteren rechten Ecke.\
+> <span class="tutorial-label">5</span> kann ein Menü ausgeklappt werden, mit dem man zu den [Benutzereinstellungen](/de/webapp/README.md#benutzeraccount) und [Einstellungen](/de/webapp/#einstellungen) navigieren oder sich ausloggen kann.
## Benutzeraccount
Im Benutzeraccount Modul, kann der Benutzer einige seiner Informationen ändern.
@@ -23,7 +23,7 @@ Mit dem ```BEARBEITEN```-Button <span class="tutorial-label">1</span> kann der B
In den Accounteinstellungen ist es nicht möglich seinen ```BENUTZERNAMEN``` zu ändern.
::: tip
-Der ```BENUTZERNAME``` kann nur im [Benutzermanagement](/webapp/modules.md#user-management) geändert werden. Dafür benötigt man die ```EDIT```-Rechte.
+Der ```BENUTZERNAME``` kann nur im [Benutzermanagement](/de/webapp/modules.html#nutzermanagement) geändert werden. Dafür benötigt man die ```EDIT```-Rechte.
:::
Das ```PASSWORT``` kann mit dem ```BEARBEITEN```-Button <span class="tutorial-label">2</span> geändert werden. Das Passwort muss aus mindestens ```>= 8 Zeichen``` bestehen.
@@ -37,4 +37,4 @@ Das Löschen des Accounts kann **NICHT** rückgängig gemacht werden.
<a :href="$withBase('/img/settings_de.png')" target="_blank"><img :src="$withBase('/img/settings_de.png')" alt="BAS Settings"></a>
-## Notifications
+## Benachrichtigungen
diff --git a/documentation/de/webapp/modules.md b/documentation/de/webapp/modules.md
index 8b34665..ba9d101 100644
--- a/documentation/de/webapp/modules.md
+++ b/documentation/de/webapp/modules.md
@@ -110,6 +110,46 @@ Wenn eine zuvor ausgewählte Gruppe innerhalb einer geblacklisteten Gruppe ist w
:::
## Externe Backends
+In diesem Modul können externe Backends wie ```iDoIT``` oder ```Infoblox``` mit dem ```BAS``` Verbunden werden, um Daten zu importieren oder synchronisieren.
+
+<a :href="$withBase('/img/external_backends_de.png')" target="_blank"><img :src="$withBase('/img/external_backends_de.png')" alt="Externe Backends"></a>
+
+Eine Verbindung, zu einem externen Backend, kann mit <span class="tutorial-label">1</span> erstellt oder mit <span class="tutorial-label">2</span> entfernt werden.
+Wenn eine neue Backendverbindung hinzugefügt wird, öffnet sich ein Fenster, indem alle benötigten Daten eingegeben werden können.
+Siehe [Externes Backend hinzufügen](/de/webapp/modules.html#add-edit-external-backend) für mehr Informationen über den Einrichtungsprozess.
+
+Um zu Überprüfen, ob eine erfolgreiche Verbindung zu einem externen Backend hergestellt wurde, kann <span class="tutorial-label">4</span> gedrückt werden.
+Um mehrere externe Backends zu überprüfen, können die entsprechenden Backends ausgewählt und dann mit <span class="tutorial-label">3</span> gleichzeitig getestet werden.
+Wenn die Verbindung erfolgreich ist, wechselt die Farbe vom Icon auf <span class="text-success">Grün</span>, sollte die Verbindung fehlschlagen, wechselt die Farbe auf <span class="text-error">Rot</span>.
+
+
+<span class="tutorial-label">5</span> öffnet die [Synchronisierungeinstellungen](/de/webapp/modules.html#synchronisierungeinstellungen) und
+<span class="tutorial-label">6</span> öffnet ein Fenster zum [Editieren](/de/webapp/modules.html#hinzufugen-editieren-von-externen-backends).
+
+### Hinzufügen/Editieren von externen Backends
+Wenn ein neues Backend hinzugefügt wird, muss im ersten Schritt der Typ des externen Backends ausgewählt werden.
+<a :href="$withBase('/img/external_backends_add_1_de.png')" target="_blank"><img :src="$withBase('/img/external_backends_add_1_de.png')" alt="Externe Backends Hinzufügen Schritt 1"></a>
+Im zweiten Schritt können alle Zugangsdaten, die das Backend benötigt, eingegeben werden.
+
+::: danger
+Die eingegebenen Zugangsdaten der Backends wird als Plaintext in der Datenbank gespeichert, da einige Backends zur Authentifizierung das Passwort als Plaintext benötigen.
+Seihen sie vorsichtig, welche Daten sie angeben. Jeder mit Zugang zur Datenbank kann die Zugangsdaten auslesen.
+:::
+
+<a :href="$withBase('/img/external_backends_add_2_de.png')" target="_blank"><img :src="$withBase('/img/external_backends_add_2_de.png')" alt="External Backends Hinzufügen Schritt 2"></a>
+Da jedes Backend unterschiedliche Anforderungen hat, kann das Aussehen vom Bild abweichen. Das Beispiel im obigen Bild ist von einem ```iDoIT```-Backend.
+
+### Synchronisierungeinstellungen
+In den Synchronisierungeinstellungen können die Objekte der externen Backends entweder als ```Gruppe``` oder als ```Client``` definiert werden.
+Eine ```Gruppe``` ist wie ein Ort, sie kann andere Gruppen als Subgruppen enthalten oder Clients. Zum Beispiel kann ein Gebäude mehrere Räume enthalten. Räume können mehrere Clients haben.
+Ein ```Client``` andererseits enthält keine Unterobjekte. Ein Client ist zum Beispiel ein PC oder ein Server.
+Siehe [Gruppen / Clients](/de/webapp/modules.html#gruppen-clients) für mehr Informationen.
+
+::: warning
+Synchronisierungstypen sind bisher noch nicht implementiert.
+:::
+<a :href="$withBase('/img/external_backends_sync_de.png')" target="_blank"><img :src="$withBase('/img/external_backends_sync_de.png')" alt="External Backends Sync"></a>
+
## Rechtemanager
## iPXE Builder
Diese Modul umfasst das ```iPXE```, welches an die Clients, die über das Netzwerk booten, ausgeliefert wird.
diff --git a/documentation/webapp/README.md b/documentation/webapp/README.md
index 40a737a..3407467 100644
--- a/documentation/webapp/README.md
+++ b/documentation/webapp/README.md
@@ -11,7 +11,7 @@ The sidepanel can be opened and closed with <span class="tutorial-label">2</span
There are diffent appearances of the sidepanel which can be configured in the [Settings](/webapp/README.md#settings).
> <span class="tutorial-label">3</span> changes the style of the webapplication between a light and a dark theme.\
> <span class="tutorial-label">4</span> opens the [Notifications](/webapp/README.md#notification) menu. The button has a notification counter, if there are unseen notifications.\
-> <span class="tutorial-label">5</span> opens a small menu where you can go to the [User Settings](/webapp/README.md#user-account-settings), the [Settings](/webapp/README.md#settings) or log out of the webapplication.
+> <span class="tutorial-label">5</span> opens a small menu where you can go to the [User Settings](/webapp/README.md#user-account), the [Settings](/webapp/README.md#settings) or log out of the webapplication.
## User Account
In the user account module the user is able to change some of his information.
diff --git a/documentation/webapp/modules.md b/documentation/webapp/modules.md
index 9a20aa2..c1d7918 100644
--- a/documentation/webapp/modules.md
+++ b/documentation/webapp/modules.md
@@ -108,8 +108,46 @@ The list is used for selecting groups and clients which shall be excluded from t
If a previously selected group is inside of a blacklisted group, the previously selected group is not excluded from the event.
:::
+
## Client Registration
+
## External Backends
+This module connects external backends with the ```BAS``` to import or sync data from external sources like ```iDoIT``` or ```infoblox```.
+
+<a :href="$withBase('/img/external_backends.png')" target="_blank"><img :src="$withBase('/img/external_backends.png')" alt="External Backends"></a>
+
+A connection to the backend can be created <span class="tutorial-label">1</span> or removed <span class="tutorial-label">2</span>.
+When adding a new backend connection a dialog window will open where the connection can be established.
+See [Add External Backend](/webapp/modules.html#add-edit-external-backend) for more information on the setup process.
+
+To verify wheather the connection of a single backend is successfull established <span class="tutorial-label">4</span> can be pressed.
+To verfiy multiple backends at once, they can be selected and verified with <span class="tutorial-label">3</span>.
+If the connection is successfull established, the icon will change it's color to <span class="text-success">green</span>. If the connection check fails the icon color will be <span class="text-error">red</span>.
+<span class="tutorial-label">5</span> opens the [sync-settings](/webapp/modules.html#sync-settings) and
+<span class="tutorial-label">6</span> opens up the [edit-window](/webapp/modules.html#add-external-backend).
+
+### Add/Edit External Backend
+When adding a new external backend, the first step is the selection of the backend type.
+<a :href="$withBase('/img/external_backends_add_1.png')" target="_blank"><img :src="$withBase('/img/external_backends_add_1.png')" alt="External Backends Add Step 1"></a>
+In the second step all the credentials the backend requires can be filled in.
+
+::: danger
+The credentials of the backend will be saved as plaintext in the database, because some backends need the password as plaintext to authenticate.
+So be careful, what you insert here. Everyone with access to the database can read the credentials.
+:::
+
+<a :href="$withBase('/img/external_backends_add_2.png')" target="_blank"><img :src="$withBase('/img/external_backends_add_2.png')" alt="External Backends Add Step 2"></a>
+Because every backend has different requirements, this windows can look different. The example in the picture above is for an ```iDoIT```-Backend.
+
+### Sync Settings
+In the sync settings objecttypes from the external backend can be specified to be either a ```group``` or a ```client```.
+A ```group``` is like a location, it can have other groups as subgroups and clients as children. For example a building can have multiple rooms and a room can have clients inside.
+A ```client``` on the other side doesn't have any children at all. A client is for example a pc or a server. See [Groups / Clients](/webapp/modules.html#groups-clients) for more information.
+::: warning
+Sync types are currently not implemented.
+:::
+<a :href="$withBase('/img/external_backends_sync.png')" target="_blank"><img :src="$withBase('/img/external_backends_sync.png')" alt="External Backends Sync"></a>
+
## iPXE Builder
This module is all about the ```iPXE``` which gets delivered to the clients when booting over the network.
@@ -157,4 +195,4 @@ Permissions:
* Edit - The permission to edit users.
* Delete - The permission to delete users.
-## Permission Manager \ No newline at end of file
+## Permission Manager