Apps
Overview
Apps are the core unit of deployment in Tapitalee. An app represents a complete application environment including all containers, infrastructure, and configuration needed to run your software. Apps provide isolation, resource management, and deployment orchestration for your Docker-based applications.
Purpose and Benefits
- Application Isolation: Complete separation of resources between different applications
- Resource Management: Centralized control over CPU, memory, and scaling configurations
- Environment Organization: Logical grouping of related services and configuration
How Apps Work
App Structure
Each Tapitalee app consists of:
- Processes: Container-based services (web servers, APIs, workers)
- Add-ons: Infrastructure components (databases, storage, networking)
- Variables: Configuration and secrets
- Domains: Custom domain names and routing
- Deploy Tokens: Authentication for CI/CD systems
AWS Infrastructure
Tapitalee creates the following AWS resources for each app:
- ECS Cluster: Container orchestration and management
- VPC: Isolated network environment
- Security Groups: Network access controls
- Load Balancer: Traffic distribution and health checking
- IAM Roles: Service authentication and permissions
- CloudWatch: Monitoring and logging
CLI Usage
Create App
tapit create app <app_name> [region=ap-southeast-2] [memory=0.5] [cpu=0.25] [demand=1] [spot=0] [command=] [image=] [-w|--wait]Required Parameters
app_name: Application name (alphanumeric with hyphens, must be unique)
Optional Parameters
region: AWS region for deployment (default:ap-southeast-2)memory: Default memory allocation in GB (default:0.5)cpu: Default CPU allocation in vCPUs (default:0.25)demand: Default number of on-demand instances (default:1)spot: Default number of spot instances (default:0)command: Default command to run in containersimage: Default Docker image for containers-w|--wait: Wait for app creation to complete before returning
Examples
# Basic app creation
tapit create app myapp
# App with custom resource allocation
tapit create app myapp memory=1.0 cpu=0.5 demand=2 spot=1
# App in specific region with wait
tapit create app myapp region=us-west-2 --wait
# Production app with larger resources
tapit create app prodapp memory=2.0 cpu=1.0 demand=3 spot=0 region=ap-southeast-2Show App Details
tapit show appDisplays comprehensive information about your application including configuration, resources, recent deployments, and status.
List Apps
tapit list apps [--include-preview-apps]Shows all applications in your account, with optional inclusion of preview/temporary apps.
Delete App
tapit delete [--force] app <app_name> [--delete-previews]Permanently deletes an application and all associated resources.
Parameters
--force: Skip confirmation prompts--delete-previews: Also delete all preview apps based on this appapp_name: Name of the application to delete
App Configuration
Resource Defaults
When you create an app, the default resource allocations apply to new processes unless overridden:
- Memory: RAM allocation per container instance
- CPU: Processing power allocation per container instance
- Demand Instances: Always-on instances for guaranteed capacity
- Spot Instances: Lower-cost instances that may be interrupted
You can mix demand and spot instances to guarantee some capacity and have some cost-optimized when usually available.
Environment Management
Multi-Environment Pattern
# Create environments for different stages
tapit create app myapp-dev region=ap-southeast-2
tapit create app myapp-staging region=ap-southeast-2
tapit create app myapp-prod region=ap-southeast-2 memory=2.0 cpu=1.0 demand=3Preview Apps
Temporary environments for testing:
# Create preview app from main app
tapit create preview <new_app_name> [domain=www.myapp.com] [delete_in_days=7] [-w|--wait]Monitoring and Observability
Application Health
- Process Health: Container health checking and automatic restart
- Resource Utilization: CPU, memory, and network monitoring
- Logging: Container application output (stdout/stderr) sent to Cloudwatch Logs