Create a CLI utility that checks retention config information for a small set of objects. Utility works as follows: * given a set of prefixes find one current version of each object * for each object selected above, retrieve the retention config * compare retention mode and expiry with the given mode and an expiry calculated from the current time To attempt to reduce costs, the utility uses the list API to fetch object names/versions and match prefixes. It will cancel listing objects (i.e. stop fetching new pages) once all prefixes are matched Also includes a flag to select non-current versions of objects with the same prefix. However, setting this flag may lead to more API calls because some objects may not have non-current versions. In that case all objects will be listed sample usage to check current and non-current versions of an object with prefix 'x' and current and non-current versions of an object with prefix 'q'. The current versions should expire in >= 8h and the non-current versions should expire <= 7h ``` s3checker --bucket <> --bucket-prefix <> \ --prefix x --prefix q \ --retention-mode GOVERNANCE --live-retention-duration 8h \ --with-non-current --dead-retention-duration 7h ``` --- #### 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 - [x] 🤖 Supportability/Tests - [x] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Issue(s) * #3799 #### Test Plan - [x] 💪 Manual - [ ] ⚡ 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 Beta.
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 Quickstart on our docs page.
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.