CLI tool for onboarding participants to AI Engineering bootcamps
Project description
AI Engineering Platform
Infrastructure and tooling for AI Engineering bootcamps, providing secure, isolated development environments and automated participant onboarding.
Overview
This platform consists of two main components:
- Coder Deployment - Containerized development environments on GCP
- Participant Onboarding System - Secure, automated participant onboarding
1. Coder Deployment for GCP
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.
Structure
- 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
Usage
- 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
2. Participant Onboarding System
Automated system for securely distributing team-specific API keys to bootcamp participants using Firebase Authentication and Firestore.
Features
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:
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────────┘
Requirements
- Python 3.12+
uvpackage manager- GCP project with Firestore and Secret Manager enabled
- Firebase project with Authentication enabled
- Appropriate GCP permissions (see admin guide)
Installation
# Clone repository
git clone <repository-url>
cd aieng-platform
# Install dependencies
uv sync
# Authenticate with GCP
gcloud auth application-default login
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aieng_platform_onboard-0.3.0.tar.gz.
File metadata
- Download URL: aieng_platform_onboard-0.3.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc38c396f2edf2d6f848b64691ccbfe2acb2d3d525336c9269e1914a73e1c8db
|
|
| MD5 |
8289e027ff49763d7c9801c17d63643e
|
|
| BLAKE2b-256 |
32cd4880455bf0c2801ae2e95db7815195c46f39e79d6c8b4346e0a9b36040f4
|
File details
Details for the file aieng_platform_onboard-0.3.0-py3-none-any.whl.
File metadata
- Download URL: aieng_platform_onboard-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
284598fc8a352d2074351e8b2e0a6166f8429261538d4b7d2cf4fee1368b00dd
|
|
| MD5 |
1e89c0aa1f2e227a0c89b5050a74df7a
|
|
| BLAKE2b-256 |
64694e5dd13b3393604eb107f575df53e88697edf4654113cfbc55774898a1b0
|