LogoContainerPub

Development Roadmap

Future development plans and roadmap for ContainerPub

Development Roadmap#

This document outlines the future development plans and roadmap for ContainerPub.

Current Status#

Version: Pre-release (Development)

Completed Features#

  • CLI Tool - dart_cloud_cli with deploy, list, invoke, delete commands
  • Backend Server - dart_cloud_backend with REST API
  • Authentication - Dual-token JWT system (access + refresh tokens)
  • Function Deployment - Archive upload and container building
  • Function Execution - Isolated container execution with Podman
  • Code Analysis - Static analysis and security validation
  • Main Injection - Automatic main.dart generation
  • Token Service - Encrypted Hive storage with whitelist approach
  • Documentation Site - Jaspr-based docs with jaspr_content

Phase 1: Core Stability (Current)#

Priority: High#

TaskStatusDescription
Fix Analyzer Mismatch Pending Align CLI analyzer with backend's FunctionMainInjection scanning
Error HandlingPendingImprove error messages and recovery
Logging SystemPendingStructured logging with levels
Unit TestsPendingComprehensive test coverage for core services
Integration TestsPendingEnd-to-end deployment and execution tests

Analyzer Fix Details#

The CLI analyzer currently only checks main.dart, but FunctionMainInjection scans all .dart files. Need to:

  1. Update analyzer to scan all .dart files in function directory
  2. Find @cloudFunction annotated class anywhere in project
  3. Validate it exists and is unique
  4. Allow deployment regardless of file location

Phase 2: Developer Experience#

Priority: High#

TaskStatusDescription
Local Testing Planned dart_cloud test command for local function testing
Function Templates Planned dart_cloud create with starter templates
Hot ReloadPlannedUpdate functions without full rebuild
IDE PluginPlannedVS Code extension for ContainerPub
Better LogsPlannedReal-time log streaming with --follow

Local Testing Details#

# Run function locally without deployment
dart_cloud test ./my-function --data '{"key": "value"}'

# Watch mode for development
dart_cloud test ./my-function --watch

Phase 3: Platform Features#

Priority: Medium#

TaskStatusDescription
Environment VariablesPlannedPer-function environment configuration
Secrets ManagementPlannedSecure secret storage and injection
Custom DomainsPlannedMap custom domains to functions
Scheduled FunctionsPlannedCron-based function execution
Event TriggersPlannedWebhook and event-based invocation
Function VersioningPlannedDeploy multiple versions, rollback support

Environment Variables#

# Set environment variables for a function
dart_cloud env set <function-id> DATABASE_URL=postgres://...
dart_cloud env list <function-id>
dart_cloud env delete <function-id> DATABASE_URL

Scheduled Functions#

# function.yaml
schedule:
  cron: "0 * * * *" # Every hour
  timezone: "UTC"

Phase 4: Scaling & Performance#

Priority: Medium#

TaskStatusDescription
Container PoolingPlannedPre-warm containers for faster cold starts
Auto-scalingPlannedScale based on request volume
Load BalancingPlannedDistribute requests across instances
Caching LayerPlannedResponse caching for repeated requests
Metrics DashboardPlannedReal-time performance monitoring
Rate LimitingPlannedPer-user and per-function limits

Cold Start Optimization#

  1. Pre-build base images with common dependencies
  2. Container pool with warm instances
  3. Lazy loading for rarely-used functions
  4. Image layer caching

Phase 5: Enterprise Features#

Priority: Low#

TaskStatusDescription
Team ManagementPlannedOrganizations, teams, roles
RBACPlannedRole-based access control
Audit LogsPlannedComplete audit trail
SSO IntegrationPlannedSAML, OAuth2 providers
Private FunctionsPlannedInternal-only function access
VPC SupportPlannedDeploy in private networks

Phase 6: Ecosystem#

Priority: Low#

TaskStatusDescription
Function MarketplacePlannedShare and discover functions
Plugins SystemPlannedExtend CLI and backend
Database IntegrationsPlannedBuilt-in PostgreSQL, Redis, etc.
Storage ServicePlannedS3-compatible object storage
CDN IntegrationPlannedEdge caching for responses

Technical Debt#

ItemPriorityDescription
Refactor TokenServiceMediumSimplify token validation flow
Update DependenciesLowKeep packages up to date
Code DocumentationMediumInline documentation for all public APIs
Error CodesMediumStandardized error codes across API
API VersioningLowPrepare for v2 API

Release Schedule#

VersionTargetFocus
0.1.0Q1 2025Core stability, bug fixes
0.2.0Q2 2025Developer experience improvements
0.3.0Q3 2025Platform features
1.0.0Q4 2025Production-ready release

Contributing#

We welcome contributions! Priority areas:

  1. Bug fixes - Help us squash bugs
  2. Documentation - Improve docs and examples
  3. Testing - Add test coverage
  4. Features - Implement planned features

Feedback#

Have ideas or suggestions? Open an issue on GitHub: