Challenge Overview
Requirements:
-
This tool will execute a regularly scheduled cron job to list and revoke Application Specific Passwords for users in the Google Apps domain.
-
Tool will provide a web-based GUI for configuration, allowing for the following settings:
-
Job schedule time and recurrence interval (hourly, daily, weekly)
-
Ability to exclude users from processing based upon orgUnitPath (matching a regex)
-
-
Limit UI access to Google Apps domain super admins only
-
Leverage the Google Apps Directory API to query list users (including orgUnitPath) and to list/delete application specific passwords.
-
Build for scalability. This tool is expected to accommodate 100,000+ users.
-
Leverage App Engine Push Queues to process thousands of tasks for each job run
-
Respect API limits and implement exponential backoff as part of the error handling strategy.
-
Sample Codebase:
We previously launched a contest (http://community.topcoder.com/tc?module=ProjectDetail&pj=30045965) to create a tool for a different purpose, but it has similar design:
-
Scan the Directory API for a list of groups
-
Push specific settings to the Groups Settings API for each one
The base architecture may be leveraged for the new application
Final Submission Guidelines
Submission Deliverable
* Source Code
* Detailed Deployment Guide