Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add more nuanced global whitelists and bulk operations (#716)
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺ v ✰ Thanks for creating a PR! You're awesome! ✰ v Please note that maintainers will only review those PRs with a completed PR template. ☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --> # Purpose of Changes and their Description ### High Level Intentions -- Whitelist Improvements 1. params proto props omitempty + new params 2. global worker whitelist 3. global reputer whitelist 4. bulk adds * global parameter to meter this 5. global admins * add to topic and global lists * managed by super admins ### global params to add -- DONE 0. omitempty 1. global_worker_whitelist_enabled 2. global_reputer_whitelist_enabled 3. global_admin_whitelist_appended 4. max_whitelist_input_array_length ### stores to add -- DONE 1. GlobalWorkerWhitelist 2. GlobalReputerWhitelist 3. GlobalAdminWhitelist ### acl logic to add -- DONE 1. global admins can update global and topic worker and reputer whitelists when global admin whitelist appended. when not appended, no one can except whitelist (super) admins 2. only global workers and reputers can work and reputer, resp, across all topics, when their resp whitelist enabled. when diabled, anyone can * Note: We must be sure that Global whitelist is enabled as well for global_worker_whitelist_enabled and global_reputer_whitelist_enabled to have meaningful effect 3. whitelist (super) admins can update all global whitelists ### rpc tx to add -- DONE 1. add global worker 2. rm global worker 3. add global reputer 4. rm global reputer 5. add global admin 6. rm global admin 7. bulk add topic workers 8. bulk add global workers 9. bulk add topic reputers 10. bulk add global reputers ### rpc q to add -- DONE 1. is_global_worker_whitelist 2. is_global_reputer_whitelist 3. is_global_admin 4. can_update_global_worker_whitelist 5. can_update_global_reputer_whitelist ## Link(s) to Ticket(s) or Issue(s) resolved by this PR ## Are these changes tested and documented? - [x] If tested, please describe how. If not, why tests are not needed. - Unit tests created. - [x] If documented, please describe where. If not, describe why docs are not needed. - Documentation for this will be more carefully crafted elsewhere. - [x] Added to `Unreleased` section of `CHANGELOG.md`? ## Still Left Todo Just rebase atop base branch.
- Loading branch information