c4k-forgejo/doc/Playbook_UpgradeFrom1.19To7.0.5.md

3.1 KiB

Playbook Upgrade from 1.19 to 7.0.5

Info: Relevant Breaking Changes:

Preparations

  1. Stop Forgejo Prod: TODO
  2. Disable Backup Cron: TODO
  3. Scale up Backup-Restore Deployment: TODO
  4. Execute Manual Backup: TODO

Create 2nd Repo Prod Server

  1. Terraform Preparations for 2nd Server: TODO
  2. Install c4k-forgejo Version TODO
    with config "forgejo-image-version-overwrite": "1.19.3-0"
  3. Stop Forgejo Deployment: TODO
  4. Scale up Backup-Restore Deployment: TODO
  5. Restore Forgejo Backup: See BackupAndRestore.md
  6. Check for ..._INSTALL_LOCK: true in ConfigMap forgejo-env
  7. Scale up Forgejo Deployment and check for (startup) problems: TODO

Upgrade to 1.20.1-0

  1. Scale down Forgejo Deployment: k scale deployment forgejo --replicas=0
  2. Adjust configmap: k edit cm forgejo-env
    1. Remove FORGEJO__database__CHARSET: utf8 (This was a misconfiguration, since this option only had effect for mysql dbs)
    2. Change FORGEJO__mailer__MAILER_TYPE: smtp+startls TO FORGEJO__mailer__PROTOCOL: smtp+starttls (Missed deprecation from 1.19)
    3. Change FORGEJO__service__EMAIL_DOMAIN_WHITELIST: repo.test.meissa.de TO FORGEJO__service__EMAIL_DOMAIN_ALLOWLIST: repo.test.meissa.de (Fallback deprecation in 1.21)
  3. Delete app.ini: k exec -it backup-restore-... -- rm /var/backups/gitea/conf/app.ini
  4. Set version to 1.20.1-0 with k edit deployment forgejo
  5. Scale up Forgejo Deployment: k scale deployment forgejo --replicas=1
  6. Check for errors

Upgrade to 1.21.1-0

  1. Scale down Forgejo Deployment: k scale deployment forgejo --replicas=0
  2. Delete app.ini: k exec -it backup-restore-... -- rm /var/backups/gitea/conf/app.ini
  3. Set version to 1.21.1-0 with k edit deployment forgejo
  4. Scale up Forgejo Deployment: k scale deployment forgejo --replicas=1
  5. Check for errors
  6. After upgrading, login as an admin, go to the /admin page and click run Sync missed branches from git data to databases (Fehlende Branches aus den Git-Daten in die Datenbank synchronisieren). If this is not done there will be messages such as LoadBranches: branch does not exist in the logs.

Upgrade to 7.0.0

TODO

Post Work

  1. The scope of all access tokens might (invisibly) have changed (in v1.20). Thus, rotate all tokens!
  2. Users should check their ssh keys: if they use rsa keys the minimum length should be 3072 bits! However, shorter keys should still work.

Known Errors

Error in v1.20.1-0

In the logs the following error can be found. This will be resolved automatically with the next upgrade (v1.21).

2024/07/08 08:31:30 ...g/config_provider.go:321:deprecatedSetting() [E] Deprecated fallback `[log]` `ROUTER` present. Use `[log]` `logger.router.MODE` instead. This fallback will be/has been removed in 1.21