#4095 new task

Move off Trac - Initiation

Reported by: btlogy Owned by:
Priority: normal Milestone: undecided
Component: dev-infrastructure Version: n/a
Keywords: Cc: blaisep
Launchpad Bug:

Description (last modified by btlogy)

As discussed during the nuts-and-bolts meeting this Tue 5th of Mars 2024, I'm creating this issue to initiate the possible migration of Trac.

The main deliverable of this task would be a document (Wiki page?) describing, at least:

  • the goals and initial requirements
  • the current situation
  • the possible foreseeable options

Change History (9)

comment:1 Changed at 2024-03-06T16:16:09Z by btlogy

  • Description modified (diff)

comment:2 Changed at 2024-03-06T16:47:00Z by btlogy

I've already compiled some notes from the last Tuesday meeting and assessed the current situation to some extend.

But I'm unsure if I should/could share what I have so far in a Wiki page or an other live document (cryptpad.fr) before we have something sound to start the next phase (planning) - if we do.

comment:3 Changed at 2024-03-08T14:36:34Z by btlogy

I've a few questions I'd like to find the answer in order to update my notes about this task:

  1. #3742 is about a repository on gitlab.com for infra/Terraform code : does it exist? is it used to deploy this Trac instance? how is it deployed otherwise?
  2. there are many other services running on the same system, including 7 other Trac projects, a Darks server and at least 3 Builbot masters: should those be in the scope too?
  3. the version of this Trac instance (v1.0.13) and the system hosting it (Ubuntu 19) have a few new releases (Trac 1.6.0 / Ubuntu 22): is there something blocking some upgrade?
  4. as mentioned in my previous comment: what would be the best way to share my notes so we can collaborate to improve them (cryptpad.fr)?

comment:4 Changed at 2024-03-08T18:49:15Z by meejah

I'm not aware of any infratructure repository, and don't immediately see anything on gitlab.com (at least under tahoe-lafs org).

Sharing notes could be done on cryptpad.fr for sure. Another option could be to find a suitable place in docs/* and do that via a pull-request.

comment:5 Changed at 2024-03-19T17:09:09Z by btlogy

As discussed last week in the Nuts and Bolt meeting, I've published a summary of my assessment of the current state of the infrastructure around Trac in a new Wiki page: DevInfra

comment:6 Changed at 2024-05-30T09:00:03Z by btlogy

Wherever the Trac data will end up being moved, here are the notes I've collected while trying to reproduce the current Trac setup from a hotcopy to a docker environment:

  1. Initiate trac-admin <project> then hotcopy <path> on the source
  2. Remove log directory from the hotcopy path/log
  3. Purge session from the hotcopy with trac-admin path and session purge ...
  4. Compact the DB with sqlit3 path/db/trac.db 'VACUUM;'
  5. Prepare to transfer the curated hotcopy directory with public_html folder and trac.htdigest file
  6. Checkout https://code.lafs.eval.latfa.net/tahoe-lafs/MoveOffTrac on the target
  7. Transfer and restore Trac hotcopy in trac/tahoe-lafs on the target
  8. Transfer and restore extra files (living outside of Trac so far) on the target:
    • trac/public_html
    • trac/trac.htdigest
  9. Clone the Git repo: git clone https://github.com/tahoe-lafs/tahoe-lafs.git trac/repos/tahoe-lafs.git
  10. Create missing folders (e.g.: trac/thaoe-lafs/log)
  11. Patch trac/tahoe-lafs/conf/trac.ini
  12. Gain admin access (if needed):
    1. docker-compose run --rm --entrypoint bash trac
    2. trac-admin tahoe-lafs
    3. permission add <username_here> admin
    4. exit and exit
  13. Start the local Trac: docker-compose run --rm trac
  14. Login on http://localhost:8000/tahoe-lafs/login
  15. Edit the WikiStart page to replace link: /~trac/ -> ../chrome/site/ or transform them as attachment

These steps will likely be improved with more iteration, but they should help reproducing a workable environment to actually test/start the migration.

Version 0, edited at 2024-05-30T09:00:03Z by btlogy (next)

comment:7 Changed at 2024-06-11T10:18:29Z by btlogy

While the execution phase has already been started (test of migration to Gitea), we'd better agree on the final definition of the scope and the deliverables so we can plan the actual migration:

  • Scope of the migration:
    • INCLUDES:
      • Trac issues of the Tahoe-LAFS project
      • Trac wiki pages of the Tahoe-LAFS project
      • Trac HTML home page of the Tahoe-LAFS project
      • Hall of Fame HTML page of the Tahoe-LAFS project
      • The related DNS records (mostly: tahoe-lafs.org)
    • EXCLUDES:
      • Binary repository for Tahoe-LAFS releases (https://tahoe-lafs.org/downloads)
      • Other Trac projects (see DevInfra)
      • Buildbot master instances for some other Trac projects
      • DARCS SCM for some of the other Trac projects
      • Any other services provided by the current server and not yet documented in DevInfra

  • Deliverables:
    1. A VPS (hosted by Hetzner) providing 4 features powered by NixOS and Gitea:
      • a tracking system provisioned with the issues migrated from Trac (same numbers)
      • a Wiki system provisioned with the relevant pages migrated from Trac (same names)
      • a static website replacing the landing page from Trac with the code required for CI and CD
      • a repository defining the VPS it-self and its configuration as code (including the secrets)
    2. A detailed migration plan to handle the transition (DNS changes and/or redirections)
    3. An high-level migration plan for the 3 first features above to be later hosted on Codeberg SaaS (assuming it is possible)

I'll discuss this proposal in the next Nuts&Bolts meeting (Tue 11th of June).

comment:8 Changed at 2024-10-03T15:49:57Z by blaisep

  • Cc blaisep added

comment:9 Changed at 2024-11-05T18:01:20Z by btlogy

Not sure why it was not mentioned here yet, but some more info about this issue have been written in the wiki: MoveOffTrac

Note: See TracTickets for help on using tickets.