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

AspectParticipantsOrganization Members
ContextActive during sessionsOngoing access
AccountOptional (can use access links)Required Teabar account
AccessTheir session environment onlyBased on role/permissions
DurationSession lifetimeUntil removed
BillingNo direct accessCan 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

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

TypeDescription
git.pushGit push operations
git.commitGit commits
kubectl.applyKubernetes apply commands
kubectl.deleteKubernetes delete commands
shell.commandTerminal commands
pipeline.runCI/CD pipeline executions
milestone.reachedCustom 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

  1. Send instructions early: Share registration links before the session
  2. Test access methods: Ensure participants can connect via their preferred method
  3. Monitor the dashboard: Watch for participants having issues
  4. Create starting checkpoints: Allow easy recovery when things break
  5. Set up notifications: Keep participants informed about time remaining
  6. Have a backup plan: Know how to quickly reset or extend environments

Next Steps

ende