# OSTree Pulp Plugin Basic Implementation Estimates
## Scope
1. As a user, I have an installable pulp_ostree plugin for pulp3 available from PyPI
2. As a pulp_ostree user, I can create an OSTree Repository
3. As a pulp_ostree user, I can define an OSTree Remote (no extra attributes planned)
4. As a pulp_ostree user, I can sync with immediate/on-demand/streamed a remote OSTree repository
5. As a pulp_ostree user, I can publish and distribute a repository in a way that an ostree client can fetch from installable
6. As a pulp_ostree user, I can upload OSTree content into an OSTree Repository using the ostree client
7. As a pulp_ostree developer, I have tests for all ^. These are expected to be developed along with the code, right from the start.
## Out of scope
1. As a pulp_ostree user, I can add/remove content of an OSTree Repository
2. As a pulp_ostree user, I can copy content from an OSTree Repository to another one
## Estimates
These estimates assume the usual 50% overhead of doing coding work while keeping up all the other business activities. So 1 FTE week is 1 person for 1 week working half-time on this activity.
Repo setup, CI setup, basic hello world package publish, OSTree remote, and OSTree Repository - 1 FTE week
Sync - 2 FTE weeks
Publish - 1 FTE week
Upload - 1.5 FTE weeks
Safety Factor: an extra 2 weeks for good measure
Total: 7.5 weeks. This is expected to include tests and fixtures
## Useful links
[Anatomy of an OSTree repository](https://ostreedev.github.io/ostree/repo/)