Benutzer-Werkzeuge

Webseiten-Werkzeuge


prebuilt_systems:ucs:gitlabintegration_in_ucs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
prebuilt_systems:ucs:gitlabintegration_in_ucs [2025/11/29 16:19] lomaprebuilt_systems:ucs:gitlabintegration_in_ucs [2025/11/30 18:27] (aktuell) boospy
Zeile 1: Zeile 1:
 ====== Gitlabintegration in UCS ====== ====== Gitlabintegration in UCS ======
 +Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! 🙏 \\
 +[[https://www.paypal.com/donate/?hosted_button_id=JTFYJYVH37MNE|{{:spenden.gif|}}]] \\
 +\\
 +Zum frei verfügbaren [[:apt-repository|Apt-Repository]]
 +\\
 +GITLAB: [[https://git.osit.cc|{{:gitlab_logo.png?nolink&60|}}]]
 +\\
 +\\
 +Es gab mal eine [[https://www.univention.com/products/app-catalog/gitlab/|GitLAB-App im Univention Appcenter]]. Nachdem diese nun nicht mehr verfügbar ist, möchte man doch sein eigens installiertes Gitlab in UCS auf die Gleiche Weise integrieren. In dem HowTo wird ausschließlich die **Anbindung via LDAP an GitLAB** beschrieben. Dies könnte man natürlich auch per [[https://help.univention.com/t/memberof-attribute-group-memberships-of-user-and-computer-objects/6439|Gruppenmitgliedschaft (memberOf)]] verwirklichen. Hier erfährts du wie sich das mit einem eigenen Filter integrieren lässt, der dann auch recht hübsch in der UCS Verwaltung aussieht. Mitlerweile gibt es auch schon die Integration mit [[https://docs.gitlab.com/administration/auth/oidc/#configure-keycloak|OpenID/Keycloak für GitLAB-Community]].
  
-Es gab mal eine GitLAB-App im Univention Appcenter: https://www.univention.com/products/app-catalog/gitlab/ Nachdem diese nun nicht mehr verfügbar ist, möchte man doch sein eigens installiertes Gitlab in UCS auf die Gleiche Weise integrieren. Herfür benötigen wir einige Dinge. 
  
-Als erstes importieren wir das LDAP-Schema. Lade dir dieses Schema in deinen UCS-Master herunter und importiere es:+===== Konfiguration auf UCS ===== 
 + 
 +Als erstes importieren wir das LDAP-Schema (falls noch nicht vorhanden). Lade dir dieses Schema in deinen UCS-Master (Primary Directory Node) herunter und importiere es:
 <file plain gitlab.shema> <file plain gitlab.shema>
 attributetype ( 1.3.6.1.4.1.10176.5000.27686.13748.54483.79322.81889.11904.95723.1135.1.1 attributetype ( 1.3.6.1.4.1.10176.5000.27686.13748.54483.79322.81889.11904.95723.1135.1.1
Zeile 72: Zeile 82:
 | Nachträglich modifizierbar  | [X]  | | Nachträglich modifizierbar  | [X]  |
  
 +Danach ist das Flag im Usermenü verfügbar und kann aktiviert werden:
 +
 +{{:prebuilt_systems:ucs:screenshot_20251129_172539.png?direct&700|}}
 +
 +===== Anbindung auf dem Gitlabserver =====
 +
 +Am Gitlabserver editiere die Datei "/etc/gitlab/gitlab.rb" und füge deinen LDAP-Server wie gewohnt hinzu. Der einzige Unterschied ist, das du einen eigenen Filter zur Verfügung hast:
 +
 + 'user_filter' => '(&(univentionObjectType=users/user)(gitlabActivated=TRUE))',
 +
 +Hier die ganze Config, als Beispiel:
 +<code ruby>
 +gitlab_rails['ldap_enabled'] = true
 +gitlab_rails['ldap_servers'] = {
 +'main' => {
 +  'label' => 'LDAP TUX2',
 +  'host' =>  'dc1.tux2.lan',
 +  'port' => 7389,
 +  'uid' => 'uid',
 +  'encryption' => 'start_tls',
 +  'verify_certificates' => true,
 +  'bind_dn' => 'uid=gitlabauth,cn=users,dc=tux2,dc=lan',
 +  'password' => 'secret',
 +  'active_directory' => false,
 +  'base' => 'dc=tux2,dc=lan',
 +  'user_filter' => '(&(univentionObjectType=users/user)(gitlabActivated=TRUE))',
 +  'tls_options' => {
 +    'ca_file' => '/usr/local/share/ca-certificates/ucs-root-tux201.crt',
 +  },
 +
 +'secondary' => {
 +  'label' => 'LDAP TUX2-2',
 +  'host' =>  'dc2.tux2.lan',
 +  'port' => 7389,
 +  'uid' => 'uid',
 +  'encryption' => 'start_tls',
 +  'verify_certificates' => true,
 +  'bind_dn' => 'uid=gitlabauth,cn=users,dc=tux2,dc=lan',
 +  'password' => 'secret',
 +  'active_directory' => false,
 +  'base' => 'dc=tux2,dc=lan',
 +  'user_filter' => '(&(univentionObjectType=users/user)(gitlabActivated=TRUE))',
 +  'tls_options' => {
 +    'ca_file' => '/usr/local/share/ca-certificates/ucs-root-tux201.crt',
 +    }
 +   
 +  } 
 +}
 +</code>
 +
 +Nun noch Gitlab rekonfigurieren:
 + gitlab-ctl reconfigure
 +
 +Ab nun ist UCS mit GitLAB verbunden und die kannst mit der granularen Config im GitLAB Webinterface fortfahren.
prebuilt_systems/ucs/gitlabintegration_in_ucs.1764433161.txt.gz · Zuletzt geändert: (Externe Bearbeitung)