Skip to content
Snippets Groups Projects
Commit 9e0d9388 authored by Lukas Ruge's avatar Lukas Ruge
Browse files

better docs and xml representation

parent 99c1853f
No related branches found
No related tags found
No related merge requests found
Pipeline #32905 passed
......@@ -27,5 +27,16 @@ sets:
* `wikilink` Komponenten können auch eine Wiki Seite haben. Wenn ja, hier hin.
* `calcolor` Bei Infra immer 000000
* `sets` Sind wie auch bei Werkzeug ein freies Feld, allerdings sollte jede Komponente entweder in „server“, „environment“, oder „software“ sein.
* `cpe_part`, `cpe_vendor`, `cpe_product`, `cpe_version` Die *CPE*-Felder sollten die Informationen für die *Common Platform Enumeration* der jeweiligen Software enthalten. Sie sind nur im Set Software relevant. Dies dient dafür schneller prüfen zu können, ob wir von einer Vulnurability betroffen sind.
* `ldap` gibt an ob die Software ans LDAP oder SSO angebunden ist, also ob man sie mit dem Chaotikum-Account nutzen kann.
* `infra_url` sofern relavtn, unter welcher URL man das Tool findet
#### Sets für Infrastruktur
Die Liste an Sets ist relativ frei und kann beliebig lang sein. Allerdings soll für Infrastruktur als erstes jeweils einer der folgenden Werte gesetzt sein:
- **"server"** sind tatsächlich Server die wir irgendwo stehen haben oder mieten. Gemeint ist damit sowohl die Hardware als auch das OS direkt auf dem Server.
- **"environment"** Damit meinen wir jegliche art von Container oder virtualisierung. Die hat jeweils ein OS.
- **"software"** Damit meinen wir Software die (zusätzlich zum eigenen OS) installiert ist, die also unabhängiug vom OS update geupdatet werden muss. Jede Software die nicht einfach in der von der OS Version "vorgegebenen" version läuft, sollte hier aufgeführt werden. Dabei kann man natürlich der Einfachheit halber dinge auch kombinieren, wenn sie z.B. gemeinsam gemanaged werden o.ä. das obliegt den jeweils betreuenden Personen.
Darüber hinaus können Sets aber auch genutzt werden um z.B. Zweck der Anwendung oder andere Gruppen zu tracken, wenn einem danach ist.
Ansonsten können die Felder aus dem [Inventar](/docs/content/inventory.md) soweit sinnig vermutlich genutzt werden.
......@@ -2,6 +2,12 @@
# Wartungsfenster
Die Chaotikum Infrastruktur wird von zahlreichen Menschen genutzt, weit mehr Menschen, als in unserem Chat zusammenkommen. Wie also möchten wir ihnen mitteilen, dass Teile der Infrastruktur für eine gewisse Zeit ausfallen, das ein update ansteht oder andere Infos dieser Art.
Wir wählen hier einen ähnlichen Ansatz wie für Events oder andere Infos im Blog: Wir bieten die Daten in zahlreichen Formaten an und erlauben es Menschen auf die von ihnen bevorzugte Art und weise die Informationen zu konsumieren. Damit wir das können, müssen wir aber irgendwo aufschreiben, dass eine Wartung passiert. Das tun wir im *git* der Website um Ordner `_maintenance` mit einer sehr kurzen Datei, welche die grundlegenden Infos zur jeweiligen Wartung beinhaltet.
Dies gilt sowohl der internen Information als auch als eine Art Log wann wir uns um was kümmern. Damit wir nachvollziehen können, wann z.B. ein update passiert ist. Sowas ist manchmal hilfreich.
Da die Website ohnehin schon sehr viel Code hat um aus Markdown-Dateien ICal und RSS Dateien zu machen, kann man das auch nutzen, um Menschen über Wartungsfenster zu informieren.
Wartungfenster werden im Ordner `_maintenance` angelegt. Die Dateien sind einfach gehalten:
......@@ -26,11 +32,12 @@ Hier passiert gar nichts. Es wird nur getestet, ob wir Wartungstermine über die
* `title` Eine kurze Überschrift für die Wartung, sowas wie "Systemupdate" oder "Aufräumen in den Configs" oder was auch immer.
* `eventdate`: Wie auch `title` dürften die beiden Datumsfelder aus den [Events im Kalender](/docs/content/events.md) bekannt sein. Hier steht, wann die Wartung beginnt....
* `eventend` ... und hier steht, wann sie vorraussichtlich endet.
* `uid` Eindeutige UUID, die auch als eindeutige Kennung für ical files genutzt wird (eindeutigkeit ist also tatsächlich wichtig und wird bei bau der Website geprüft)
* `uid` Eindeutige UUID, die auch als eindeutige Kennung für ical files genutzt wird (Eindeutigkeit ist also tatsächlich wichtig und wird bei bau der Website geprüft)
* `contact` Kontaktinfo
* `nofrontpage` Derzeit ohne Funktion. Zukünftig sorgt das dafür, dass dinge nicht öffentlich angekündigt werden. Nicht sicher ob wir das brauchen.
* `components` Die UIDs der Infra Komponenten, die gewartet werden, sie befinden sich im Ordner `_inventory`
* `short` Kurze beschreibung der Wartung, auch für ical
Unter der Front Matter kann man details schreiben.
Unter der Front Matter kann man Details als Freitext schreiben, also warum man die Wartung macht.
Unter `components` muss nur die höchste Komponente in der Hirarchie aufgelistet werden, Wartungsfenster gelten automatisch auch für die Systeme darunter.
\ No newline at end of file
---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ site.title | xml_escape }}</title>
<description>{{ site.description | xml_escape }}</description>
<link>{{ site.url }}{{ site.baseurl }}/</link>
<atom:link href="{{ "/events.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
<generator>Jekyll v{{ jekyll.version }}</generator>
{% assign counter = 0 %}
{% assign eventcollection = site.maintenance | sort: 'eventdate' | reverse %}
{% for event in eventcollection %}
{% capture posttime %}{{event.eventdate | date: '%s'}}{% endcapture %}
{% capture nowunix %}{{'now' | date: '%s'}}{% endcapture %}
{% assign inthirtydays = nowunix | plus: 2592000 %}
{% assign nowdate = nowunix | plus: 0 %}
{% assign postdate = posttime | plus: 0 %}
{% if postdate < inthirtydays and postdate > nowdate %}
{% if counter < 10 %}
{%- if event.nofrontpage == nil or event.nofrontpage == '' -%}
{% assign counter = counter | plus: 1 %}
<item>
<title>{{ event.eventdate | date: "%d.%m.%Y %H:%M" }}: {{ event.title | xml_escape }}</title>
<description>{{ event.short | xml_escape }}</description>
<link>{{ event.url | prepend: site.baseurl | prepend: site.url }}</link>
<guid isPermaLink="true">{{ event.url | prepend: site.baseurl | prepend: site.url }}</guid>
{% for location in event.locations %}
<category>{{ location | xml_escape }}</category>
{% endfor %}
{% for tag in event.tags %}
<category>{{ tag | xml_escape }}</category>
{% endfor %}
{% for cat in event.categories %}
<category>{{ cat | xml_escape }}</category>
{% endfor %}
</item>
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
</channel>
</rss>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment