Changes between Version 25 and Version 26 of MoveOffTrac


Ignore:
Timestamp:
2025-08-22T08:02:45Z (3 months ago)
Author:
btlogy
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MoveOffTrac

    v25 v26  
    7272   * ✅ Redirections from legacy to new URLs: provided by Nginx, defined using Nix code and deployed by pull request
    7373   * ✅ Issues tracking and Wiki pages: provided by Gitea or Forgejo:
    74      * https://code.lafs.eval.latfa.net/tahoe-lafs/trac-2024-07-25
    75      * https://forge.lafs.eval.latfa.net/tahoe-lafs/trac
     74     * https://code.lafs.eval.latfa.net/tahoe-lafs/trac-2024-07-25 (retired)
     75     * https://forge.lafs.eval.latfa.net/tahoe-lafs/trac (retired)
    7676   * ✅ Static website: provided by Nginx, build from Jekyll code and deployed by pull request
    77      * source: https://code.lafs.eval.latfa.net/tahoe-lafs/web-landing-page
    78      * preview: https://www.lafs.eval.latfa.net/
    79      * live: https://www.lafs.eval.latfa.net/
     77     * source: https://code.lafs.eval.latfa.net/tahoe-lafs/web-landing-page (retired)
     78     * preview: https://www.lafs.eval.latfa.net/ (retired)
     79     * live: https://www.lafs.eval.latfa.net/ (retired)
    80802. **IN PROGRESS** - Production (details in #4161):
    8181   1. **COMPLETED** - VPS only
     
    8888      * ✅ Credentials shared via [https://github.com/tahoe-lafs/infrastructure sops] and [https://github.com/tahoe-lafs/infrastructure-pass pass] repositories
    8989      * ✅ Forgejo with basic its requirements (DB and mailer) managed from Nix code
    90       * ✅ Forgejo configured with SSO, a [https://forge.of.tahoe-lafs.org/ Tahoe-LAFS] org and some well-known users
     90      * ✅ Forgejo configured with OAuth2 SSO with !CodeBerg, !GitHub and !GitLab, a [https://forge.of.tahoe-lafs.org/ Tahoe-LAFS] org and some well-known users
    9191   2. **PENDING** - Website only with redirect/proxy rules to legacy resources
    9292      * ✅ web-landing-page source code with CI/CD up and running on [https://forge.of.tahoe-lafs.org/Tahoe-LAFS/web-landing-page Tahoe-LAFS/web-landing-page]
    9393      * ✅ web-landing-page with redirect/proxy rules hosted on `webforge` and managed from Nix code - https://home.of.tahoe-lafs.org/
    9494      * ⌛ Manual update of DNS records to expose the web-landing-page (see #4183)
    95       * ➕ the Hall of Fame pages still needs to be "migrated" as a post of a page
     95      * ⏹️ Migrate the Hall of Fame as a post or a page (not worked on)
    9696   3. **TODO** - Issues and wiki hosted by Forgejo
    9797      * ⛔ Extract the Trac data and reconfiguration in RO via direct access to the legacy server
    98       * ⏸️ WORKAROUND: asynchronous extraction of Trac data via Meejah
     98      * ⏸️ WORKAROUND: asynchronous extraction of Trac data via Meejah and avoid POST via proxy rules
    9999      * ⏸️ Rework the redirect/proxy rules from Nix code to expose Forgejo instead of Trac
     100      * ⏸️ Execute the migration plan as described in Deliverable 2
     101   4. **TODO** - Other resources from the Linode
     102      * ⏹️ Replace the current binary repository for Tahoe-LAFS releases (not worked on)
    100103
    101 == Deliverable 2 - migration plan from Trac to self-hosted Gitea or Forgejo ==
     104== Deliverable 2 - detailed migration plan from Trac to self-hosted Forgejo ==
    102105
    103106* Requirements:
    104   * Code: [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2gitea] submodule
     107  * Code: [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2gitea] sub-module
    105108  * Credentials:
    106109    * SSH key to access Trac data on Linode server
     
    118121    9. Archive the Trac data `tar -czvf <dump_file> <dump_dir>`
    119122  2. On a workstation:
    120     1. Checkout [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2giteam] submodule (e.g. in `~/MoveOffTrac`)
     123    1. Checkout [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2giteam] sub-module (e.g. in `~/MoveOffTrac`)
    121124    1. Restore the dump with `tar -C trac/project -xzvf <dump_file> --strip-components=1`
    122125    2. Adapt or patch the configuration with `patch trac/project/conf/trac.ini < helpers/trac.ini.patch` if needed
     
    126129    6. Edit the WikiStart page to replace link: `/~trac/` -> `../chrome/site/` or transform them as attachment if needed
    127130  3. On the Forgejo server:
    128     1. Checkout [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2giteam] submodule (e.g. in `~/MoveOffTrac`)
     131    1. Checkout [https://github.com/tahoe-lafs/MoveOffTrac MoveOffTrac] and [https://github.com/tahoe-lafs/trac2gitea trac2giteam] sub-module (e.g. in `~/MoveOffTrac`)
    129132    2. Create an empty repository and (e.g. `trac`) and disable unwanted features (e.g. Unit/Code)
    130133    3. Create an empty Wiki home page in the repository prepared above
    131134    4. Build trac2gitea using the instructions provided (in [https://github.com/tahoe-lafs/trac2gitea trac2gitea])
    132135    5. Transfer the Trac project directory from the workstation (previous sextion) (e.g.: in `~/MoveOffTrac/trac/project`)
    133     6. Remote: migrate the Trac project to Forgejo:
     136    6. Migrate the Trac project to Forgejo:
    134137       {{{
    135138         export TOKEN=<token>
     
    139142         sudo ./trac2gitea/trac2gitea --app-ini /var/lib/forgejo/custom/conf/app.ini --wiki-only --wiki-token=$TOKEN --wiki-dir=/tmp/$REPO trac/project /var/lib/forgejo $OWNER $REPO
    140143       }}}
    141     7. Remote: `systemctl start forgejo.service`
     144    7. Restart Forgejo: `systemctl start forgejo.service`
    142145* Caveats:
    143   * migration works only with sqlite DB!
    144146  * tables are not always correctly converted to MD (e.g. #1170 - possibly wrongly formatted)
    145147  * some original links are still not converted and points to tahoe-lafs.org (e.g. http://!?)
    146   * tickets authors need to be created as user before the migration to link contributions to their profile
    147   * changes history of wiki pages will be not be linked to their authors
     148  * tickets authors need to be created as user before the migration to link contributions to their profile on Forgejo
     149  * changes history of wiki pages will be not be linked to their authors profile on Forgejo (just their name from Trac)
    148150
    149151== Deliverable 3 - high-level migration plan from self-hosted to an SaaS provider ==
    150152
    151 1. **DONE** - Migration of the Forgejo repository/ies:
    152    * ✅ Plan:
     1531. **DONE** - Migration plan for the Forgejo repository/ies:
     154   * ✅ Prospects:
     155     a. [https://codeberg.org/ CodeBerg]
     156     b. [https://gitea.com/ Gitea]
     157     c. [https://hostedgitea.com/ Hosted Gitea]
     158     d. [https://www.stellarhosted.com/gitea/ StellarHosted]
     159   * ✅ Steps for !CodeBerg:
    153160     1. Sign-in to [https://forge.of.tahoe-lafs.org Forgejo] and create an API token on Forgejo with Read access on repositories own by the [https://forge.of.tahoe-lafs.org/Tahoe-LAFS Tahoe-LAFS org]
    154      2. Sign-in to !CodeBerg as a member of the [https://codeberg.org/Tahoe-LAFS Tahoe-LAFS] org
     161     2. Sign-in to !CodeBerg as an owner of the [https://codeberg.org/Tahoe-LAFS Tahoe-LAFS] org
    155162     3. Use the [https://codeberg.org/repo/migrate migration tool] on !CodeBerg to migrate the repository/ies from [https://forge.of.tahoe-lafs.org Forgejo]
    156163     4. Archive the migrated repository/ies on [https://forge.of.tahoe-lafs.org Forgejo]
     
    166173       * Caveats:
    167174         * CI runner does not support (yet) docker (work around possible with local installation of ruby+gems)
    168 2. **IN PROGRESS** - Migration of the static website
     1752. **IN PROGRESS** - Migration plan for the static website
    169176   * ▶️ Prospects:
    170      a. [https://docs.codeberg.org/codeberg-pages/ CodeBerg Pages] (or !GitHub Pages), which will break legacy links (e.g. from !GitHub)
    171      b. [https://www.statichost.eu/docs/ssg-guides/#jekyll StaticHost], which might support redirect/proxy rules and avoid broken links
     177     a. [https://docs.codeberg.org/codeberg-pages/ CodeBerg Pages] (or !GitHub Pages)
     178        * will break legacy links (e.g. from !GitHub), unless we keep a minimal NixOS VPS with redirect/proxy rules
     179     b. [https://www.statichost.eu/docs/ssg-guides/#jekyll StaticHost] (to be tested)
     180        * might support redirect/proxy rules and avoid broken links
     181        * could replace the CI/CD too!?