Projects

Projects are the primary way to organize and manage your workloads on Teenode. Each project represents a single application, service, or VM instance.

Project Types

TEE VM (Trusted Execution Environment Virtual Machine)

Full virtual machines with AMD SEV-SNP hardware encryption. Best for:

  • Custom operating systems and kernels
  • Complex applications requiring full OS control
  • Legacy applications
  • Long-running services
  • SSH access and direct server management
teenode project create \
  --name my-secure-vm \
  --type TEE_VM \
  --cpu 2 \
  --memory 4096 \
  --disk 50

Git Deploy

Automated containerized deployments from Git repositories. Best for:

  • Web applications and APIs
  • Microservices
  • Continuous deployment workflows
  • Stateless applications
teenode project create \
  --name my-app \
  --type GIT_DEPLOY \
  --git-url https://github.com/user/repo \
  --branch main

Container

Direct Docker container deployment. Best for:

  • Pre-built container images
  • Simple services
  • Quick deployments
teenode project create \
  --name my-container \
  --type CONTAINER \
  --image nginx:latest

Project Lifecycle

States

  • CREATING - Project is being provisioned
  • ACTIVE - Project is running and healthy
  • STOPPED - Project is stopped (TEE VMs only)
  • ERROR - Project encountered an error
  • DELETING - Project is being deleted

Operations

Common project operations:

# View project details
teenode project info my-project

# List all projects
teenode project list

# Update project
teenode project update my-project --cpu 4

# Delete project
teenode project delete my-project

Project Configuration

Resource Allocation

Configure compute resources for your project:

  • CPU - Number of virtual CPUs (1-32)
  • Memory - RAM in MB (1024-131072)
  • Disk - Storage in GB (10-1000)
teenode project create \
  --name high-performance \
  --type TEE_VM \
  --cpu 8 \
  --memory 16384 \
  --disk 200

Region Selection

Choose where your project runs:

  • us-east - US East (Virginia)
  • us-west - US West (Oregon)
  • eu-central - EU Central (Frankfurt)
  • ap-southeast - Asia Pacific (Singapore)
Choose a region close to your users for lowest latency.

Environment Variables

Set environment variables for your project:

# Set via CLI
teenode env set my-project \
  DATABASE_URL="postgres://..." \
  API_KEY="secret123"

# Set via config file
teenode env set my-project --file .env

Project Organization

Teams

Projects belong to teams. Teams provide:

  • Collaborative project management
  • Shared billing
  • Role-based access control
  • Audit logging
# Create a team
teenode team create --name my-team

# Create project in team
teenode project create \
  --name my-project \
  --team my-team

Naming

Project naming guidelines:

  • Use lowercase letters, numbers, and hyphens
  • Start with a letter
  • Maximum 63 characters
  • Must be unique within your team
# Good names
teenode project create --name api-production
teenode project create --name ml-training-01

# Invalid names
teenode project create --name My_App  # uppercase and underscore
teenode project create --name 123app  # starts with number

Project Monitoring

Metrics

Monitor project performance:

# View current metrics
teenode project metrics my-project

# Continuous monitoring
teenode project metrics my-project --follow

Available metrics:

  • CPU usage (%)
  • Memory usage (MB)
  • Disk usage (GB)
  • Network I/O (MB/s)
  • Request rate (req/s) - Git Deploy only

Logs

Access project logs:

# Recent logs
teenode project logs my-project

# Follow logs in real-time
teenode project logs my-project --follow

# Filter by time range
teenode project logs my-project --since 1h

Project Limits

Default limits per team:

  • Free tier: 2 projects, 1 vCPU, 2GB RAM total
  • Pro tier: 25 projects, 32 vCPUs, 128GB RAM total
  • Enterprise: Custom limits
Contact sales for higher limits or custom configurations.

Best Practices

  • Use descriptive project names (e.g., api-prod, web-staging)
  • Separate production and development projects
  • Tag projects with metadata for organization
  • Set up monitoring and alerts for critical projects
  • Use environment variables for configuration
  • Regularly review and delete unused projects

Related Concepts