Skip to main content

Vault Multi-App Platform Commands Cheatsheet

Application-Aware Architecture: Each application maintains isolated data and uses the TraceabilityService/Bridge pattern for proper multi-tenancy.

Quick Start

# First time setup
./dj.sh mig                    # Run migrations
./dj.sh devstart_vault         # Setup dev environment with vault tracking
./dj.sh rf                     # Refresh all applications
./dj.sh test_isolation         # Verify data isolation is working

# Daily workflow
./dj.sh rf_app skyflow         # Refresh specific app
./dj.sh app_status skyflow     # Check app health
./dj.sh run                    # Start development server

Application Management

Data Refresh Commands

CommandDescriptionExample
./dj.sh rfRefresh all applications (uses TraceabilityService)./dj.sh rf
./dj.sh rf_app <slug> [component]Refresh specific application./dj.sh rf_app skyflow features
./dj.sh rf_forceForce refresh (clears cache)./dj.sh rf_force
./dj.sh rf_dryPreview refresh without changes./dj.sh rf_dry
./dj.sh rf_legacyUse legacy repository method./dj.sh rf_legacy

Application Data Inspection

CommandDescriptionExample
./dj.sh app_status <slug>Detailed status for application./dj.sh app_status skyflow
./dj.sh apps_dataList all apps with data summary./dj.sh apps_data
./dj.sh app_data <slug> [component]Show component data./dj.sh app_data nexus keywords
./dj.sh clear_app <slug>Clear data for specific app./dj.sh clear_app testapp

Development Environment

Setup Commands

CommandDescriptionUse Case
./dj.sh devstartBasic development setupFirst time setup
./dj.sh devstart_vaultSetup with vault trackingRecommended for multi-app development
./dj.sh devstart_fullComplete setup + all test usersFull testing environment
./dj.sh devclearClear all development dataReset everything
./dj.sh devstatusShow environment statusHealth check

Database Management

CommandDescriptionWhen to Use
./dj.sh mkmig [app]Create migrationsAfter model changes
./dj.sh migApply migrationsAfter creating migrations
./dj.sh reset_dbNuclear reset + fresh setupWhen everything is broken

Testing & Validation

Architecture Testing

CommandDescriptionPurpose
./dj.sh test_isolationVerify multi-app data separationEnsure apps don’t leak data
./dj.sh test_bridge <slug>Test TraceabilityBridge for appValidate service architecture
./dj.sh test_matrixTest ApplicationMatrix isolationVerify matrix isolation
./dj.sh test_refresh_app <slug>Full refresh test for appEnd-to-end app testing

Authentication Testing

CommandDescriptionPurpose
./dj.sh test_authTest auth endpointsVerify login/logout works
./dj.sh test_auth_tiersTest all tier authenticationsMulti-tier validation
./dj.sh api_testTest API with authenticationEndpoint protection check

Application Status Monitoring

Quick Health Checks

# Check all applications
./dj.sh apps_data

# Sample output:
# App          Status   Components   Records  Quality  Last Sync
# skyflow      active   5            179      100%     2025-09-15 13:40
# nexus        active   5            179      100%     2025-09-15 13:40

Detailed Application Inspection

# Full application analysis
./dj.sh app_status skyflow

# Sample output:
# Application: Skyflow (skyflow)
# Status: active
# Description: Main Skyflow platform tracking
#
# Dataset Tracking:
#   Last Sync: 2025-09-15 13:40:19.123456+00:00
#   Sync Status: completed
#   Data Quality Score: 100.0%
#   Available Components: ['features', 'gateways', 'tiers', 'keywords', 'tags']
#   Component Stats: {'features': 12, 'gateways': 48, 'tiers': 4, 'keywords': 36, 'tags': 79}
#
# File System Data:
#   features: 12 items (updated: 2025-09-15T13:40:11.235Z)
#   gateways: 48 items (updated: 2025-09-15T13:40:17.740Z)
#   keywords: 36 items (updated: 2025-09-15T13:40:18.791Z)
#   tags: 79 items (updated: 2025-09-15T13:40:19.559Z)
#   tiers: 4 items (updated: 2025-09-15T13:40:18.066Z)

Troubleshooting

Common Issues

ProblemCommandNotes
”no such table: scraper_app_datasets”./dj.sh mkmig scraper --name vault_models && ./dj.sh migMissing vault model migrations
Apps sharing data./dj.sh test_isolationCheck data isolation
Refresh failures./dj.sh test_bridge <slug>Test service architecture
Authentication broken./dj.sh test_authVerify auth endpoints
Cache issues./dj.sh rf_forceForce refresh clears cache

Diagnostic Commands

# Debug application configuration
./dj.sh shell -c "
from core.models import Application
app = Application.objects.get(slug='skyflow')
print('App metadata:', app.app_metadata)
print('Data sources:', app.data_sources.count())
"

# Check file system isolation
./dj.sh test_isolation

# Verify service creation
./dj.sh test_bridge skyflow

Data Architecture

File Structure

static/data/
├── skyflow/           # Application-isolated data
│   ├── features.json
│   ├── keywords.json
│   ├── gateways.json
│   ├── tiers.json
│   └── tags.json
└── nexus/             # Separate application data
    ├── features.json
    └── ...

Application Filtering

Applications can have custom filters in their app_metadata:
{
    "tier_codes": ["free", "premium", "enterprise"],
    "feature_filter_code": "lambda data: [f for f in data if f.get('category') != 'deprecated']",
    "tier_filter_code": "lambda data: [t for t in data if t.get('skyflow_compatible', True)]"
}

Workflows

New Application Setup

# 1. Create application in Django admin or shell
# 2. Configure data sources
# 3. Set up application-specific filters (optional)
# 4. Initial refresh
./dj.sh rf_app myapp

# 5. Verify isolation
./dj.sh app_status myapp
./dj.sh test_bridge myapp

Daily Development

# Morning routine
./dj.sh devstatus              # Check environment health
./dj.sh apps_data              # Review all app statuses

# Working with specific app
./dj.sh rf_app skyflow         # Refresh data
./dj.sh app_data skyflow       # Inspect data
./dj.sh app_data skyflow features  # Deep dive specific component

# Testing changes
./dj.sh rf_dry skyflow         # Preview changes
./dj.sh test_refresh_app skyflow   # Full test cycle

Production Deployment

# Pre-deployment checks
./dj.sh validate               # System validation
./dj.sh test_integration       # Full integration test
./dj.sh apps_data              # Verify all apps healthy

# Deployment
./dj.sh collect                # Collect static files
./dj.sh mig                    # Apply migrations

Advanced Features

Service Architecture Testing

# Test TraceabilityBridge integration
./dj.sh test_bridge skyflow

# Test legacy matrix compatibility
./dj.sh matrix_test

# Compare service vs legacy methods
./dj.sh rf_app skyflow         # Uses TraceabilityService
./dj.sh rf_legacy skyflow      # Uses legacy repository

Multi-Tier Authentication

# Setup all tier users
./dj.sh devstart --create-test-users

# Test each tier
./dj.sh test_auth_tiers

# View user breakdown
./dj.sh users

Cache Management

# Force refresh (clears all caches)
./dj.sh rf_force

# Clear specific app cache
./dj.sh clear_app skyflow
./dj.sh rf_app skyflow

Migration from Legacy System

Step-by-Step Migration

  1. Backup existing data
    ./dj.sh backup
    
  2. Create vault models
    ./dj.sh mkmig scraper --name vault_models
    ./dj.sh mig
    
  3. Initialize vault tracking
    ./dj.sh devstart_vault
    
  4. Test new architecture
    ./dj.sh test_isolation
    ./dj.sh test_bridge skyflow
    
  5. Migrate data refresh to new system
    ./dj.sh rf                 # New system
    ./dj.sh rf_legacy          # Old system (for comparison)
    

Compatibility Matrix

FeatureLegacyNew SystemMigration Path
Global matrix⚠️ (compatibility mode)Use ApplicationMatrix
Single app refreshUse ./dj.sh rf_app
Data isolationAutomatic with new system
Service architectureUse TraceabilityBridge
Vault trackingEnable with devstart_vault

Performance Tips

  • Use ./dj.sh rf_app <slug> instead of ./dj.sh rf when working on specific applications
  • Run ./dj.sh test_isolation regularly to catch data leakage early
  • Use ./dj.sh rf_dry to preview changes before applying them
  • Monitor data quality scores with ./dj.sh apps_data
  • Clear unused app data with ./dj.sh clear_app <slug> to save space