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
- IAM Roles: Service authentication and permissions
- CloudWatch: Monitoring and logging
CLI Usage
Create App
Create a new app with its infrastructure (VPC, ECS cluster, ECR registry)
tapit create app <app_name> [region=us-east-1] [memory=0.5] [cpu=0.25] [demand=1] [spot=1] [tenant=<name>] [description=<text>] [--ignore-existing] [-w|--wait]
Arguments
-
- Name for the new app
Parameters
region: AWS region to deploy to (default: ap-southeast-2)memory: Memory allocation in GB for the default process (default: 0.5)cpu: CPU allocation in vCPUs for the default process (default: 0.25)demand: Number of on-demand container instances (default: 1)spot: Number of spot container instances (default: 0)tenant: Optional tenant name for tracking purposes (default: none)description: Optional description of the app (default: none)-w|--wait: Wait for app creation to complete before returning--ignore-existing: Skip creation if an app with the same name already exists (useful for idempotent scripts)
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-2
Show App Details
Show details about the app including region, state, and add-ons
tapit show app
List Apps
List all apps for the current team
tapit list apps [--include-preview-apps] [tenant=<name>]
Parameters
tenant: Filter apps by tenant name--include-preview-apps: Include preview apps in the listing (excluded by default)
Delete App
Delete an app and all its infrastructure
tapit delete [--force] app <app_name> [--delete-previews]
Arguments
-
- Name of the app to delete
Parameters
--force: Skip confirmation prompts--delete-previews: Also delete all preview apps derived from this app
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=3
Preview Apps
Temporary environments for testing:
Create a preview app cloned from the current app’s configuration
tapit create preview <new_app_name> [domain=www.myapp.com] [delete_in_days=7] [-w|--wait]
Arguments
-
- Name for the new preview app
Parameters
domain: Custom domain to attach to the preview appdelete_in_days: Automatically delete the preview app after this many days-w|--wait: Wait for preview app creation to complete before returning
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