Participants
Participants are users who access environments during training sessions. They are distinct from organization members - participants only interact with Teabar during active sessions and don’t require full accounts.
Participants vs Members
| Aspect | Participants | Organization Members |
|---|---|---|
| Context | Active during sessions | Ongoing access |
| Account | Optional (can use access links) | Required Teabar account |
| Access | Their session environment only | Based on role/permissions |
| Duration | Session lifetime | Until removed |
| Billing | No direct access | Can view (if permitted) |
┌─────────────────────────────────────────────────────────────────┐
│ Organization │
│ │
│ Members (persistent): │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Admin │ │Instructor│ │ Member │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Active Session │ │
│ │ │ │
│ │ Participants (temporary): │ │
│ │ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ │
│ │ │ Alice │ │ Bob │ │Charlie│ │ Dave │ ... │ │
│ │ │ env-1 │ │ env-2 │ │ env-3 │ │ env-4 │ │ │
│ │ └───────┘ └───────┘ └───────┘ └───────┘ │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘ Adding Participants to Sessions
Direct Addition
# Add single participant
teactl session participant add kubernetes-workshop
--email [email protected]
# Add multiple participants
teactl session participant add kubernetes-workshop
--emails [email protected],[email protected],[email protected]
# Add with custom display name
teactl session participant add kubernetes-workshop
--email [email protected]
--name "Alice Smith" Import from File
# Import from CSV
teactl session participant import kubernetes-workshop
--file participants.csv CSV format:
email,name,team
[email protected],Alice Smith,Team A
[email protected],Bob Jones,Team B
[email protected],Charlie Brown,Team A Self-Registration
Generate a link for participants to self-register:
# Create registration link
teactl session register-link kubernetes-workshop
# Output:
# Registration URL: https://teabar.dev/join/abc123xyz
# Valid until: 2024-06-15 09:00 UTC (session start)
# Slots remaining: 25
# Custom expiration
teactl session register-link kubernetes-workshop
--expires "2024-06-14 18:00"
# Limited slots
teactl session register-link kubernetes-workshop
--max-registrations 30 Tip
Participant Access Methods
Each participant gets access to their isolated environment through multiple methods:
Web Terminal
Browser-based access - no installation required:
# Get participant's web terminal URL
teactl session participant kubernetes-workshop [email protected]
# Output includes:
# Web Terminal: https://teabar.dev/terminal/env-abc123 Unique Access Links
Each participant receives a unique URL:
# Send access links to all participants
teactl session notify kubernetes-workshop --send-access-links
# Get specific participant's link
teactl session access-link kubernetes-workshop
--participant [email protected] Kubeconfig Download
For Kubernetes environments:
# Participant workflow:
# 1. Receive access link
# 2. Download kubeconfig from web UI or CLI
teactl env kubeconfig kubernetes-workshop-alice-001 > kubeconfig.yaml
# 3. Use with kubectl
export KUBECONFIG=./kubeconfig.yaml
kubectl get pods SSH Access
For VM-based or SSH-enabled environments:
# Get SSH connection info
teactl session ssh kubernetes-workshop
--participant [email protected]
# Output:
# SSH Command: ssh [email protected]
# Password: (sent via email)
# -- or --
# SSH Key: Download from web UI Viewing Participant Status
List All Participants
# View all participants in session
teactl session participant list kubernetes-workshop
# Output:
# EMAIL NAME ENV STATUS JOINED
# [email protected] Alice Smith ready 09:02
# [email protected] Bob Jones ready 09:05
# [email protected] Charlie Brown creating 09:08 Individual Participant Details
# View specific participant
teactl session participant kubernetes-workshop [email protected]
# Output:
# Participant: [email protected]
# Name: Alice Smith
# Environment: kubernetes-workshop-alice-001
# Status: ready
# Joined: 2024-06-15 09:02 UTC
#
# Access:
# Web Terminal: https://teabar.dev/terminal/abc123
# Kubeconfig: teactl env kubeconfig kubernetes-workshop-alice-001 Activity Tracking
Monitor what participants do during sessions:
# View all participant activity
teactl session activity kubernetes-workshop
# View specific participant's activity
teactl session activity kubernetes-workshop
--participant [email protected]
# Real-time activity stream
teactl session activity kubernetes-workshop --follow
# Filter by activity type
teactl session activity kubernetes-workshop --type kubectl Activity Types
| Type | Description |
|---|---|
git.push | Git push operations |
git.commit | Git commits |
kubectl.apply | Kubernetes apply commands |
kubectl.delete | Kubernetes delete commands |
shell.command | Terminal commands |
pipeline.run | CI/CD pipeline executions |
milestone.reached | Custom checkpoint events |
Troubleshooting Participant Environments
Reset Environment
When a participant breaks their environment:
# Reset to initial state
teactl session reset kubernetes-workshop
--participant [email protected]
# Reset to specific checkpoint
teactl session reset kubernetes-workshop
--participant [email protected]
--checkpoint "starting-point" Reset All Failed
# Reset all environments in failed state
teactl session reset kubernetes-workshop --failed Extend Time
# Extend for specific participant
teactl session extend kubernetes-workshop
--participant [email protected]
--duration 1h
# Extend for all participants
teactl session extend kubernetes-workshop --duration 30m View Logs
# View participant's environment logs
teactl session logs kubernetes-workshop
--participant [email protected]
# Stream logs
teactl session logs kubernetes-workshop
--participant [email protected]
--follow Notifications
Automated Notifications
Configure notifications that are sent automatically:
# Set up notifications for session
teactl session notify kubernetes-workshop
--on-ready "Your environment is ready! Access: {access_url}"
--on-warning "30 minutes remaining"
--on-ending "Session ends in 5 minutes" Manual Messages
Send messages during the session:
# Message all participants
teactl session message kubernetes-workshop
--subject "Break time"
--body "We'll resume in 15 minutes"
# Message specific participant
teactl session message kubernetes-workshop
--participant [email protected]
--subject "Need help?"
--body "I noticed you're having trouble. Need assistance?" Seminar Enrollment
For multi-session seminars, participants can be enrolled at the seminar level:
# Enroll in seminar (access to all sessions)
teactl seminar enroll kubernetes-101
--emails [email protected],[email protected]
# Create enrollment link
teactl seminar enroll-link kubernetes-101
--max-participants 30 Removing Participants
# Remove from session (environment destroyed)
teactl session participant remove kubernetes-workshop
--email [email protected]
# Remove but keep environment running
teactl session participant remove kubernetes-workshop
--email [email protected]
--keep-environment Progress and Completion
Track participant progress across sessions:
# View completion status
teactl session progress kubernetes-workshop
# Export for grading
teactl session progress kubernetes-workshop
--export csv
--output progress.csv
# Mark completion
teactl session participant complete kubernetes-workshop
--email [email protected] Best Practices
- Send instructions early: Share registration links before the session
- Test access methods: Ensure participants can connect via their preferred method
- Monitor the dashboard: Watch for participants having issues
- Create starting checkpoints: Allow easy recovery when things break
- Set up notifications: Keep participants informed about time remaining
- Have a backup plan: Know how to quickly reset or extend environments