Managing Projects
Projects provide logical separation within an organization. Use them to organize environments by team, purpose, or lifecycle stage.
Project Structure
Organization
├── Project: default
│ ├── Environments
│ │ ├── dev-env-1
│ │ └── dev-env-2
│ └── Blueprints
│ └── custom-blueprint
├── Project: production
│ ├── Environments
│ │ └── prod-demo
│ └── Blueprints
└── Project: training
├── Environments
│ ├── workshop-march
│ └── workshop-april
└── Blueprints
├── k8s-basics
└── cicd-workshop Creating Projects
Via Web Console
- Navigate to your organization dashboard
- Click “New Project” button
- Enter project details:
- Name: Unique identifier within the organization
- Description: Optional description
- Click “Create Project”
Via CLI
# Create a project
teactl project create training --description "Training workshop environments"
# Create in specific organization
teactl project create demos --org client-company Default Project
Every organization has a default project created automatically. It’s used when no project is specified:
# These create environments in the default project
teactl env create --blueprint k8s-basics
teactl env create my-env --blueprint k8s-basics
# Explicitly specify a project
teactl env create --blueprint k8s-basics --project training Project Settings
General Settings
| Setting | Description |
|---|---|
| Name | Unique identifier (cannot be changed) |
| Description | Human-readable description |
Update via CLI:
teactl project update training --description "Advanced K8s training labs" Project Dashboard
The project dashboard shows:
- Environment Count: Active, sleeping, stopped environments
- Resource Usage: Compute and storage consumption
- Recent Activity: Environment operations, blueprint changes
- Quick Actions: Create environment, upload blueprint
Switching Projects
Via Web Console
- Use the project dropdown in the sidebar
- Or click project name in breadcrumbs
Via CLI
# Switch to a project
teactl project switch training
# View current context
teactl config get current-context
# Output: acme-corp/training
# Override for single command
teactl env list --project production Project Access
By default, all organization members can access all projects. Future releases will include project-level access controls.
Current Model
| Role | Access |
|---|---|
| Admin | All projects, full control |
| Member | All projects, manage own environments |
Planned Features
- Project-specific member assignments
- Read-only project access
- Project quotas and limits
Deleting Projects
Warning
Deleting a project removes all environments, blueprints, and checkpoints within it. This action cannot be undone.
Requirements
- You must be an organization admin
- The
defaultproject cannot be deleted
Via Web Console
- Go to Project Settings > Danger Zone
- Click “Delete Project”
- Confirm by typing the project name
- Click “Permanently Delete”
Via CLI
# Interactive deletion
teactl project delete old-project
# Force delete (stops running environments)
teactl project delete old-project --yes --force Best Practices
Project Organization Strategies
By Environment Type:
├── development # Dev/test environments
├── staging # Pre-production
├── production # Production demos, showcases
└── training # Workshop and training By Team:
├── team-alpha # Alpha team's environments
├── team-beta # Beta team's environments
└── shared # Shared resources By Client (Agencies):
├── client-acme # ACME Corp work
├── client-globex # Globex work
└── internal # Internal projects Naming Conventions
- Use lowercase with hyphens:
k8s-training,cicd-demos - Be descriptive but concise
- Include date for time-bound projects:
workshop-2024-03
Resource Management
- Regular cleanup - Delete unused projects to reduce clutter
- Archive blueprints - Keep useful blueprints, remove experimental ones
- Monitor usage - Track which projects consume the most resources
- Set TTLs - Configure environment TTLs to auto-cleanup
Project Quotas (Future)
Note
Project-level quotas are planned for a future release. Currently, limits are applied at the organization level.
Planned quota features:
- Maximum concurrent environments per project
- Compute limits (vCPU-hours)
- Storage limits
- Cost budgets with alerts
Transferring Resources
Moving Environments Between Projects
Currently, environments cannot be moved between projects. To relocate:
- Create a checkpoint of the environment
- Delete the environment
- Recreate in the new project from the blueprint
- Restore the checkpoint (if applicable)
Copying Blueprints
Blueprints can be copied between projects:
# Export blueprint
teactl blueprint get my-blueprint -o yaml > blueprint.yaml
# Import to another project
teactl blueprint create --file blueprint.yaml --project other-project See Also
- Organizations - Managing organizations
- teactl project - CLI project commands
- Environments - Understanding environments