kdb run_all
ohne Root ausführt@robaerd @dev2718 kannst du weitere Angaben machen, welche Eintrittsbarrieren du triffst?
Bei mir war es die Installation von Elektra ohne Root.
Für die Installation ohne Root müssen einige cmake-Flags (KDB_DB_SYSTEM, CMAKE_INSTALL_PREFIX, ...) und Umgebungsvariablen (LD_LIBRARY_PATH, ...) gesetzt werden. Obwohl CMAKE_INSTALL_PREFIX
in doc/COMPILE
beschrieben ist, war es mir nicht klar, welche cmake-Flags und Envs dafür gesetzt werden müssen.
In doc/Testing.md
im Abschnitt „Sie haben einige Optionen, um zu vermeiden, dass sie als root ausgeführt werden:“ , wird auf das folgende Beispiel eines cmake-Aufrufs verwiesen: scripts/configure-home
(sollte eigentlich scripts/dev/configure-home
sein). Dieses Beispiel behandelt nur das Kompilieren und nicht das Installieren (CMAKE_INSTALL_PREFIX-Flag fehlt). Da kdb run_all
auch in doc/TESTING.md
beschrieben ist, sollte zumindest meiner Meinung nach auch erwähnt werden, wie man das ohne Root zum Laufen bringt.
Die Schritte in doc/tutorials/run_all_tests_with_docker.md
– auf die tatsächlich in doc/TESTING.md
verwiesen wird – beschreiben, wie man es als Nicht-Root-Benutzer installiert, aber es wird nicht erwähnt, dass die Docker-Images als Nicht-Root-Benutzer ausgeführt werden. Daher war mir anfangs etwas unklar, warum diese Dinge nur hier eingestellt werden müssen.
Ich würde vorschlagen:
doc/INSTALL.md
und/oder doc/TESTING.md
hinzufügen, wie man Elektra ohne Root-Rechte installiert.Vielen Dank für diesen sehr hilfreichen Beitrag!
Obwohl CMAKE_INSTALL_PREFIX in doc/COMPILE
Ja, ich stimme voll und ganz zu, diese Doku muss in einen Stil umgeschrieben werden, in dem konkrete Probleme gelöst werden (wie die Installation ohne Root). Die einzige Beschreibung dessen, was die Flags tun, erfolgt besser in der CMake-Cache-Variablen-Dokumentation.
Es wird jedoch nicht erwähnt, dass die Docker-Images als Nicht-Root ausgeführt werden
Ich hoffe, Sie können die Tutorials zu Docker-Images verbessern :sparkling_heart:, Sie müssen sie sowieso mit den von Ihnen vorgenommenen Änderungen anpassen (z. B. das Entfernen der Notwendigkeit für den Jenkins-Benutzer).
Docker-Images werden als Nicht-Root ausgeführt (und vielleicht auch der Grund dafür).
Meinst du den Grund, warum sie als Nicht-Root laufen? Es empfiehlt sich, etwas mit möglichst wenigen Berechtigungen auszuführen.
Generell gilt: Es ist gut, wenn wir in unserer Doku nicht zu viel Wissen über Docker oder Jenkins voraussetzen, da viele es nicht haben. Daher stimme ich zu, dass eine solche Begründung gegeben werden sollte.
Ich hoffe, Sie können die Tutorials zu Docker-Images verbessern 💖, Sie müssen sie sowieso mit den von Ihnen vorgenommenen Änderungen anpassen (z. B. das Entfernen der Notwendigkeit für den Jenkins-Benutzer).
Ja, natürlich werde ich die Tutorials zu den Docker-Images verbessern.