Add points 81-90 covering deployment

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lercho 2024-10-21 11:54:36 +10:00
parent 4f4930d523
commit 20ffa4d020

View file

@ -469,3 +469,52 @@ Following is the investigation on Forgejo based on the user stories collected.
80. **As a Fedora Badges junkie, I want to be able to receive badges for activities related to dist-git. In technical terms, the dist-git activities must be broadcast to the Fedora Message Bus (or however it's called nowadays).**
Please check the answer to the user story #51.
81. **Scalability - As a SaaS administrator, I want the system architecture to support scalability, manually or automatically based on demand, so that we can maintain optimal performance during traffic spikes and efficiently handle user growth.**
Forgejo does not provide a documented reference architecture for larger-scale deployments,
so assessing the scalability of Forgejo on paper is difficult. However, codeberg.org uses
Forgejo, and hosts over 168,753 repositories from 143,581 registered users. Codeberg's
Infrastructure setup is publicly available at https://codeberg.org/Codeberg-Infrastructure,
which could serve as a reference architecture of sorts during deployment.
82. **Reliability and High Availability - User Story: As a SaaS administrator, I want the service architecture to be highly available, to ensure 24/7 operation with minimal downtime, so that end users may access and use the application whenever needed without interruptions.**
Forgejo does not provide a documented reference architecture for larger-scale deployments,
so assessing the Reliability and High Availability of Forgejo on paper is difficult.
Secondly, Codeberg appears to be one of the only larger deployments of Forgejo. However,
Codeberg's Infrastructure setup is publicly available at
https://codeberg.org/Codeberg-Infrastructure, which could serve as a reference architecture
of sorts during deployment.
83. **Security - User Story: As a SaaS administrator, I want robust security measures implemented across our infrastructure, including encryption, access controls, and regular security audits, so that we can protect our end users data and maintain their trust.**
The Forgejo community appears to react promptly to CVE's against the software.
https://forgejo.org/compare-to-gitea/#better-security. If installed, configured and
maintained correctly, the system can be secure enough for our needs in a self managed
installation.
84. **Security - User Story: As a SaaS administrator, I want to quickly identify when the system is affected by CVEs, so that steps can be taken to plan upgrades to mitigate vulnerabilities.**
The Forgejo community appears to react promptly to CVE's against the software.
https://forgejo.org/compare-to-gitea/#better-security
85. **Monitoring and Observability - User Story: As a SaaS administrator, I want a centralised monitoring and logging system that provides real-time insights into application performance, resource utilisation, and user experience, so that we can quickly identify and resolve issues before they impact users.**
-
86. **Infrastructure as Code (IaC) - User Story: As a SaaS administrator, I want to manage our the system infrastructure using code that we can version control, easily replicate environments, and automate provisioning and configuration.**
Configuration will be possible to keep under source control.
87. **Multi-tenancy - User Story: As a SaaS administrator, I want the application to be a secure multi-tenant system that efficiently shares resources among end users while ensuring complete data isolation, so that we can serve multiple clients cost-effectively without compromising security.**
Forgejo does not provide a documented reference architecture for larger-scale deployments,
so assessing Forgejo on paper is difficult. However, codeberg.org uses Forgejo, and hosts
over 168,753 repositories from 143,581 registered users. Codeberg's Infrastructure setup
is publicly available at https://codeberg.org/Codeberg-Infrastructure, which could serve
as a reference architecture of sorts during deployment.
88. **Disaster Recovery and Backup - User Story: As a SaaS administrator, I want automated backup systems and a comprehensive disaster recovery plan in place, so that we can quickly recover from any unforeseen events and minimise data loss and downtime.**
The recommended process for backing up and restoration of Forgejo is documented here:
https://forgejo.org/docs/latest/admin/upgrade/#backup
89. **Upgradability - User Story: As a SaaS administrator, I want to apply automated system upgrades, preferrably without causing system downtime, so we can continue to provide service to end users.**
Forgejo can be upgraded, https://forgejo.org/docs/latest/admin/upgrade/
90. **Upgradability - User Story: As a SaaS administrator, I want to safely apply database schema upgrades without causing outages or data loss.**
Forgejo can be upgraded, https://forgejo.org/docs/latest/admin/upgrade/