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

FlagDescription
--email <email>Email address (can specify multiple)
--emails <file>CSV file with email addresses
--send-emailSend 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

FlagDescription
--name <name>Participant name/username
--password <pass>Set specific password
--generate-passwordGenerate 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

FlagDescription
--count <n>Number of codes to generate
--expires <duration>Code expiry (default: 24h)
--single-useCodes 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.

teactl participant list

List participants in an environment.

teactl participant list <env> [flags]

Flags

FlagDescription
--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

FlagDescription
--name <name>Participant name
--allRevoke all participants
--yesSkip 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

teactl participant reinstate

Restore access for a revoked participant.

teactl participant reinstate <env> --name <name> [flags]

Flags

FlagDescription
--name <name>Participant name
--new-passwordGenerate 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

Related Commands

  • env - Environment management
  • access - Access environment resources
  • activity - Monitor participant activity
ende