team-sync image performs various syncing operations related to Penn Labs’ GitHub teams, including syncing team memberships to Vault policies and other services.
Purpose
This Docker image automates synchronization tasks between GitHub teams and other services used by Penn Labs. It helps maintain consistency across different platforms by keeping team memberships and permissions up to date.Module System
Theteam-sync image uses a dynamic module loading system:
- Python files in the
sync/modulesdirectory are automatically loaded - Each module implements a
syncmethod - The image executes the
syncmethod for each module
How It Works
Use Cases
- Syncing GitHub team memberships to Vault policies
- Updating access controls across multiple services
- Maintaining consistent permissions across platforms
- Automating team-based provisioning tasks
Extending with Custom Modules
To add custom synchronization logic:- Create a new Python file in
sync/modules/ - Implement a
syncmethod with your synchronization logic - The module will be automatically loaded and executed