3.6 KiB
3.6 KiB
Playbook Upgrade from 1.19 to 7.0.5
Info: Relevant Breaking Changes:
- 1.19.3:Current version
- 1.20.1-0: Breaking https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#1-20-1-0
- 1.21.1-0: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#1-21-1-0
- 7.0.0: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#7-0-0
Preparations
- Stop Forgejo Prod: TODO
- Disable Backup Cron: TODO
- Scale up Backup-Restore Deployment: TODO
- Execute Manual Backup: TODO
Create 2nd Repo Prod Server
- Terraform Preparations for 2nd Server: TODO
- Install c4k-forgejo Version TODO
with config"forgejo-image-version-overwrite": "1.19.3-0"
- Stop Forgejo Deployment: TODO
- Disable Backup Cron: TODO
- Scale up Backup-Restore Deployment: TODO
- Restore Forgejo Backup: See BackupAndRestore.md
- Check for
..._INSTALL_LOCK: true
in ConfigMapforgejo-env
- Scale up Forgejo Deployment and check for (startup) problems: TODO
Upgrade to 1.20.1-0
- Scale down Forgejo Deployment:
k scale deployment forgejo --replicas=0
- Adjust configmap:
k edit cm forgejo-env
- Remove
FORGEJO__database__CHARSET: utf8
(This was a misconfiguration, since this option only had effect for mysql dbs) - Change
FORGEJO__mailer__MAILER_TYPE: smtp+startls
TOFORGEJO__mailer__PROTOCOL: smtp+starttls
(Missed deprecation from 1.19) - Change
FORGEJO__service__EMAIL_DOMAIN_WHITELIST: repo.test.meissa.de
TOFORGEJO__service__EMAIL_DOMAIN_ALLOWLIST: repo.test.meissa.de
(Fallback deprecation in 1.21)
- Remove
- Delete app.ini:
k exec -it backup-restore-... -- rm /var/backups/gitea/conf/app.ini
- Set version to
1.20.1-0
withk edit deployment forgejo
- Scale up Forgejo Deployment:
k scale deployment forgejo --replicas=1
- Check for errors
Upgrade to 1.21.1-0
- Scale down Forgejo Deployment:
k scale deployment forgejo --replicas=0
- Delete app.ini:
k exec -it backup-restore-... -- rm /var/backups/gitea/conf/app.ini
- Set version to
1.21.1-0
withk edit deployment forgejo
- Scale up Forgejo Deployment:
k scale deployment forgejo --replicas=1
- Check for errors
- After upgrading, login as an admin, go to the
/admin
page and click runSync 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 asLoadBranches: branch does not exist in the logs
.
Upgrade to 7.0.0
- Scale down Forgejo Deployment:
k scale deployment forgejo --replicas=0
- Adjust configmap:
k edit cm forgejo-env
- Change
FORGEJO__oauth2__ENABLE: "true"
TOFORGEJO__oauth2__ENABLED: "true"
- Change
- Delete app.ini:
k exec -it backup-restore-... -- rm /var/backups/gitea/conf/app.ini
- Set version to
7.0.0
withk edit deployment forgejo
- Scale up Forgejo Deployment:
k scale deployment forgejo --replicas=1
- Check for errors
Post Work
- Switch DNS to new server
- Reenable Backup Cron: TODO
- Execute manual Backup: TODO
- The scope of all access tokens might (invisibly) have changed (in v1.20). Thus, rotate all tokens!
- 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