As a Special Collections user,
I want to be able to use version control with LDAP authentication instead of the lastpass generated password.
Acceptance criteria
[ ] Git with Large File System is successfully installed and configured.
[ ] LDAP authentication is integrated with Git.
[ ] The existing SVN repository is converted to Git and imported into Git without data loss.
[ ] All project stakeholders are informed about the migration and provided with training and support.
[ ] Project documentation is updated to reflect the new system and workflows.
Concrete example
Implementation notes below as a Design Document
Software Design Document: Migration from Subversion to Gitea (Forgejo) with LDAP Authentication
1. Introduction
Purpose:
This document outlines the strategy and steps required to migrate our project's version control system from Subversion (SVN) to Gitea Forgejo, primarily driven by the need for LDAP authentication support.
Scope: This migration encompasses the code repository, historical commit data, and user access management.
Benefits: The move to Gitea will provide enhanced collaboration features, better integration with modern development workflows, and seamless LDAP authentication for streamlined user management.
2. Current System
Version Control System: Subversion
Authentication: Potentially a mix of local SVN user accounts and potentially other mechanisms.
Challenges: Lack of LDAP integration, limited collaboration tools, and potential leaks for passwords
3. Proposed System
Version Control System: Gitea (Forgejo), a self-hosted Git service with a user-friendly web interface.
Authentication: Gitea will be configured to utilize LDAP for user authentication and authorization, leveraging our existing LDAP infrastructure.
Advantages:
Robust LDAP integration
Distributed version control with Git and Large File System
Enhanced collaboration features (pull requests, code reviews, issue tracking)
4. Migration Process
Gitea Installation and Configuration:
Install Gitea on a suitable server.
Configure Gitea to connect to the LDAP server for authentication.
Set up user groups and permissions within Gitea as needed.
SVN to Git Conversion:
Utilize git svn or a dedicated migration tool (e.g., svn2git) to convert the SVN repository to a Git repository.
Carefully map SVN users to Git users to preserve commit history.
Test the converted Git repository to ensure data integrity.
Data Migration:
Import the converted Git repository into Gitea.
Migrate any additional project-related data (e.g., issue trackers, wikis) as needed.
User Transition:
Communicate the migration plan to all project stakeholders.
Provide training and support to users on the new Git workflow and Gitea interface.
Ensure users update their local Git configurations to point to the new Gitea repository.
Testing and Validation:
Thoroughly test all aspects of the migrated system (code access, commits, pull requests, etc.).
Address any identified issues or inconsistencies.
Deployment:
Switch over to the new Gitea system in a controlled manner, potentially with a period of parallel operation.
Decommission the old Subversion system once the migration is complete and validated.
5. Risks and Mitigation
Data Loss: Mitigate by performing thorough backups of both the SVN and Gitea repositories before and during the migration process.
User Adoption Challenges: Address by providing comprehensive training and support to users throughout the transition.
Integration Issues: Minimize by testing the integration with existing tools and workflows early in the migration process.
6. Conclusion
This migration to Gitea (Forgejo) will streamline our development process, enhance collaboration, and provide a more secure and efficient way to manage user access through LDAP authentication. Careful planning and execution of the migration steps outlined in this document will ensure a smooth and successful transition.
User story
As a Special Collections user, I want to be able to use version control with LDAP authentication instead of the lastpass generated password.
Acceptance criteria
Concrete example
Implementation notes below as a Design Document
Software Design Document: Migration from Subversion to Gitea (Forgejo) with LDAP Authentication
1. Introduction
Purpose: This document outlines the strategy and steps required to migrate our project's version control system from Subversion (SVN) to Gitea Forgejo, primarily driven by the need for LDAP authentication support. Scope: This migration encompasses the code repository, historical commit data, and user access management. Benefits: The move to Gitea will provide enhanced collaboration features, better integration with modern development workflows, and seamless LDAP authentication for streamlined user management.
2. Current System
Version Control System: Subversion Authentication: Potentially a mix of local SVN user accounts and potentially other mechanisms. Challenges: Lack of LDAP integration, limited collaboration tools, and potential leaks for passwords
3. Proposed System
Version Control System: Gitea (Forgejo), a self-hosted Git service with a user-friendly web interface. Authentication: Gitea will be configured to utilize LDAP for user authentication and authorization, leveraging our existing LDAP infrastructure. Advantages: Robust LDAP integration Distributed version control with Git and Large File System Enhanced collaboration features (pull requests, code reviews, issue tracking)
4. Migration Process
Gitea Installation and Configuration:
Install Gitea on a suitable server. Configure Gitea to connect to the LDAP server for authentication. Set up user groups and permissions within Gitea as needed. SVN to Git Conversion:
Utilize git svn or a dedicated migration tool (e.g., svn2git) to convert the SVN repository to a Git repository. Carefully map SVN users to Git users to preserve commit history. Test the converted Git repository to ensure data integrity. Data Migration:
Import the converted Git repository into Gitea. Migrate any additional project-related data (e.g., issue trackers, wikis) as needed. User Transition:
Communicate the migration plan to all project stakeholders. Provide training and support to users on the new Git workflow and Gitea interface. Ensure users update their local Git configurations to point to the new Gitea repository. Testing and Validation:
Thoroughly test all aspects of the migrated system (code access, commits, pull requests, etc.). Address any identified issues or inconsistencies. Deployment:
Switch over to the new Gitea system in a controlled manner, potentially with a period of parallel operation. Decommission the old Subversion system once the migration is complete and validated.
5. Risks and Mitigation
Data Loss: Mitigate by performing thorough backups of both the SVN and Gitea repositories before and during the migration process. User Adoption Challenges: Address by providing comprehensive training and support to users throughout the transition. Integration Issues: Minimize by testing the integration with existing tools and workflows early in the migration process.
6. Conclusion
This migration to Gitea (Forgejo) will streamline our development process, enhance collaboration, and provide a more secure and efficient way to manage user access through LDAP authentication. Careful planning and execution of the migration steps outlined in this document will ensure a smooth and successful transition.