//Cloudogu EcoSystem Docs

Upgrade der Confluence-Version

Wenn die zugrundeliegende Confluence-Version aktualisiert werden soll, müssen Anpassungen an verschiedenen Stellen vorgenommen werden. Als erster Schritt muss ein neuer Trial-Lizenz-Schlüssel für Confluence generiert werden. Dieser muss dann in der startup.sh hinterlegt werden.

Anpassungen am Dockerfile

  1. CONF_VERSION auf gewünschte Version setzten
  2. Confluence-Version herunterladen ("CONFVERSION" ersetzen) `https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-CONFVERSION.tar.gz`
  3. Checksumme generieren via sha256sum atlassian-confluence-CONF_VERSION.tar.gz und in CONFLUENCE_SHA256 eintragen.

Anpassung an activeObjectsBackupRestoreProvider.pdata und entities.xml.tpl

Beim ersten Start von Confluence bei einer frischen Installation des Dogus wird ein zuvor erstelltes Backup automatisch eingespielt. Dies dient der initialen Einrichtung der Anwendung. Mit jedem Versionsupdate von Confluence muss auch das Backup für den ersten Start aktualisiert werden. Dazu wird die neue Version von Confluence einmal händisch installiert und ein Backup über die Oberfläche erzeugt.

Wichtig! Auf die korrekte Übernahme unten stehender Werte achten, da die hierauf folgende Template-Automatisierung diese Werte adressiert und verändert bzw. ergänzt.

Vorgehen:

User/Gruppen vorbereiten
  • für den späteren LDAP-Test zahlt es sich aus, möglichst keine User/Gruppen im LDAP zu haben

    • die Ausnahme stellt natürlich cesAdmin dar
Dogu für Upgrade vorbereiten
  • startup.sh: DOINITIALSELF_PROVISION auf "true" setzen
  • "Production installation" anklicken
  • Lizenz generieren

    • Google-Account anmelden
    • Lizenz generieren
    • Lizenz in startup.sh EXPIRED_LICENSE hinterlegen (durch Leerzeichen getrennt, nicht mit Zeilenumbrüchen)
Confluence-Dogu hochfahren
  • Dogu hochfahren und normal im Browser ansteuern
  • Postgresql einrichten

    • Service Account aus confluence-Bereich im etcd auslesen
    • Hostname postgresql
    • Port: 5432
  • "Example Site" klicken
  • "Manage users and group within confluence" klicken
  • Configure Account:

    • Username: confluence_admin
    • Name: Admin
    • Email: admin@admin.de
    • Password: adminpw
    • Confirm: adminpw
  • Start
  • Bereichsname: example
  • Tutorial abbrechen
Confluence zuende konfigurieren
  • SMTP-Server einrichten -> Allgemeine Konfiguration -> (Konfiguration) Mailserver

    • Name: Cloudogu-Postfix
    • Absenderadresse: confluence@fqdn
    • Hostname: postfix
    • Port: 25
  • LDAP anbinden -> Allgemeine Konfiguration -> (Benutzer & Sicherheit) Benutzerverzeichnisse

    • Button "Verzeichnis hinzufügen" klicken
    • "LDAP"-Eintrag wählen
    • Name: Cloudogu EcoSystem LDAP-mapper
    • Verzeichnistyp: OpenLDAP
    • Hostname: ldap-mapper
    • Port: 3893
    • Benutzername: uid=confluence,ou=service_accounts
    • Passwort: docker exec -it confluence doguctl config -e sa-ldap-mapper/password entnehmen
    • LDAP-Schema

      • Basis-DN: dc=cloudogu,dc=com
      • Zusätzliche Benutzer-DN: ou=People
      • Zusätzliche Gruppen-DN: ou=Groups
    • Erweiterte Einstellungen

      • Gruppen-Mitgliedschaften beim Einloggen aktualisieren: Jedes Mal, wenn sich der Benutzer anmeldet
    • Einstellungen des Benutzerschemas

      • Benutzer-Objektklasse: person
      • Benutzer-Objektfilter: (objectclass=person)
      • Attribut 'Eindeutige ID' des Benutzers: uid
    • Einstellungen für Gruppenschema

      • Gruppenobjektklasse: groupOfNames
      • Gruppenobjektfilter: (objectclass=groupOfNames)
    • Einstellungen für Mitgliedschaftsschema

      • Attribut "Gruppenmitglied": member
    • Mit dem Button "Speichern und testen" und zum vorherigen Dialog zurückkehren
    • in diesem Dialog CES-Zugangsdaten (z. B. cesAdmin + dessen Passwort) eingeben und den Button "Test-Einstellungen" drücken
  • Confluence Auto-Backup abschalten -> Allgemeine Konfiguration -> (Administration) Geplannte Aufgaben

    • "Confluence sichern" auf Link "Deaktivieren" klicken
Backup herstellen
  • Einstellungen -> Allgemeine Konfiguration -> (Administration) Sichern und Wiederherstellen
  • Checkbox "Anhänge einschließen" deaktivieren
  • Button "Exportieren" drücken
  • Link "hier" zeigt den Namen der zip-Datei, die man nun aus /var/lib/ces/confluence/volumes/confluence_temp kopieren kann
Backup automatisiert templaten

Anschließend müssen die Dateien activeObjectsBackupRestoreProvider.pdata und entities.xml.tpl im Repository unter resources/firstStart aktualisiert werden. Dabei ist es wichtig, dass in der Datei entities.xml.tpl die Template-Platzhalter richtig in die neue Version überführt werden.

Das geht einfacher, wenn man die entities.xml aus der Zip-Datei automatisiert templaten lässt:

  1. Backup-Zip in sein eigenes Verzeichnis entpacken (z. B. xmlexport-20240214-150047-1)
  2. dieses Verzeichnis nach resources/firststart verschieben
  3. Export-Formatter benutzen.

    • Wie das genau geht, steht in export-formatter/README.md
  4. Die alte Datei resources/firstStart/xmlexport/entities.xml.tpl mit der frisch erzeugten entities.xml.tpl überschreiben
  5. Die alte Datei resources/firstStart/xmlexport/com.atlassian.activeobjects.confluence.spi/activeObjectsBackupRestoreProvider.pdata enthält keine Template-Platzhalter, somit kann sie einfach durch die neue Datei ersetzt werden.

Hiernach kann das Dogu getestet werden (evtl. vorher mit cesapp purge --keep-image confluence entfernen)