Skip to content

rafaelctz/GWorkspace-toolbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GWorkspace Toolbox

Docker Build License: MIT PRs Welcome

A comprehensive, open-source toolkit for Google Workspace administrators with tools for user management, group synchronization, and attribute injection.

πŸš€ Features automatic updates β€’ 🌍 Multi-language support β€’ 🐳 Docker-ready β€’ πŸ”’ Branch-protected

Features

Google Workspace Tools

1. Alias Extractor

Extract all user accounts with email aliases from Google Workspace and export to CSV format.

Output Format:

  • Current Email
  • Alias 1
  • Alias 2
  • Alias 3
  • (Additional aliases as needed)

Supported Languages

  • English
  • Spanish (EspaΓ±ol)
  • Portuguese (PortuguΓͺs)

Deployment Options

Local Development

Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000

Frontend Setup

cd frontend
npm install
npm run dev

Google Workspace API Setup

  1. Go to Google Cloud Console
  2. Create a new project or select existing one
  3. Enable the Admin SDK API
  4. Create OAuth 2.0 credentials (Desktop app)
  5. Download the credentials JSON file
  6. Upload it through the application interface

Docker Deployment (Recommended)

Docker deployment includes automatic updates via Watchtower - you'll always have the latest version!

# Pull and run pre-built image
docker-compose up -d

# Access the application
# UI + API: http://localhost:8000

What's included:

  • βœ… Single unified image (frontend + backend) from GitHub Container Registry
  • βœ… Automatic updates (checks daily for new versions)
  • βœ… Auto-cleanup of old images
  • βœ… No manual updates needed!
  • βœ… Access at http://localhost:8000 (both UI and API)

Manual update (if needed):

docker-compose pull
docker-compose up -d

For local development (build from source):

docker-compose -f docker-compose.dev.yml up

Architecture

GWorkspace-toolbox/
β”œβ”€β”€ backend/          # FastAPI Python backend
β”œβ”€β”€ frontend/         # React + Vite frontend
β”œβ”€β”€ docker-compose.yml
└── README.md

API Documentation

Once running, access the interactive API documentation at:

Security Notes

  • Never commit credentials.json or token.json files
  • Store sensitive credentials securely
  • Use environment variables for configuration
  • The application runs locally to maintain credential security

Contributing

We welcome contributions from the community! πŸŽ‰

πŸ› Found a Bug?

Open an issue with details about the problem.

πŸ’‘ Have an idea?

Submit a feature request or start a discussion.

πŸ”¨ Want to contribute code?

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Push to your branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Note: The main branch is protected and requires:

  • βœ… Pull Request review and approval
  • βœ… CI/CD checks to pass (Docker builds)
  • βœ… No direct pushes allowed

See CONTRIBUTING.md for detailed guidelines.

CI/CD Pipeline

This project uses GitHub Actions for continuous integration:

  • βœ… Automatic Docker image builds on every push to main
  • βœ… Images published to GitHub Container Registry
  • βœ… Watchtower automatically updates running instances
  • βœ… Branch protection ensures code quality

View builds: GitHub Actions

Community & Support

License

MIT License - see LICENSE for details


Made with ❀️ for Google Workspace administrators

About

Set of tools to help Google Workspace for Education admins integrate better with SAML apps by injecting attributes or provisioning groups based on OU structe.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors