Participant Commands
The teactl participant commands manage participants in training environments. You can invite participants via email, create accounts with credentials, generate access codes, and manage participant access.
teactl participant invite
Invite participants via magic link email.
teactl participant invite <env> [flags] Flags
| Flag | Description |
|---|---|
--email <email> | Email address (can specify multiple) |
--emails <file> | CSV file with email addresses |
--send-email | Send invitation email (default: true) |
--expires <duration> | Link expiry (default: 7d) |
Examples
# Invite single participant
teactl participant invite march-seminar --email [email protected]
# Invite multiple participants
teactl participant invite march-seminar
--email [email protected]
--email [email protected]
--email [email protected]
# Invite from CSV file
teactl participant invite march-seminar --emails participants.csv
# Generate links without sending email
teactl participant invite march-seminar --email [email protected] --send-email=false CSV file format:
email,name
[email protected],John Doe
[email protected],Jane Smith
[email protected],Bob Wilson Sample output:
$ teactl participant invite march-seminar --email [email protected]
Inviting participants to 'march-seminar'...
✓ [email protected] - Invitation sent
Participants can access the environment at:
https://march-seminar.env.teabar.dev
Magic links expire in 7 days. teactl participant create
Create participant accounts with credentials.
teactl participant create <env> [flags] Flags
| Flag | Description |
|---|---|
--name <name> | Participant name/username |
--password <pass> | Set specific password |
--generate-password | Generate random password |
--count <n> | Bulk create n participants |
--prefix <prefix> | Name prefix for bulk creation (default: participant) |
Examples
# Create single participant with generated password
teactl participant create march-seminar --name john --generate-password
# Create with specific password
teactl participant create march-seminar --name john --password "SecurePass123!"
# Bulk create
teactl participant create march-seminar --count 20 --generate-password
# Bulk create with custom prefix
teactl participant create march-seminar --count 20 --prefix student --generate-password Single participant output:
$ teactl participant create march-seminar --name john --generate-password
Created participant: john
Access URL: https://march-seminar.env.teabar.dev
Username: john
Password: K7mPx2nQw9
✓ Credentials copied to clipboard Bulk creation output:
$ teactl participant create march-seminar --count 5 --generate-password
Creating 5 participants...
NAME PASSWORD ACCESS URL
participant-1 K7mPx2nQw9 https://march-seminar.env.teabar.dev
participant-2 AbCdEf1234 https://march-seminar.env.teabar.dev
participant-3 XyZ789QwE https://march-seminar.env.teabar.dev
participant-4 Mn0pQrSt12 https://march-seminar.env.teabar.dev
participant-5 UvWx345YzA https://march-seminar.env.teabar.dev
✓ Created 5 participants
Export credentials:
teactl participant list march-seminar --output csv > participants.csv teactl participant codes
Generate access codes for quick authentication.
teactl participant codes <env> [flags] Flags
| Flag | Description |
|---|---|
--count <n> | Number of codes to generate |
--expires <duration> | Code expiry (default: 24h) |
--single-use | Codes can only be used once (default: true) |
--output <file> | Export to CSV file |
Examples
# Generate 10 access codes
teactl participant codes march-seminar --count 10
# Generate with custom expiry
teactl participant codes march-seminar --count 20 --expires 48h
# Export to file
teactl participant codes march-seminar --count 50 --output codes.csv Sample output:
$ teactl participant codes march-seminar --count 5
Generating 5 access codes...
CODE EXPIRES
ABCD-1234 in 24 hours
EFGH-5678 in 24 hours
IJKL-9012 in 24 hours
MNOP-3456 in 24 hours
QRST-7890 in 24 hours
Access URL: https://march-seminar.env.teabar.dev/code
Participants enter their code at the access URL to join.
Codes are single-use and expire in 24 hours. Tip
Access codes are ideal for workshops where you want quick onboarding without requiring email addresses.
teactl participant list
List participants in an environment.
teactl participant list <env> [flags] Flags
| Flag | Description |
|---|---|
--status <status> | Filter by status: active, revoked, pending |
--output <format> | Output format: table, json, yaml, csv |
Examples
# List all participants
teactl participant list march-seminar
# Active participants only
teactl participant list march-seminar --status active
# Export as CSV
teactl participant list march-seminar --output csv > participants.csv Sample output:
$ teactl participant list march-seminar
NAME STATUS LAST ACTIVE AUTH METHOD
participant-1 Active 2 min ago credentials
participant-2 Active 5 min ago credentials
participant-3 Active 10 min ago magic_link
participant-4 Pending - magic_link
participant-5 Revoked 1 hour ago credentials
Total: 5 participants (3 active, 1 pending, 1 revoked) teactl participant get
Show detailed information about a participant.
teactl participant get <env> --name <name> [flags] Examples
teactl participant get march-seminar --name participant-1 Sample output:
$ teactl participant get march-seminar --name participant-1
Name: participant-1
Status: Active
Auth Method: credentials
Access:
URL: https://march-seminar.env.teabar.dev
Workspace: participant-1
Terminal: Active (session: sess_abc123)
Resources:
Namespace: participant-1
CPU: 500m / 1000m
Memory: 512Mi / 2Gi
Storage: 2Gi / 10Gi
Recent Activity:
TIME COMMAND
10:23:45 kubectl apply -f deployment.yaml
10:22:30 git push origin main
10:21:15 vim deployment.yaml teactl participant revoke
Revoke participant access.
teactl participant revoke <env> [flags] Flags
| Flag | Description |
|---|---|
--name <name> | Participant name |
--all | Revoke all participants |
--yes | Skip confirmation |
Examples
# Revoke single participant
teactl participant revoke march-seminar --name participant-1
# Revoke all participants
teactl participant revoke march-seminar --all
# Skip confirmation
teactl participant revoke march-seminar --name participant-1 --yes $ teactl participant revoke march-seminar --name participant-1
Participant: participant-1
Status: Active
Last active: 2 minutes ago
This will:
- Terminate active sessions
- Revoke access credentials
- Preserve workspace data
Revoke access for participant-1? [y/N] y
✓ Access revoked for participant-1 Note
Revoking access does not delete participant data. You can restore access by creating a new invitation or credentials.
teactl participant reinstate
Restore access for a revoked participant.
teactl participant reinstate <env> --name <name> [flags] Flags
| Flag | Description |
|---|---|
--name <name> | Participant name |
--new-password | Generate new password |
Examples
# Restore with same credentials
teactl participant reinstate march-seminar --name participant-1
# Restore with new password
teactl participant reinstate march-seminar --name participant-1 --new-password Common Workflows
Workshop Setup
# Create environment
teactl env create --blueprint cicd-workshop --name march-seminar
# Bulk create participants
teactl participant create march-seminar --count 25 --generate-password
# Export credentials for distribution
teactl participant list march-seminar --output csv > march-credentials.csv Quick Access Codes
# Generate codes for walk-in participants
teactl participant codes march-seminar --count 30 --output codes.csv
# Print codes for distribution
cat codes.csv Email Invitations
# Prepare participant list
cat > participants.csv << EOF
email,name
[email protected],John Doe
[email protected],Jane Smith
EOF
# Send invitations
teactl participant invite march-seminar --emails participants.csv Monitor Participation
# Check who's active
teactl participant list march-seminar --status active
# Watch specific participant
teactl activity watch march-seminar --participant participant-1 End of Session Cleanup
# Revoke all access
teactl participant revoke march-seminar --all --yes
# Or delete environment entirely
teactl env delete march-seminar --yes