Infrastructure and tooling for AI Engineering bootcamps, providing secure, isolated development environments and automated participant onboarding.
This platform consists of two main components:
- Coder Deployment - Containerized development environments on GCP
- Participant Onboarding System - Secure, automated participant onboarding
The coder folder contains all resources needed to deploy a Coder instance on Google Cloud Platform (GCP), along with reusable workspace templates and Docker images for the workspace environment.
- deploy/ - Terraform scripts and startup automation for provisioning the Coder server on a GCP VM
- docker/ - Dockerfiles and guides for building custom images used by Coder workspace templates
- templates/ - Coder workspace templates for reproducible, containerized development environments on GCP
- Provision Coder on GCP - Follow the steps in
coder/deploy/README.md - Build and Push Docker Images - See
coder/docker/README.md - Push Workspace Templates - See
coder/templates/README.md
Automated system for securely distributing team-specific API keys to bootcamp participants using Firebase Authentication and Firestore.
Secure Authentication - Firebase custom tokens with per-participant access Team Isolation - Firestore security rules enforce team-level data separation Automated Onboarding - One-command setup for participants API Key Management - Automated generation and distribution of:
┌─────────────────────────────────────────────────────────────────┐
│ Admin Phase │
├─────────────────────────────────────────────────────────────────┤
│ 1. Setup participants and teams in Firestore │
│ 2. Generate team-specific API keys │
│ 3. Setup shared keys │
│ 4. Generate Firebase authentication tokens │
│ 5. Deploy Firestore security rules │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Participant Phase │
├─────────────────────────────────────────────────────────────────┤
│ 1. Run onboarding script in Coder workspace │
│ 2. Script authenticates using Firebase custom token │
│ 3. Fetch team-specific API keys (security rules enforced) │
│ 4. Create .env file with all credentials │
│ 5. Run integration tests to verify keys │
└─────────────────────────────────────────────────────────────────┘
- Python 3.12+
uvpackage manager- GCP project with Firestore and Secret Manager enabled
- Firebase project with Authentication enabled
- Appropriate GCP permissions (see admin guide)
# Clone repository
git clone <repository-url>
cd aieng-platform
# Install dependencies
uv sync
# Authenticate with GCP
gcloud auth application-default login