-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes #110
- Loading branch information
Showing
1 changed file
with
93 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
corobo Enhancement (security, tests and configurability) | ||
======================================================== | ||
|
||
|Metadata| | | ||
|--------|-----------------------------------------------------------| | ||
|cEP |15 | | ||
|Version |1.0 | | ||
|Title |corobo Enhancement (security, tests and configurability) | | ||
|Authors |Nitanshu Vashistha <[email protected]> | | ||
|Status |Proposed | | ||
|Type |Process | | ||
|
||
Abstract | ||
-------- | ||
|
||
This cEP describes the details of enhancement of [corobo](https://github.com/coala/corobo) in terms of security, tests, configurability and | ||
the new plugins that are to be added to corobo as part of the [GSoC Project](https://summerofcode.withgoogle.com/projects/#6603667076022272). | ||
|
||
## Security | ||
|
||
### Why improve security? | ||
|
||
Security has been one of the major concerns due to some past experiences. | ||
We want to provide access controls based on user’s GitHub team memberships. | ||
|
||
### How to improve security? | ||
|
||
1. Make all LabHub commands except invite require being a member of the organization. | ||
2. Add ability to ban from all gitter rooms at once. | ||
3. Remove auto-invite and give invite permissions to developers. | ||
4. Prevent newcomers from self-assigning themselves and give developers permission | ||
to assign newcomers. | ||
5. Prevent corobo being used to spam a room. | ||
6. Force newcomers to finish one issue first. | ||
7. Require newcomers to find a newcomer issue to work on before they are invited to | ||
join the organization. | ||
8. Add ability for maintainers to run corobo in safe mode in emergency situations. | ||
|
||
## Tests | ||
|
||
### Why improve existing tests and infrastructure? | ||
|
||
The default TestBase provided by errbot is not enough for testing plugins like LabHub, | ||
which required intensive mocking. One of the examples of this case is issues like [this](https://github.com/errbotio/errbot/issues/1086) | ||
|
||
|
||
### How to improve existing tests and infrastructure? | ||
|
||
This will involve making changes upstream in [Errbot](https://github.com/errbotio/errbot/) and extend the | ||
existing testing infrastructure to implement better testing for plugins like LabHub. | ||
|
||
## Configurability | ||
|
||
### Why make corobo more configurable? | ||
|
||
corobo has a potential to be used by other organizations for similar tasks like onboarding | ||
and automation. Currently, it is not configurable and many plugins are still very | ||
coala specific. Making it more configurable will allow other organizations to adapt corobo | ||
to cater their needs. | ||
|
||
### How to make corobo more configurable? | ||
|
||
Currently, the LabHub plugins are coala specific as they are meant to work for a specific | ||
team name like Maintainers, developers, and newcomers which are coala specific and might be | ||
different for other organizations. | ||
|
||
List of Plugins are: | ||
|
||
1. invite | ||
2. assign | ||
3. unassign | ||
4. mark wip|pending | ||
|
||
## New Features | ||
|
||
### Suggest newcomer issues | ||
|
||
``` | ||
> corobo suggest issues newcomer | ||
Here are some newcomer issues: | ||
coala/coala#5276 [Modify installing from git instructions] | ||
coala/coala-bears#2376 [Fix invalid language setting] | ||
coala/coala-quickstart#128 [add .DS_Store to .gitignore] | ||
coala/coala-bears#2326 [Add .pytest_cache to .gitignore] | ||
``` | ||
|
||
### Safe mode | ||
|
||
``` | ||
> corobo stop | ||
corobo has been sent to safe-mode by @Makman2 | ||
``` |