Das FreeBSD-Projektprojekt

Diese Seite enthält die Details zu einem Projekt für technische Angelegenheiten, das für die Google-Saison der Dokumente angenommen wurde.

Projektzusammenfassung

Open-Source-Organisation:
Das FreeBSD-Projekt
Technischer Redakteur:
Lars
Projektname:
Aktualisierungen der FreeBSD-Handbücher
Projektdauer:
Lang andauernd (5 Monate)

Projektbeschreibung

Dieses GSoD2020-Projekt besteht aus zwei Kapiteln in den FreeBSD-Handbüchern:

  • Testing: New chapter in the FreeBSD Developers' Handbook
  • LDAP: Aktualisierter Artikel wurde in ein Kapitel im FreeBSD-Handbuch aufgenommen

Tests: Neues Kapitel im FreeBSD Developers' Handbook:

HINWEIS: Dieses Projekt ist zu Beginn eher explorativ. Die Anforderungen können sich während der Schreibphase ändern.

Zu den Vorbereitungsaufgaben gehören: * Aktuelle Dokumentation und Notizen zu Entwickler-Test-Frameworks, -Praktiken usw. für FreeBSD und andere BSDs prüfen. * Aktuelle oder ältere Dokumentation und Hinweise zu FreeBSD. Beispiel: * TestSuite: https://wiki.freebsd.org/TestSuite * Alte Seite "TestingFreeBSD": https://wiki.freebsd.org/TestingFreeBSD * Aktuelle Dokumentation und Hinweise zu verwandten Projekten. Beispiele: * http://wiki.netbsd.org/tutorials/atf/ * Primäre Dokumentation der verwendeten Tools. Beispiele: * Kyua-Testframework: https://github.com/jmmv/kyua/ * Automated Testing Framework (ATF): https://github.com/jmmv/atf/ * Installation und Konfiguration der relevanten Frameworks, um sich vertraut zu machen. * Mit den Testframeworks aktuelle Tests ausführen. * Eine kleine Anzahl neuer Tests schreiben. * (SEHR wichtig) Mit Lesern (Softwareentwicklern und ‑testern) darüber sprechen, was sie im Kapitel sehen möchten.

Die genaue Organisation der Dokumentation muss festgelegt werden. Nach dem Lesen des Kapitels sollte der Leser jedoch mindestens Folgendes können:

  • Test-Frameworks zum Testen von FreeBSD installieren und konfigurieren
  • Schreiben Sie einen Test für das Test-Framework.
  • Einen Test im Test-Framework ausführen

Nach Möglichkeit wird Folgendes besonders betont: * Optimierung der Automatisierung, um den Aufwand für das Einrichten der Testinfrastruktur, das Schreiben von Tests und das Ausführen von Tests zu reduzieren. * Testfälle hinzufügen, wenn ein neuer Fehler behoben wird. * Umfassende automatisierte Regressionstests. * (falls zutreffend) Beispiele für Standardtestszenarien wie Unit-Tests, Funktionstests, Lasttests usw.

Wo immer möglich, besteht das Ziel darin, dem Entwickler nicht nur das Test-Framework zu erklären und anleiten, sondern den Prozess hoffentlich so einfach wie möglich zu halten, damit Entwickler ermutigt werden, mehr Tests zu integrieren, und neue Entwickler nicht von ihren Beiträgen abgehalten werden.

LDAP: Der aktualisierte Artikel wurde in ein Kapitel des FreeBSD-Handbuchs integriert:

Im Gegensatz zum Kapitel zum Testen ist der Umfang eines aktualisierten Artikels oder Kapitels zu LDAP gut bekannt.

Sowohl das aktuelle Kapitel im FreeBSD-Handbuch als auch der aktuelle Artikel enthalten viele nützliche Informationen. Sie müssen jedoch aktualisiert werden. Eine neue Überarbeitung des Artikels, die als neues Kapitel dienen soll, wurde begonnen, muss aber noch abgeschlossen werden.

Zu den Aufgaben gehören: * Korrekturlesen des aktuellen Kapitels im Handbuch und des aktuellen Artikels. * In Vorbereitung auf die GSoD2020 wurde ein erster Schritt durchgeführt. * Jeden Abschnitt des Handbuchs testen, um festzustellen, was funktioniert und was überarbeitet werden muss. * Im Rahmen der Vorbereitung auf GSoD 2020 wurde die Serverkonfiguration getestet und es wurden Verbesserungen identifiziert. * Weitere Abschnitte verbleibend. * Neue Inhalte verfassen und aktuelle Inhalte überarbeiten. * Die Aktualisierung der Inhalte für den Serverbereich hat begonnen. Sie muss abgeschlossen sein. * Weitere Bereiche verbleibend. * Alle Inhalte auf sauberen FreeBSD-Systemen testen, nachdem ein endgültiger Entwurf fertig ist. * Diese Aufgabe ist entscheidend, da sie Lücken aufzeigt.

Der endgültige Artikel oder das endgültige Kapitel des Handbuchs sollte die folgenden Abschnitte enthalten:

(1) Einführung in die LDAP-Serverkonfiguration (2) Serverkonfiguration: (a) Eine erklärende Anleitung für eine grundlegende, aber funktionale OpenLDAP-Serverkonfiguration auf FreeBSD. (b) Ein vollständiges Beispiel für eine einfache, aber funktionsfähige OpenLDAP-Serverkonfiguration, z.B. das Ergebnis von (2a) unter FreeBSD.

„Einfach, aber funktionsfähig“ umfasst die Konfiguration des Servers mit gehashten Passwörtern, sicheren Verbindungen über das Netzwerk und simulierten, aber repräsentativen Beispielnutzerdaten.

(Optional – wird während der GSoD2020 entschieden) Die Serverkonfiguration kann auch eine entsprechende Abdeckung des 389 Directory Servers in FreeBSD umfassen. Es gab eine experimentelle FreeBSD-Unterstützung in 389 Directory Server, aber der aktuelle Status muss bestätigt werden.

(3) Clientkonfiguration: (a) Eine erklärende Schritt-für-Schritt-Anleitung für eine funktionsfähige Clientkonfiguration unter FreeBSD, die eine Verbindung zur Beispielserververbindung in (2) herstellen kann. (b) Ein vollständiges Beispiel für eine funktionierende Clientkonfiguration, z.B. das Ergebnis von (3a) unter FreeBSD.

Der Abschnitt zur Clientkonfiguration enthält Unterabschnitte zu den folgenden Themen: * Pluggable Authentication Module (PAM), z.B. pam_ldap, pam_mkhomedir, nss-pam-ldapd * Name Service Switch (NSS), z.B. nss_ldap, nss-pam-ldapd * (Optional – wird während der GSoD2020 entschieden) SSSD: Der Status von SSSD in der Produktion unter FreeBSD muss bestätigt werden. * (Optional – wird während der GSoD2020 beschlossen) FreeIPA: Die Verwendung und Funktionalität von FreeIPA in FreeBSD muss untersucht werden. FreeIPA umfasst mehr als nur LDAP. Daher muss der Umfang der FreeIPA-Konfiguration vor der Aufnahme in dieses Handbuchkapitel bewertet werden.

(4) Sicherheitsaspekte * Die aktuelle Version des Artikels enthält einen Abschnitt zu Sicherheitsaspekten. Einige dieser Inhalte werden möglicherweise in den entsprechenden Bereich verschoben. Es sollte jedoch zu Referenzzwecken weiterhin ein spezieller Abschnitt zu Sicherheitsaspekten vorhanden sein.

(5) Fehlerbehebung * Strategien zur Fehlerbehebung bei der LDAP-Konfiguration.

(6) OpenSSL-Anhang

Mit dem aktualisierten Kapitel bzw. Artikel des Handbuchs können die Leser zwei unveränderte FreeBSD-Systeme verwenden, einen LDAP-Server und einen LDAP-Client einrichten und den Client beim Server authentifizieren.

Nach dem Lesen des aktualisierten Kapitels / Artikels des Handbuchs sollte der Leser über die nötige Grundlage verfügen, um eine andere spezialisiertere oder umfassendere Dokumentation, z.B. OpenLDAP-Dokumentation oder LDAP-RFCs, zu nehmen und die FreeBSD LDAP-Konfiguration entsprechend seinen Anforderungen zu erstellen oder zu optimieren.