Uberspace 7 - Episode 8

Posted by moritz on Wednesday, August 30, 2017

Moin zusammen! Gehen wir gleich ans Eingemachte. Im letzten Blogartikel schreiben wir:

Zwar ist Uberspace 7 nicht feature complete, aber so gut wie „fertig“ genug, um es endlich für Euch aufzumachen. Das heißt, wir spucken nun nochmal ordentlich in die Hände, gehen Montag in den letzten, zweiwöchigen Sprint und dann… machen wir erst nochmal Urlaub und erholen uns ordentlich. 🌴😎

Die Entwickler unter euch werden wissen: Der letzte Sprint ist nie der letzte und so mussten wir natürlich auch hier (was ETAs angeht hätten wir eigentlich aus der Vergangenheit lernen müssen…) noch mal das Skalpell ansetzen und aus einem Sprint mehrere machen.

Der Grund ist folgender:

Hallo uber.space

Bisher vergeben wir für unsere User Domains im Stil von username.servername.uberspace.de. Ab Uberspace 7 bekommt jeder User eine username.uber.space-Domain, was nicht nur einfacher zu merken, sondern auch zeitgemäßer und (hint hint) internationaler wirkt. Wir haben uber.space in die Mozilla Public Suffix List aufnehmen lassen, durch diesen Schritt bekommen unsere User cookie isolation und wir können Let’s Encrypt Zertifikate für diese Domains nutzen (was mit dem Limit von 20 Anfragen pro Woche schlicht nicht möglich gewesen wäre). Zur Erinnerung: Jede Domain bekommt ein passendes Zertifikat von uns spendiert. In Episode 6 haben wir das bereits kurz angerissen.

Hinter den Kulissen bedeutet diese Umstellung aber etwas mehr Arbeit:

DNS-Records

Wir müssen beim Erstellen (und Löschen) eines Accounts DNS-Records setzen. Bis Uberspace 6 haben wir pro Host einfach einen Wildcard-Eintrag angelegt und damit war das erledigt. Diese Option gibt es nun - da der Hostname aus der Domain fällt - nicht mehr.

Langjährige User wissen vielleicht, dass wir zwar mal Domains angeboten haben, aber kein Interface für Änderungen am DNS bereit stellen. Das liegt schlicht daran, dass wir soetwas nicht haben weil unsere Prioritäten eben nicht bei Domains, sondern bei Hosting liegen. Für die Umstellung brauchen wir nun aber zumindest eine API, über die wir die Records anlegen können. Die ist soweit fertig und befindet sich gerade im Testmodus.

E-Mails

Wir brauchen für eingehende Mails an @uber.space einen Proxyserver, der die Mails an den Server weiterleitet, auf dem der User liegt. Auch hier betreten wir Neuland und beim Thema Mail gibt’s allerhand zu beachten: Nehmen wir einfach alle Mails an? Filtern wir vorher über Blacklists um SPAM einzudämmen? Wie stellen wir sicher, dass Mails auch noch ankommen, wenn der Proxy mal nicht erreichbar ist? Das Thema Mail ist bei uns intern ein ganz heißes Eisen mit viel Diskussionsbedarf und beim letzten Blogartikel hatten wir die Komplexität ehrlich gesagt nicht auf dem Schirm.

Die gute Nachricht ist, dass wir damit gerade die letzte große Baustelle beackern. Dann geht’s los!

Wartezimmerlektüre

Um euch die Wartezeit etwas zu versüßen, hier schon mal ein Einblick in die kommende Dokumentation, die für Uberspace 7 das Wiki ablösen wird: https://manual.uberspace.de

Anmerkungen:

  • Bisher gibt’s das Manual nur auf Englisch (hint hint), eine Übersetzung ins Deutsche folgt.
  • Wir arbeiten momentan täglich an Artikeln, das ist nicht fertig sondern im Prozess.
  • Das Manual bildet (noch) nicht alle Features ab. Auch hier sind wir gerade fleißig am schreiben.
  • Über Other Versions unten links im Menü lassen sich stable und master Branches auswählen. master ist bei uns gerade in der Entwicklung, stable bildet das Featureset ab, was aktuell auf den Servern vorhanden ist.

So long ✌️