## Description Remove OwnersCats so only the Reason struct or tags pass information between BackupOp and kopia Instead of having a separate struct (OwnersCats) to fetch previous snapshots, generate and use reasons. While this results in some repeated data, it cuts down on the number of distinct structs and simplifies some of the code for getting previous manifests. A future PR should create a shared function to create a service/cat tag given a reason. Only pass in a set of tags to BackupCollections. This pushes the onus of generating the tags for later snapshot lookups to BackupOp and creates a somewhat asymmetric interface as Reason is used for the lookup but tags is used for the backup. This will be updated later so that both paths use a common function to convert from Reason->tags. Despite that, it may result in a cleaner interface with kopia (depending on how far we want to push it) where tags become the main mean of communication. ## Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [x] ⛔ No ## Type of change - [ ] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Test - [ ] 💻 CI/Deployment - [x] 🧹 Tech Debt/Cleanup ## Issue(s) * #1916 ## Test Plan - [x] 💪 Manual - [x] ⚡ Unit test - [ ] 💚 E2E
Corso
Corso is the first open-source tool that aims to assist IT admins with the critical task of protecting their Microsoft 365 data. It provides a reliable, secure, and efficient data protection engine. Admins decide where to store the backup data and have the flexibility to perform backups of their desired service through an intuitive interface. As Corso evolves, it can become a great building block for more complex data protection workflows.
Corso is currently in ALPHA and should NOT be used in production.
Corso supports M365 Exchange and OneDrive with SharePoint and Teams support in active development. Coverage for more services, possibly beyond M365, will expand based on the interest and needs of the community.
Getting Started
See the Corso Documentation for more information.
Building Corso
To learn more about working with the project source core and building Corso, see the Developer section of the Corso Documentation.
Roadmap
You can learn more about the Corso roadmap and how to interpret it here.
If you have feature requests, please file a GitHub issue
and attach the enhancement label to the issue.
Contribution Guidelines
Code of Conduct
It's important that our community is inclusive and respectful of everyone. We ask that all Corso users and contributors take a few minutes to review our Code of Conduct.
License
Corso is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.