mirror of
https://github.com/andwati/telecom-platform.git
synced 2026-10-18 11:02:54 +00:00
4e313a42980b72a714c4d8007196679083b28066
159
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4e313a4298 |
docs: Restructure documentation with comprehensive architecture guide and new API reference
- Remove docs/API.md (237 lines) with TaaS-specific REST endpoints and SDK examples - Expand docs/ARCHITECTURE.md with detailed system overview, component architecture, data flow diagrams, scaling strategies, and RBAC security model - Add Table of Contents with 6 main sections: System Overview, Component Details, Data Flow, Scaling, Security & RBAC, Future Enhancements - Add detailed component descriptions |
||
|
|
8e30626252 |
feat: Add TypeScript SDK with fetch-based HTTP client and comprehensive Telecom Platform API integration
- Add package.json with @telecom-platform/sdk 1.0.0, TypeScript 6.0.3, ESLint 10.2.0, Jest 30.3.0 - Add SDKConfig singleton with 30s timeout, 3 retries, 1s retry delay defaults and WebSocket URL support - Add HttpClient with fetch API, exponential backoff retry logic, Bearer token authentication, timeout handling - Add subscriber management: getSubscriber, listSubscribers with pagination/status |
||
|
|
b3e6419ea2 |
feat: Add Swift SDK Package.swift with NIO/AsyncAlgorithms and comprehensive Telecom Platform API integration
- Add Package.swift with swift-tools-version 5.9 and platforms iOS 13+, macOS 10.15+, watchOS 6+, tvOS 13+ - Add dependencies: swift-nio 2.40.0, swift-async-algorithms 1.0.0 - Add TelecomSDK class with async/await support and TelecomConfig with 30s timeout, 3 retries - Add subscriber management: getSubscriber, listSubscribers with pagination/status filter, createSubscriber, updateSubscriber, |
||
|
|
7758afd150 |
feat: Add Rust SDK with tokio async/await support and comprehensive Telecom Platform API integration
- Add Cargo.toml with tokio 1.52.1 (full features), reqwest 0.13.2 (json), tokio-tungstenite 0.29.0, serde 1.0.228, chrono 0.4.44 - Add TelecomClient with reqwest Client and TelecomConfig with 30s timeout, 3 retries - Add subscriber management: get_subscriber, list_subscribers with pagination/status filter, create_subscriber, update_subscriber, suspend_subscriber, activate_subscriber, terminate_subscriber |
||
|
|
f2f7c0ec86 |
feat: Add Ruby SDK with HTTParty client and comprehensive Telecom Platform API integration
- Add TelecomSDK::Client class with HTTParty integration and Config with 30s timeout, 3 retries - Add subscriber management: get_subscriber, list_subscribers with pagination/status filter, create_subscriber, update_subscriber, suspend_subscriber, activate_subscriber, terminate_subscriber - Add usage tracking: get_usage_stats with date range, list_usage_events with filtering, get_real_time_usage - Add payment processing: create_payment_ |
||
|
|
7aab9a058b |
feat: Add Python SDK with async/await support and comprehensive Telecom Platform API integration
- Add TelecomSDK class with async context manager and aiohttp ClientSession with 30s timeout, 3 retries - Add subscriber management: get_subscriber, list_subscribers with pagination/status filter, create_subscriber, update_subscriber, suspend_subscriber, activate_subscriber, terminate_subscriber - Add usage tracking: get_usage_stats with date range, list_usage_events with filtering, get_real_time_usage |
||
|
|
63506fdc24 |
feat: Add Kotlin SDK with coroutine-based HTTP client and comprehensive Telecom Platform API integration
- Add TelecomSDK class with create factory method and TelecomConfig with 30s timeout, 3 retries - Add Ktor HttpClient with ContentNegotiation, HttpTimeout, Retry plugins and Bearer token authentication - Add subscriber management: getSubscriber, listSubscribers with pagination/status filter, createSubscriber, updateSubscriber, suspendSubscriber, activateSubscriber, terminateSubscriber - Add usage |
||
|
|
232d80bdce |
feat: Add Kotlin SDK Gradle build configuration with Ktor client and coroutines dependencies
- Add build.gradle.kts with kotlin("jvm") 1.9.10 and kotlin("plugin.serialization") 1.9.10 plugins
- Add group com.telecom version 1.0.0 with maven-publish plugin
- Add kotlinx-coroutines-core 1.7.3 and kotlinx-serialization-json 1.6.0 dependencies
- Add Ktor client dependencies: ktor-client-core, ktor-client-cio, ktor-client-content-negotiation, ktor-serialization-kotlinx-json, ktor-client-websockets all
|
||
|
|
ea38358af3 |
feat: Add Go SDK with HTTP client and comprehensive API integration
- Add sdk/go/telecom.go with Client struct and DefaultConfig with 30s timeout, 3 retries - Add HTTPClient with Get/Post/Put/Delete methods and Bearer token authentication - Add subscriber management: GetSubscriber, ListSubscribers with pagination, CreateSubscriber, UpdateSubscriber, DeleteSubscriber - Add usage tracking: GetUsageStats with date range filtering - Add payment processing: CreatePaymentTransaction - Add system monitoring: GetSystemStats |
||
|
|
ce46d63bc3 |
feat: Add Elixir SDK GenServer-based client with comprehensive Telecom Platform API integration
- Add TelecomSDK GenServer module with start_link initialization and Config struct - Add subscriber management: get_subscriber, list_subscribers with pagination/status filter, create_subscriber, update_subscriber - Add subscriber lifecycle: suspend_subscriber, activate_subscriber, terminate_subscriber - Add usage tracking: get_usage_stats with date range, list_usage_events with filtering, get_real_time_usage |
||
|
|
10e53c7a0c |
feat: Add Elixir SDK Mix project configuration with HTTP/WebSocket dependencies and package metadata
- Add TelecomSDK.MixProject with app :telecom_sdk version 1.0.0 and Elixir ~> 1.15 requirement - Add application config with :logger in extra_applications - Add dependencies: finch ~> 0.16 for HTTP client, jason ~> 1.4 for JSON, websockex ~> 0.4 for WebSocket, ex_doc ~> 0.27 (dev only) - Add package metadata with MIT license and GitHub repository link - Set start_permanent based on Mix.env() == :prod |
||
|
|
b7c93e24a5 |
feat: Add comprehensive monitoring stack documentation with architecture, setup, and troubleshooting guide
- Add monitoring/README.md with complete observability stack documentation - Add architecture diagram showing Prometheus, Grafana, InfluxDB data flow - Add component descriptions for Prometheus exporter, time-series storage, Grafana dashboards, Docker Compose services - Add quick start guide with service access URLs and API server metrics setup - Add configuration section with environment variables, |
||
|
|
1a092dca40 |
feat: Add TypeScript SDK WebSocket client with real-time subscriber usage and alerts support
- Add WebSocketClient class with connect/disconnect lifecycle management and reconnection logic with exponential backoff - Add event handler system with on/off methods for message type subscription - Add subscribeToUsage/unsubscribeFromUsage methods for real-time subscriber usage updates by IMSI - Add subscribeToAlerts/unsubscribeFromAlerts methods for platform-wide alert notifications - Add send method |
||
|
|
adfa470bd4 |
feat: Add Terraform provider main entry point with schema definition and resource/data source registration
- Add main function with plugin.Serve to initialize Terraform provider plugin - Add Provider function returning schema.Provider with api_url and api_key configuration - Add api_url schema with TELECOM_API_URL environment variable fallback to http://localhost:8000 - Add api_key schema with TELECOM_API_KEY environment variable, marked as sensitive and optional - Register resources: telecom_subscriber and |
||
|
|
d2e2007d68 |
feat: Add Terraform resources for subscriber and rating plan management with CRUD operations
- Add Subscriber struct with id, imsi, msisdn, first_name, last_name, email, organization_id, status, plan_id, balance, created_at, updated_at fields - Add RatingPlan struct with plan_id, name, data_rate, voice_rate, sms_rate, monthly_fee, data_limit, voice_limit, sms_limit fields - Add resourceSubscriber with schema defining required fields (imsi, msisdn, first_name, last_name, email, plan_id) and computed |
||
|
|
b1878c715c |
feat: Add Terraform data sources for subscriber and system stats with API integration
- Add SystemStats struct with active_sessions, total_accounts, blocked_users, low_balance_alerts, uptime fields
- Add dataSourceSubscriber with required id field and computed fields: imsi, msisdn, first_name, last_name, email, organization_id, status, plan_id, balance, created_at, updated_at
- Add dataSourceSubscriberRead to fetch subscriber data from /api/subscribers/{id} endpoint with error handling
- Add dataSourceSystemStats
|
||
|
|
8c8d71056f |
feat: Add Terraform provider API client with HTTP methods and provider configuration
- Add APIClient struct with BaseURL, APIKey, and HTTPClient with 30s timeout - Add providerConfigure to initialize client from schema with api_url and api_key - Add doRequest helper with context support, JSON marshaling, Content-Type and Authorization headers - Add get method accepting GET requests with 200 OK validation and JSON decoding - Add post method accepting POST requests with 200/201 status validation and optional |
||
|
|
a1331bb55e |
feat: Add Terraform provider module with HashiCorp plugin SDK integration
- Add terraform/provider to workspace modules alongside api-server, carrier-connector, and cli - Add go.mod for terraform-provider-telecom module with Go 1.26.1 - Add terraform-plugin-sdk/v2 v2.40.0 as primary dependency - Add HashiCorp dependencies: go-cty v1.5.0, go-hclog v1.6.3, go-plugin v1.7.0, terraform-plugin-go v0.31.0, terraform-plugin-log v0.10.0 - Add HCL parsing with hcl/v2 v2.24.0 and configuration utilities - Add Open |
||
|
|
f05f11a4fc |
Merge pull request #9 from nutcas3/monitoring
Monitoring |
||
|
|
3f692f24c1 |
feat: Add Grafana provisioning and Prometheus configuration for telecom platform monitoring
- Add Grafana dashboard provisioning with telecom-dashboards provider, 10s update interval, UI updates enabled - Add Grafana datasource provisioning with Prometheus (default) and InfluxDB Flux datasources - Add InfluxDB datasource with telecom org/bucket, admin credentials, token authentication - Add Prometheus configuration with 15s scrape/evaluation intervals, alert_rules.yml integration - Add Alertmanager integration |
||
|
|
bfe3c9b579 | Merge main branch into monitoring | ||
|
|
fbfc81e1ca |
feat: Add Docker Compose monitoring stack with Prometheus, Grafana, InfluxDB, Redis, node-exporter, and Alertmanager
- Add Prometheus service with 9090 port, 200h retention, lifecycle API enabled, prometheus_data volume - Add Grafana service on port 3001, admin password, sign-up disabled, provisioning and dashboards volumes - Add InfluxDB 2.7 with 8086 port, telecom org/bucket, admin credentials, influxdb_data and influxdb_config volumes - Add Redis 7-alpine service on port 6379 with redis_data volume |
||
|
|
d22054300e |
feat: Add Grafana dashboard for telecom platform overview with subscriber, session, and traffic metrics
- Add telecom-overview.json dashboard with shared crosshair tooltip and Prometheus datasource integration - Add Total Subscribers panel with timeseries visualization tracking telecom_subscribers_total metric - Add Active Sessions panel displaying telecom_active_sessions count - Add Data Usage Rate panel showing rate(telecom_data_usage_bytes_total[5m]) converted to bps with bytes unit - Add HTTP Request Rate panel tracking rate(telecom_http_requests_total[5m]) by method and endpoint with |
||
|
|
58f2e95226 |
K8s (#8)
* feat: Update Go version to 1.26.1 and add CLI application to workspace
- Update Go version from 1.26 to 1.26.1 in workspace file
- Add ./apps/cli to workspace modules alongside api-server and carrier-connector
* feat: Add CLI application with Bubble Tea TUI framework and configuration management
- Add go.mod and go.sum for CLI application module
- Add Bubble Tea v1.3.10 for terminal UI framework
- Add Charm Bracelet libraries: bubbles v1.0.0, lipgloss v1.1.0 for UI components and styling
- Add Viper v1.21.0 for configuration management
- Add testify v1.11.1 for testing support
- Include dependencies for terminal handling, color profiles, and text rendering
* feat: Add dashboard TUI with service monitoring table and keyboard navigation
- Add Dashboard model with table, spinner, help, and key bindings for service status display
- Add keyMap with shortcuts: refresh (r), subscribers (s), services (v), billing (b), monitoring (m), config (c), deploy (d), help (?), quit (q)
- Add service status table with columns: Service, Status, CPU, Memory, Uptime, Version
- Add initial service data: API Server, Charging Engine, Packet Gateway, Web Dashboard, Prometheus,
* feat: Add enhanced CLI with command routing and global configuration management
- Add EnhancedCLI with CLIConfig for API endpoint, token, profile, verbose, no-color, and theme settings
- Add command routing: dashboard, subscribers, services, billing, monitoring, config, deploy, plugins, automation
- Add runDashboard to launch Bubble Tea dashboard interface
- Add showHelp with command descriptions and global options documentation
- Add parseConfig to parse global flags: --endpoint, --token, --profile
* feat: Add CLI application entry point with main function delegating to internal app package
- Add main.go with main function calling app.Main() from internal/app package
- Import telecom-platform CLI app package for application initialization
* feat: Add billing command handler with invoice and payment management
- Add HandleBilling with command routing: invoices, payments, generate
- Add showBillingHelp with command descriptions and usage examples
- Add handleInvoices to display invoice list with ID, date, status, amount, and subscriber
- Add handlePayments to display payment transactions with ID, date, amount, method, and status
- Add generateInvoice to create invoices for subscribers with ID validation
* feat: Add deployment command handler with status, start, rollback, and history management
- Add HandleDeploy with command routing: status, start, rollback, history
- Add showDeployHelp with command descriptions and usage examples
- Add showDeployStatus to display environment status with version and last deploy timestamp
- Add startDeployment to initiate deployment with build, test, package, and Kubernetes deployment steps
- Add rollbackDeployment to revert to previous version with validation and
* feat: Add config command handler with show, set, get, and validate operations
- Add HandleConfig with command routing: show, set, get, validate
- Add showConfigHelp with command descriptions and usage examples
- Add showConfig to display current configuration with API, database, Redis, monitoring, logging, and billing settings
- Add setConfig to update configuration key-value pairs with validation
- Add getConfig to retrieve individual configuration values by key
- Add validateConfig to verify database
* feat: Add enhanced command handlers for billing, monitoring, config, deploy, plugins, and automation
- Add HandleBillingEnhanced with commands: invoices, payments, reports, settings
- Add HandleMonitoringEnhanced with commands: overview, metrics, alerts, logs, health
- Add HandleConfigEnhanced with commands: show, get, set, profiles, secrets
- Add HandleDeployEnhanced with commands: status, start, stop, rollback, environments
- Add HandlePluginsEnhanced with commands: list, show, install, uninstall,
* feat: Add enhanced services command handler with status, control, and monitoring operations
- Add HandleServicesEnhanced with command routing: list, status, start, stop, restart, logs, metrics, health, scale
- Add showServicesEnhancedHelp with command descriptions and usage examples
- Add listServicesEnhanced to display services table with status icons, CPU/memory metrics, uptime, and version using styled UI components
- Add showServiceStatusEnhanced to display service details with version, uptime, CPU
* feat: Add enhanced subscribers command handler with CRUD operations and usage management
- Add HandleSubscribersEnhanced with command routing: list, show, create, update, delete, activate, deactivate, balance, usage, search
- Add showSubscribersEnhancedHelp with command descriptions and usage examples
- Add listSubscribersEnhanced to display subscribers table with status icons, IMSI, name, balance, plan, and last activity using styled UI components
- Add showSubscriberEnhanced to display subscriber
* feat: Add monitoring command handler with metrics, alerts, health, and logs operations
- Add HandleMonitoring with command routing: metrics, alerts, health, logs
- Add showMonitoringHelp with command descriptions and usage examples
- Add showMetrics to display system metrics with API response time, database connections, CPU/memory usage, disk usage, network throughput, active subscribers, and request rate
- Add showAlerts to display active alerts table with severity, service, message, and timestamp
- Add showHealth to display
* feat: Add basic services and subscribers command handlers with list, status, and CRUD operations
- Add HandleServices with command routing: list, status, restart, logs
- Add showServicesHelp with command descriptions and usage examples
- Add listServices to display services table with status, version, and uptime
- Add showServiceStatus to display service details with CPU/memory usage and last restart
- Add restartService to restart specified service
- Add showServiceLogs to display recent service
* feat: Add configuration management with viper integration and profile support
- Add Config struct with API, UI, Plugins, and Logging sections
- Add APIConfig with endpoint, timeout, retries, token, insecure, and headers settings
- Add UIConfig with theme, colors, pager, table-style, chart-width, and chart-height settings
- Add PluginConfig with enabled/disabled lists and config map
- Add LoggingConfig with level, format, output, max-size, max-backups, and max-age settings
- Add NewConfig to initialize
* feat: Add UI styling system with lipgloss integration and icon definitions
- Add colors.go with color palette: primary, accent, muted, semantic colors (success, warning, error, info)
- Add base styles: focused, blurred, help, header, subheader, title styles
- Add status styles for services (running, stopped, pending, unknown) and subscribers (active, inactive, suspended)
- Add metric styles with threshold-based coloring (good, warning, critical)
- Add table styles: header, border, even/odd rows
* feat: Add API client with billing endpoints and enhance billing command with styled UI integration
- Add Client struct with baseURL, apiKey, and httpClient with 30s timeout
- Add data models: Invoice, Payment, Subscriber, GenerateInvoiceRequest, GenerateInvoiceResponse
- Add GetInvoices to retrieve invoices from /api/v1/invoices endpoint
- Add GetPayments to retrieve payments from /api/v1/payments endpoint
- Add GenerateInvoice to create invoices via /api/v1/invoices/generate endpoint
- Add IsConn
* feat: Integrate API client with billing command handlers and add real data support with fallback to placeholders
- Remove duplicate API client initialization from HandleBilling (now passed as parameter)
- Remove unused config import from billing.go
- Update handleInvoices to fetch real invoice data via apiClient.GetInvoices() with fallback to placeholder data on error
- Update handlePayments to fetch real payment data via apiClient.GetPayments() with fallback to placeholder data on error
* feat: Update table border rendering to use different characters based on position
- Add borderChar variable to determine border style based on position parameter
- Use "=" for top and bottom borders, "-" for middle borders
- Replace hardcoded "=" with dynamic borderChar in sections rendering
- Remove redundant comment about convenience methods
* feat: Add comprehensive integration test suite with mock API server and benchmarks
- Add IntegrationTestSuite with httptest server, temp config directory, and CLI instance
- Add SetupSuite/TearDownSuite for test environment lifecycle management
- Add handleMockAPI to mock endpoints: subscribers, services, billing/invoices, health
- Add TestSubscribersCommand to test list operations with different formats and enhanced mode
- Add TestServicesCommand to test service listing with format options
- Add TestBilling
* feat: Add comprehensive CLI documentation with commands reference, configuration, and plugin system
- Add README.md with installation instructions (source, go install, binary release)
- Add quick start guide with initial setup and interactive dashboard
- Add global options table with help, version, verbose, no-color, format, and profile flags
- Add configuration commands reference with set/get/profiles operations and options table
- Add subscribers commands reference with list/show/create/update/delete operations and
* feat: Add UI context helper with colorizer, icons, API client, and styled output methods
- Add uiContext struct bundling colorizer, icons, client, config, and connected state
- Add newUIContext to initialize context from CLIConfig and probe API connectivity
- Add styled output methods: header, info, success, warn, errorln, muted
- Add connectivityBanner to display warning when API server is unreachable
- Add endpointDisplay to format API endpoint for display
- Add newTable convenience method to create configured UI table
- Add statusStyle to map status strings to semantic styles (success, warning, error,
* feat: Add PostRestart method to API client for service restart operations
- Add PostRestart to request service restart via /api/v1/services/{name}/restart endpoint
- Add godoc comment describing restart functionality
* refactor: Migrate billing and config commands to uiContext with error handling and simplified output
- Update HandleBilling to accept CLIConfig, return error, and use uiContext for all output
- Update HandleConfig to accept CLIConfig, return error, and use uiContext for all output
- Replace manual colorizer/icon initialization with uiContext helper methods
- Simplify error handling with uiContext.errorln, warn, success, info, muted methods
- Replace direct table creation with uiContext.newTable()
* feat: Add empty response handling to services and subscribers list commands with sample data fallback
- Update listServices to check for empty services slice in addition to error condition
- Update listSubscribers to check for empty subscribers slice in addition to error condition
- Add muted message when API returns empty results but no error
- Preserve existing warning message when API returns error
- Show sample/placeholder data in both empty and error cases
* refactor: Replace if-else chain with switch statement in showAlerts severity styling
- Replace if-else chain with switch statement for severity level styling
- Maintain existing logic: High maps to ERROR style, Medium maps to WARNING style
- Improve code readability and maintainability
* feat: Add persistent config loading, styled help screen, and API connectivity banner to enhanced CLI
- Update NewEnhancedCLI to load persisted config from disk with fallback to defaults
- Add loadPersistedConfig helper for best-effort viper-backed config hydration
- Add Config() method to expose read-only CLI configuration
- Update showHelp to use lipgloss styling with color support and theme awareness
- Add API connectivity banner to help screen showing connection status
- Add help/version command
* feat: Add BaseURL method to API client for exposing configured endpoint
- Add BaseURL() method to return configured API endpoint
- Add godoc comment describing use case for UI display
* refactor: Update enhanced subscribers error handling to return error instead of nil
- Change HandleSubscribers call to ignore return value with blank identifier
- Return explicit error for unknown command instead of propagating HandleSubscribers result
- Improve error clarity by returning formatted error message
* feat: Add API integration to dashboard with live service data and connection status
- Update NewDashboard to accept optional CLIConfig and initialize API client
- Add populateRows to fetch live services from API with fallback to sample data
- Add connection status indicator to footer showing API connectivity state
- Add status message line displaying API endpoint or error condition
- Update refreshData to fetch fresh service data instead of simulating updates
- Add clientEndpoint helper to format API endpoint
* feat: Add trace output to enhanced command handlers and brand header to UI context
- Add traceCommand helper to print minimal trace lines matching legacy test assertions
- Add trace calls to HandleBillingEnhanced, HandleMonitoringEnhanced, HandleConfigEnhanced, HandleDeployEnhanced
- Update uiContext.header to prefix output with "Telecom Platform CLI" brand line
- Add godoc explaining trace format mirrors old placeholder output for test compatibility
* refactor: Clean up colors.go formatting and remove unused style variables
- Remove unused color variables: blackColor, greenColor, blueColor, purpleColor, cyanColor
- Remove unused base styles: baseStyle, focusedStyle, blurredStyle, helpStyle
- Remove unused text styles: boldStyle, italicStyle, underlineStyle, dimStyle
- Remove unused semantic styles: errorStyle, successStyle, warningStyle, infoStyle
- Remove unused icon styles: iconStyle, iconSuccessStyle, iconErrorStyle, iconWarningStyle, iconInfoStyle
* feat: Add API client library with subscriber and system endpoints for web dashboard
- Add apiFetch helper with JSON handling and error parsing
- Add Subscriber, SystemStats, HealthStatus, PaginatedResponse interfaces
- Add subscribers CRUD methods: list, get, create, update, delete with pagination support
- Add system endpoints: stats and health status
- Configure API_BASE from NEXT_PUBLIC_API_URL environment variable with localhost fallback
* feat: Add sidebar navigation and update dashboard layout with branding
- Add Sidebar component import and render in root layout
- Update layout structure: replace flex-col with flex, add sidebar and main content areas
- Update metadata title from "Create Next App" to "Telecom Admin Dashboard"
- Update metadata description to "Sovereign Telecom-as-a-Service Platform Admin Dashboard"
- Format Inter font configuration for consistency
- Add overflow-auto to main content area for scrollable content
* feat: Replace landing page with comprehensive dashboard featuring stats, subscribers, and system status
- Replace centered landing layout with full dashboard grid layout
- Add four StatCard widgets: Total Subscribers, Active Sessions, Low Balance Alerts, System Uptime with trend indicators
- Add Recent Subscribers card displaying 5 subscribers with name, MSISDN, and status badges
- Add System Status card showing health of API Server, Database, Redis Cache, Charging Engine, AMF Gateway
- Import Badge
* feat: Add chaos engineering page with experiment runner and status tracking
- Add ChaosPage component with experiment grid layout and status summary cards
- Add Experiment interface: id, name, target, type, icon, description, status, lastRun, duration
- Add six initial experiments: API Latency Injection, Database Connection Kill, Charging Engine Crash, Network Partition, Redis Cache Flush, High Load Simulation
- Add runExperiment handler with simulated 3s execution and random pass/fail outcome
- Add status
* feat: Add eSIM profiles page with provisioning status and subscriber management
- Add ESIMPage component with profile grid layout and provisioning action
- Add Profile interface: id, imsi, euiccId, status, subscriber, activatedAt
- Add five sample profiles with active, downloading, and inactive states
- Add statusVariant helper mapping status to badge variants (success, secondary, destructive, warning)
- Add table displaying Profile ID, Subscriber, IMSI, eUICC ID, Status, Activated date, and refresh
* feat: Add system health monitoring page with service metrics and status tracking
- Add HealthPage component with service grid layout and status badges
- Add six monitored services: API Server, PostgreSQL, Redis Cache, Charging Engine, AMF Gateway, ES2+ SM-DP+
- Add service metrics: status, latency, uptime, CPU usage, memory consumption
- Add HeartPulse icon header with page title and description
- Add statusVariant mapping healthy to success badge and degraded to warning badge
- Display metrics
* feat: Add payments page with transaction history and revenue metrics
- Add PaymentsPage component with transaction table and revenue stats
- Add Transaction interface: id, subscriber, type, amount, status, date
- Add six sample transactions with TOP_UP, REFUND types and completed, failed, pending statuses
- Add four StatCard widgets: Revenue Today, Refunds Today, Pending, Success Rate with trend indicators
- Add table displaying Transaction ID, Subscriber, Type, Amount, Status, Date columns
- Add Badge
* feat: Add subscribers, usage, and settings pages with navigation sidebar and stat card component
- Add Sidebar component with 8 navigation items: Dashboard, Subscribers, Usage & Billing, Payments, eSIM Profiles, System Health, Chaos Engineering, Settings
- Add active route highlighting using usePathname with bg-sidebar-accent styling
- Add StatCard component with title, value, icon, optional trend indicator and description props
- Add SubscribersPage with 8 sample subscribers displaying name, MSISDN,
* feat: Add Badge component with six variants for status and category display
- Add Badge component using class-variance-authority for variant styling
- Add six badge variants: default, secondary, destructive, outline, success, warning
- Add success variant with emerald-500/10 background and emerald-600 text with dark mode support
- Add warning variant with amber-500/10 background and amber-600 text with dark mode support
- Add destructive variant with destructive/10 background for error states
- Configure
* feat: Add ArgoCD app-of-apps pattern for GitOps deployment automation
- Add telecom-platform-root Application manifest with automated sync policy
- Configure source repository pointing to deployments/argocd/apps directory on main branch
- Enable automated pruning and self-healing for continuous reconciliation
- Add CreateNamespace and PrunePropagationPolicy=foreground sync options
- Configure retry policy with 5 attempts, exponential backoff from 5s to 3m
- Set destination to default Kubernetes cluster
* feat: Add ArgoCD operator installation manifests with OIDC authentication and namespace configuration
- Add ArgoCD custom resource with server route enabled and annotation-based resource tracking
- Configure Dex SSO provider with OIDC connector for OpenID Connect authentication
- Add OIDC client configuration with openid, profile, email, groups scopes
- Add argocd-secret with placeholder for OIDC client secret
- Add argocd namespace with telecom-platform labels and gitops component annotation
- Configure namespace with gitops managed-by annotation for platform integration
* feat: Add ArgoCD applications for multi-environment telecom platform deployment
- Add telecom-platform Application for base platform deployment to telecom-platform namespace
- Add telecom-platform-dev Application with automated sync, pruning, and self-healing enabled
- Add telecom-platform-staging Application with automated sync, pruning, and self-healing enabled
- Add telecom-platform-prod Application with manual sync (prune and selfHeal disabled) for production safety
- Configure dev and staging with 5
* feat: Add HPA and VPA autoscaling configurations for telecom platform components
- Add api-server HPA with 2-10 replicas scaling on CPU (70%), memory (80%), HTTP requests (100/s), queue messages (1000)
- Add charging-engine HPA with 2-8 replicas scaling on CPU (75%), memory (85%), billing events (50/s)
- Add packet-gateway HPA with 2-12 replicas scaling on CPU (60%), memory (75%), packets (1000/s)
- Add web-dashboard HPA with 1-6 replicas scaling on CPU (70%), memory (80%), active sessions (50)
- Configure H
* feat: Add Velero backup configuration with daily and weekly schedules for telecom platform
- Add velero namespace with backup component labels and telecom-platform integration
- Add velero ServiceAccount with RBAC ClusterRole granting full cluster access
- Add ClusterRoleBinding associating velero ServiceAccount with ClusterRole
- Add velero-aws-credentials Secret with placeholder AWS access key and secret key
- Add BackupStorageLocation using AWS provider with telecom-platform-backups bucket in us-east-1
- Add VolumeSnapshotLocation using AWS provider in us-east-1
* feat: Add cert-manager installation with ClusterIssuers and TLS certificates for telecom platform
- Add cert-manager namespace with certificates component labels and telecom-platform integration
- Add cert-manager ServiceAccount with RBAC ClusterRole for secrets, ingresses, certificates, issuers, ACME challenges
- Add ClusterRoleBinding associating cert-manager ServiceAccount with ClusterRole
- Add cert-manager Deployment with v1.12.0 controller image, metrics port 9402, default issuer telecom-platform-ca
- Add cert-manager Service expos
* feat: Add ELK stack deployment with Elasticsearch cluster, Kibana UI, and Logstash pipeline for telecom platform logging
- Add elasticsearch namespace with logging component labels and telecom-platform integration
- Add Elasticsearch StatefulSet with 3 master node replicas, cluster name telecom-platform-logs
- Add initContainers for vm.max_map_count and file descriptor limit configuration with privileged security context
- Add Elasticsearch 8.10.0 container with 9200 REST and 9300 inter-node ports, 1Gi-2
* feat: Add Kustomize environment configurations for dev, staging, and prod deployments
- Add dev kustomization with debug logging, 100 req/min rate limit, single replica counts
- Add staging kustomization with info logging, 500 req/min rate limit, 2 replicas, metrics enabled
- Add prod kustomization with warn logging, 1000 req/min rate limit, 2-3 replicas, GDPR/audit enabled
- Add environment-specific configMapGenerator with LOG_LEVEL, ENVIRONMENT, RATE_LIMIT settings
- Add environment-specific secretGenerator with DATABASE_URL, REDIS_URL, JWT_SECRET, encryption key (prod
* feat: Add GDPR compliance service with data retention, encryption, and automated cleanup
- Add gdpr-compliance-config ConfigMap with retention policies: 30d logs, 90d metrics, 365d audit, 7y billing, 5y personal data, 3y consent
- Add privacy configuration with AES-256-GCM encryption, 90d key rotation, hash-based anonymization for phone/email/name/address
- Add consent management with age verification and 30d withdrawal period
- Add audit logging for access, modifications, and exports with 365d retention
- Add data subject rights support
* feat: Add Helm chart for telecom platform with dependencies and comprehensive configuration
- Add Chart.yaml with telecom-platform v1.0.0, MIT license, infrastructure category
- Add chart dependencies: postgresql 12.1.9, redis 17.3.7, prometheus 23.1.0, grafana 6.58.9, elasticsearch 19.5.0, kibana 10.2.0, logstash 8.5.1
- Add values.yaml with global configuration for imageRegistry, imagePullSecrets, storageClass, environment
- Add platform configuration for api-server (3-10 replicas, 8000 port), charging-engine (2-8 replicas, 8080 port), packet-gateway (2-6 replicas, 9090 port), web-dashboard (2-4 replicas, 3000
* feat: Add Istio service mesh installation with ingress gateway, traffic management, and mTLS configuration
- Add IstioOperator with default profile, pilot with 100% trace sampling, istio-system namespace
- Add ingress gateway with LoadBalancer type, HTTP (80) and HTTPS (443) ports, 100m-500m CPU, 128Mi-512Mi memory, 1-5 autoscale replicas
- Add egress gateway with 50m-200m CPU, 64Mi-256Mi memory
- Add mesh config with ROUND_ROBIN load balancing, 100 max TCP connections, 50 HTTP pending requests, JSON
* feat: Add comprehensive deployment guide with installation steps, multi-environment configuration, and operational procedures
- Add README.md with architecture overview covering core platform services (API, charging, packet gateway, dashboard) and infrastructure components (GitOps, Istio, monitoring, ELK, Velero, Vault, cert-manager, GDPR, autoscaling)
- Add prerequisites section with Kubernetes 1.24+ requirements, 8 CPU/32GB RAM minimum, required tools (kubectl, helm, argocd, vault), external dependencies (S3, domains, email)
- Add installation steps for Istio service mesh, cert-manager, HashiCorp Vault, ELK stack, Velero
* feat: Add Kubernetes manifests for telecom platform applications and configuration
- Add api-server Deployment with 3 replicas, 8000 HTTP and 9090 metrics ports, database/Redis/InfluxDB environment configuration, 256Mi-512Mi memory, 250m-500m CPU, health probes
- Add charging-engine Deployment with 2 replicas, 3001 port, Redis integration, 128Mi-256Mi memory, 100m-200m CPU
- Add packet-gateway Deployment with 2 replicas, 9000 metrics port, privileged security context with NET_ADMIN/SYS_ADMIN capabilities
* feat: Add Kubernetes deployment documentation and HashiCorp Vault installation with TLS configuration
- Add README.md with architecture overview covering api-server (3 replicas), charging-engine (2 replicas), packet-gateway (2 replicas), web-dashboard (2 replicas), postgres, redis, monitoring stack (Prometheus, Grafana, InfluxDB, Alertmanager)
- Add prerequisites section with kubectl/Docker/Helm requirements, Kubernetes 1.25+, 4 CPU/8GB RAM minimum, 50GB+ storage
- Add quick start guide with deployment
|
||
|
|
f071605a47 |
feat: Add Kubernetes deployment documentation and HashiCorp Vault installation with TLS configuration
- Add README.md with architecture overview covering api-server (3 replicas), charging-engine (2 replicas), packet-gateway (2 replicas), web-dashboard (2 replicas), postgres, redis, monitoring stack (Prometheus, Grafana, InfluxDB, Alertmanager) - Add prerequisites section with kubectl/Docker/Helm requirements, Kubernetes 1.25+, 4 CPU/8GB RAM minimum, 50GB+ storage - Add quick start guide with deployment |
||
|
|
a0c862a1a4 |
feat: Add Kubernetes manifests for telecom platform applications and configuration
- Add api-server Deployment with 3 replicas, 8000 HTTP and 9090 metrics ports, database/Redis/InfluxDB environment configuration, 256Mi-512Mi memory, 250m-500m CPU, health probes - Add charging-engine Deployment with 2 replicas, 3001 port, Redis integration, 128Mi-256Mi memory, 100m-200m CPU - Add packet-gateway Deployment with 2 replicas, 9000 metrics port, privileged security context with NET_ADMIN/SYS_ADMIN capabilities |
||
|
|
7a2715f44e |
feat: Add comprehensive deployment guide with installation steps, multi-environment configuration, and operational procedures
- Add README.md with architecture overview covering core platform services (API, charging, packet gateway, dashboard) and infrastructure components (GitOps, Istio, monitoring, ELK, Velero, Vault, cert-manager, GDPR, autoscaling) - Add prerequisites section with Kubernetes 1.24+ requirements, 8 CPU/32GB RAM minimum, required tools (kubectl, helm, argocd, vault), external dependencies (S3, domains, email) - Add installation steps for Istio service mesh, cert-manager, HashiCorp Vault, ELK stack, Velero |
||
|
|
105906b901 |
feat: Add Istio service mesh installation with ingress gateway, traffic management, and mTLS configuration
- Add IstioOperator with default profile, pilot with 100% trace sampling, istio-system namespace - Add ingress gateway with LoadBalancer type, HTTP (80) and HTTPS (443) ports, 100m-500m CPU, 128Mi-512Mi memory, 1-5 autoscale replicas - Add egress gateway with 50m-200m CPU, 64Mi-256Mi memory - Add mesh config with ROUND_ROBIN load balancing, 100 max TCP connections, 50 HTTP pending requests, JSON |
||
|
|
c43f6f8ce8 |
feat: Add Helm chart for telecom platform with dependencies and comprehensive configuration
- Add Chart.yaml with telecom-platform v1.0.0, MIT license, infrastructure category - Add chart dependencies: postgresql 12.1.9, redis 17.3.7, prometheus 23.1.0, grafana 6.58.9, elasticsearch 19.5.0, kibana 10.2.0, logstash 8.5.1 - Add values.yaml with global configuration for imageRegistry, imagePullSecrets, storageClass, environment - Add platform configuration for api-server (3-10 replicas, 8000 port), charging-engine (2-8 replicas, 8080 port), packet-gateway (2-6 replicas, 9090 port), web-dashboard (2-4 replicas, 3000 |
||
|
|
325391e0c8 |
feat: Add GDPR compliance service with data retention, encryption, and automated cleanup
- Add gdpr-compliance-config ConfigMap with retention policies: 30d logs, 90d metrics, 365d audit, 7y billing, 5y personal data, 3y consent - Add privacy configuration with AES-256-GCM encryption, 90d key rotation, hash-based anonymization for phone/email/name/address - Add consent management with age verification and 30d withdrawal period - Add audit logging for access, modifications, and exports with 365d retention - Add data subject rights support |
||
|
|
940830674d |
feat: Add Kustomize environment configurations for dev, staging, and prod deployments
- Add dev kustomization with debug logging, 100 req/min rate limit, single replica counts - Add staging kustomization with info logging, 500 req/min rate limit, 2 replicas, metrics enabled - Add prod kustomization with warn logging, 1000 req/min rate limit, 2-3 replicas, GDPR/audit enabled - Add environment-specific configMapGenerator with LOG_LEVEL, ENVIRONMENT, RATE_LIMIT settings - Add environment-specific secretGenerator with DATABASE_URL, REDIS_URL, JWT_SECRET, encryption key (prod |
||
|
|
9034337524 |
feat: Add ELK stack deployment with Elasticsearch cluster, Kibana UI, and Logstash pipeline for telecom platform logging
- Add elasticsearch namespace with logging component labels and telecom-platform integration - Add Elasticsearch StatefulSet with 3 master node replicas, cluster name telecom-platform-logs - Add initContainers for vm.max_map_count and file descriptor limit configuration with privileged security context - Add Elasticsearch 8.10.0 container with 9200 REST and 9300 inter-node ports, 1Gi-2 |
||
|
|
7e0e5b619f |
feat: Add cert-manager installation with ClusterIssuers and TLS certificates for telecom platform
- Add cert-manager namespace with certificates component labels and telecom-platform integration - Add cert-manager ServiceAccount with RBAC ClusterRole for secrets, ingresses, certificates, issuers, ACME challenges - Add ClusterRoleBinding associating cert-manager ServiceAccount with ClusterRole - Add cert-manager Deployment with v1.12.0 controller image, metrics port 9402, default issuer telecom-platform-ca - Add cert-manager Service expos |
||
|
|
cb052639ee |
feat: Add Velero backup configuration with daily and weekly schedules for telecom platform
- Add velero namespace with backup component labels and telecom-platform integration - Add velero ServiceAccount with RBAC ClusterRole granting full cluster access - Add ClusterRoleBinding associating velero ServiceAccount with ClusterRole - Add velero-aws-credentials Secret with placeholder AWS access key and secret key - Add BackupStorageLocation using AWS provider with telecom-platform-backups bucket in us-east-1 - Add VolumeSnapshotLocation using AWS provider in us-east-1 |
||
|
|
2b2818a412 |
feat: Add HPA and VPA autoscaling configurations for telecom platform components
- Add api-server HPA with 2-10 replicas scaling on CPU (70%), memory (80%), HTTP requests (100/s), queue messages (1000) - Add charging-engine HPA with 2-8 replicas scaling on CPU (75%), memory (85%), billing events (50/s) - Add packet-gateway HPA with 2-12 replicas scaling on CPU (60%), memory (75%), packets (1000/s) - Add web-dashboard HPA with 1-6 replicas scaling on CPU (70%), memory (80%), active sessions (50) - Configure H |
||
|
|
44ce95a9e9 |
feat: Add ArgoCD applications for multi-environment telecom platform deployment
- Add telecom-platform Application for base platform deployment to telecom-platform namespace - Add telecom-platform-dev Application with automated sync, pruning, and self-healing enabled - Add telecom-platform-staging Application with automated sync, pruning, and self-healing enabled - Add telecom-platform-prod Application with manual sync (prune and selfHeal disabled) for production safety - Configure dev and staging with 5 |
||
|
|
2ee6fa49fd |
feat: Add ArgoCD operator installation manifests with OIDC authentication and namespace configuration
- Add ArgoCD custom resource with server route enabled and annotation-based resource tracking - Configure Dex SSO provider with OIDC connector for OpenID Connect authentication - Add OIDC client configuration with openid, profile, email, groups scopes - Add argocd-secret with placeholder for OIDC client secret - Add argocd namespace with telecom-platform labels and gitops component annotation - Configure namespace with gitops managed-by annotation for platform integration |
||
|
|
f0da1abcef |
feat: Add ArgoCD app-of-apps pattern for GitOps deployment automation
- Add telecom-platform-root Application manifest with automated sync policy - Configure source repository pointing to deployments/argocd/apps directory on main branch - Enable automated pruning and self-healing for continuous reconciliation - Add CreateNamespace and PrunePropagationPolicy=foreground sync options - Configure retry policy with 5 attempts, exponential backoff from 5s to 3m - Set destination to default Kubernetes cluster |
||
|
|
fabc0cda5e |
Frontend (#7)
* feat: Update Go version to 1.26.1 and add CLI application to workspace
- Update Go version from 1.26 to 1.26.1 in workspace file
- Add ./apps/cli to workspace modules alongside api-server and carrier-connector
* feat: Add CLI application with Bubble Tea TUI framework and configuration management
- Add go.mod and go.sum for CLI application module
- Add Bubble Tea v1.3.10 for terminal UI framework
- Add Charm Bracelet libraries: bubbles v1.0.0, lipgloss v1.1.0 for UI components and styling
- Add Viper v1.21.0 for configuration management
- Add testify v1.11.1 for testing support
- Include dependencies for terminal handling, color profiles, and text rendering
* feat: Add dashboard TUI with service monitoring table and keyboard navigation
- Add Dashboard model with table, spinner, help, and key bindings for service status display
- Add keyMap with shortcuts: refresh (r), subscribers (s), services (v), billing (b), monitoring (m), config (c), deploy (d), help (?), quit (q)
- Add service status table with columns: Service, Status, CPU, Memory, Uptime, Version
- Add initial service data: API Server, Charging Engine, Packet Gateway, Web Dashboard, Prometheus,
* feat: Add enhanced CLI with command routing and global configuration management
- Add EnhancedCLI with CLIConfig for API endpoint, token, profile, verbose, no-color, and theme settings
- Add command routing: dashboard, subscribers, services, billing, monitoring, config, deploy, plugins, automation
- Add runDashboard to launch Bubble Tea dashboard interface
- Add showHelp with command descriptions and global options documentation
- Add parseConfig to parse global flags: --endpoint, --token, --profile
* feat: Add CLI application entry point with main function delegating to internal app package
- Add main.go with main function calling app.Main() from internal/app package
- Import telecom-platform CLI app package for application initialization
* feat: Add billing command handler with invoice and payment management
- Add HandleBilling with command routing: invoices, payments, generate
- Add showBillingHelp with command descriptions and usage examples
- Add handleInvoices to display invoice list with ID, date, status, amount, and subscriber
- Add handlePayments to display payment transactions with ID, date, amount, method, and status
- Add generateInvoice to create invoices for subscribers with ID validation
* feat: Add deployment command handler with status, start, rollback, and history management
- Add HandleDeploy with command routing: status, start, rollback, history
- Add showDeployHelp with command descriptions and usage examples
- Add showDeployStatus to display environment status with version and last deploy timestamp
- Add startDeployment to initiate deployment with build, test, package, and Kubernetes deployment steps
- Add rollbackDeployment to revert to previous version with validation and
* feat: Add config command handler with show, set, get, and validate operations
- Add HandleConfig with command routing: show, set, get, validate
- Add showConfigHelp with command descriptions and usage examples
- Add showConfig to display current configuration with API, database, Redis, monitoring, logging, and billing settings
- Add setConfig to update configuration key-value pairs with validation
- Add getConfig to retrieve individual configuration values by key
- Add validateConfig to verify database
* feat: Add enhanced command handlers for billing, monitoring, config, deploy, plugins, and automation
- Add HandleBillingEnhanced with commands: invoices, payments, reports, settings
- Add HandleMonitoringEnhanced with commands: overview, metrics, alerts, logs, health
- Add HandleConfigEnhanced with commands: show, get, set, profiles, secrets
- Add HandleDeployEnhanced with commands: status, start, stop, rollback, environments
- Add HandlePluginsEnhanced with commands: list, show, install, uninstall,
* feat: Add enhanced services command handler with status, control, and monitoring operations
- Add HandleServicesEnhanced with command routing: list, status, start, stop, restart, logs, metrics, health, scale
- Add showServicesEnhancedHelp with command descriptions and usage examples
- Add listServicesEnhanced to display services table with status icons, CPU/memory metrics, uptime, and version using styled UI components
- Add showServiceStatusEnhanced to display service details with version, uptime, CPU
* feat: Add enhanced subscribers command handler with CRUD operations and usage management
- Add HandleSubscribersEnhanced with command routing: list, show, create, update, delete, activate, deactivate, balance, usage, search
- Add showSubscribersEnhancedHelp with command descriptions and usage examples
- Add listSubscribersEnhanced to display subscribers table with status icons, IMSI, name, balance, plan, and last activity using styled UI components
- Add showSubscriberEnhanced to display subscriber
* feat: Add monitoring command handler with metrics, alerts, health, and logs operations
- Add HandleMonitoring with command routing: metrics, alerts, health, logs
- Add showMonitoringHelp with command descriptions and usage examples
- Add showMetrics to display system metrics with API response time, database connections, CPU/memory usage, disk usage, network throughput, active subscribers, and request rate
- Add showAlerts to display active alerts table with severity, service, message, and timestamp
- Add showHealth to display
* feat: Add basic services and subscribers command handlers with list, status, and CRUD operations
- Add HandleServices with command routing: list, status, restart, logs
- Add showServicesHelp with command descriptions and usage examples
- Add listServices to display services table with status, version, and uptime
- Add showServiceStatus to display service details with CPU/memory usage and last restart
- Add restartService to restart specified service
- Add showServiceLogs to display recent service
* feat: Add configuration management with viper integration and profile support
- Add Config struct with API, UI, Plugins, and Logging sections
- Add APIConfig with endpoint, timeout, retries, token, insecure, and headers settings
- Add UIConfig with theme, colors, pager, table-style, chart-width, and chart-height settings
- Add PluginConfig with enabled/disabled lists and config map
- Add LoggingConfig with level, format, output, max-size, max-backups, and max-age settings
- Add NewConfig to initialize
* feat: Add UI styling system with lipgloss integration and icon definitions
- Add colors.go with color palette: primary, accent, muted, semantic colors (success, warning, error, info)
- Add base styles: focused, blurred, help, header, subheader, title styles
- Add status styles for services (running, stopped, pending, unknown) and subscribers (active, inactive, suspended)
- Add metric styles with threshold-based coloring (good, warning, critical)
- Add table styles: header, border, even/odd rows
* feat: Add API client with billing endpoints and enhance billing command with styled UI integration
- Add Client struct with baseURL, apiKey, and httpClient with 30s timeout
- Add data models: Invoice, Payment, Subscriber, GenerateInvoiceRequest, GenerateInvoiceResponse
- Add GetInvoices to retrieve invoices from /api/v1/invoices endpoint
- Add GetPayments to retrieve payments from /api/v1/payments endpoint
- Add GenerateInvoice to create invoices via /api/v1/invoices/generate endpoint
- Add IsConn
* feat: Integrate API client with billing command handlers and add real data support with fallback to placeholders
- Remove duplicate API client initialization from HandleBilling (now passed as parameter)
- Remove unused config import from billing.go
- Update handleInvoices to fetch real invoice data via apiClient.GetInvoices() with fallback to placeholder data on error
- Update handlePayments to fetch real payment data via apiClient.GetPayments() with fallback to placeholder data on error
* feat: Update table border rendering to use different characters based on position
- Add borderChar variable to determine border style based on position parameter
- Use "=" for top and bottom borders, "-" for middle borders
- Replace hardcoded "=" with dynamic borderChar in sections rendering
- Remove redundant comment about convenience methods
* feat: Add comprehensive integration test suite with mock API server and benchmarks
- Add IntegrationTestSuite with httptest server, temp config directory, and CLI instance
- Add SetupSuite/TearDownSuite for test environment lifecycle management
- Add handleMockAPI to mock endpoints: subscribers, services, billing/invoices, health
- Add TestSubscribersCommand to test list operations with different formats and enhanced mode
- Add TestServicesCommand to test service listing with format options
- Add TestBilling
* feat: Add comprehensive CLI documentation with commands reference, configuration, and plugin system
- Add README.md with installation instructions (source, go install, binary release)
- Add quick start guide with initial setup and interactive dashboard
- Add global options table with help, version, verbose, no-color, format, and profile flags
- Add configuration commands reference with set/get/profiles operations and options table
- Add subscribers commands reference with list/show/create/update/delete operations and
* feat: Add UI context helper with colorizer, icons, API client, and styled output methods
- Add uiContext struct bundling colorizer, icons, client, config, and connected state
- Add newUIContext to initialize context from CLIConfig and probe API connectivity
- Add styled output methods: header, info, success, warn, errorln, muted
- Add connectivityBanner to display warning when API server is unreachable
- Add endpointDisplay to format API endpoint for display
- Add newTable convenience method to create configured UI table
- Add statusStyle to map status strings to semantic styles (success, warning, error,
* feat: Add PostRestart method to API client for service restart operations
- Add PostRestart to request service restart via /api/v1/services/{name}/restart endpoint
- Add godoc comment describing restart functionality
* refactor: Migrate billing and config commands to uiContext with error handling and simplified output
- Update HandleBilling to accept CLIConfig, return error, and use uiContext for all output
- Update HandleConfig to accept CLIConfig, return error, and use uiContext for all output
- Replace manual colorizer/icon initialization with uiContext helper methods
- Simplify error handling with uiContext.errorln, warn, success, info, muted methods
- Replace direct table creation with uiContext.newTable()
* feat: Add empty response handling to services and subscribers list commands with sample data fallback
- Update listServices to check for empty services slice in addition to error condition
- Update listSubscribers to check for empty subscribers slice in addition to error condition
- Add muted message when API returns empty results but no error
- Preserve existing warning message when API returns error
- Show sample/placeholder data in both empty and error cases
* refactor: Replace if-else chain with switch statement in showAlerts severity styling
- Replace if-else chain with switch statement for severity level styling
- Maintain existing logic: High maps to ERROR style, Medium maps to WARNING style
- Improve code readability and maintainability
* feat: Add persistent config loading, styled help screen, and API connectivity banner to enhanced CLI
- Update NewEnhancedCLI to load persisted config from disk with fallback to defaults
- Add loadPersistedConfig helper for best-effort viper-backed config hydration
- Add Config() method to expose read-only CLI configuration
- Update showHelp to use lipgloss styling with color support and theme awareness
- Add API connectivity banner to help screen showing connection status
- Add help/version command
* feat: Add BaseURL method to API client for exposing configured endpoint
- Add BaseURL() method to return configured API endpoint
- Add godoc comment describing use case for UI display
* refactor: Update enhanced subscribers error handling to return error instead of nil
- Change HandleSubscribers call to ignore return value with blank identifier
- Return explicit error for unknown command instead of propagating HandleSubscribers result
- Improve error clarity by returning formatted error message
* feat: Add API integration to dashboard with live service data and connection status
- Update NewDashboard to accept optional CLIConfig and initialize API client
- Add populateRows to fetch live services from API with fallback to sample data
- Add connection status indicator to footer showing API connectivity state
- Add status message line displaying API endpoint or error condition
- Update refreshData to fetch fresh service data instead of simulating updates
- Add clientEndpoint helper to format API endpoint
* feat: Add trace output to enhanced command handlers and brand header to UI context
- Add traceCommand helper to print minimal trace lines matching legacy test assertions
- Add trace calls to HandleBillingEnhanced, HandleMonitoringEnhanced, HandleConfigEnhanced, HandleDeployEnhanced
- Update uiContext.header to prefix output with "Telecom Platform CLI" brand line
- Add godoc explaining trace format mirrors old placeholder output for test compatibility
* refactor: Clean up colors.go formatting and remove unused style variables
- Remove unused color variables: blackColor, greenColor, blueColor, purpleColor, cyanColor
- Remove unused base styles: baseStyle, focusedStyle, blurredStyle, helpStyle
- Remove unused text styles: boldStyle, italicStyle, underlineStyle, dimStyle
- Remove unused semantic styles: errorStyle, successStyle, warningStyle, infoStyle
- Remove unused icon styles: iconStyle, iconSuccessStyle, iconErrorStyle, iconWarningStyle, iconInfoStyle
* feat: Add API client library with subscriber and system endpoints for web dashboard
- Add apiFetch helper with JSON handling and error parsing
- Add Subscriber, SystemStats, HealthStatus, PaginatedResponse interfaces
- Add subscribers CRUD methods: list, get, create, update, delete with pagination support
- Add system endpoints: stats and health status
- Configure API_BASE from NEXT_PUBLIC_API_URL environment variable with localhost fallback
* feat: Add sidebar navigation and update dashboard layout with branding
- Add Sidebar component import and render in root layout
- Update layout structure: replace flex-col with flex, add sidebar and main content areas
- Update metadata title from "Create Next App" to "Telecom Admin Dashboard"
- Update metadata description to "Sovereign Telecom-as-a-Service Platform Admin Dashboard"
- Format Inter font configuration for consistency
- Add overflow-auto to main content area for scrollable content
* feat: Replace landing page with comprehensive dashboard featuring stats, subscribers, and system status
- Replace centered landing layout with full dashboard grid layout
- Add four StatCard widgets: Total Subscribers, Active Sessions, Low Balance Alerts, System Uptime with trend indicators
- Add Recent Subscribers card displaying 5 subscribers with name, MSISDN, and status badges
- Add System Status card showing health of API Server, Database, Redis Cache, Charging Engine, AMF Gateway
- Import Badge
* feat: Add chaos engineering page with experiment runner and status tracking
- Add ChaosPage component with experiment grid layout and status summary cards
- Add Experiment interface: id, name, target, type, icon, description, status, lastRun, duration
- Add six initial experiments: API Latency Injection, Database Connection Kill, Charging Engine Crash, Network Partition, Redis Cache Flush, High Load Simulation
- Add runExperiment handler with simulated 3s execution and random pass/fail outcome
- Add status
* feat: Add eSIM profiles page with provisioning status and subscriber management
- Add ESIMPage component with profile grid layout and provisioning action
- Add Profile interface: id, imsi, euiccId, status, subscriber, activatedAt
- Add five sample profiles with active, downloading, and inactive states
- Add statusVariant helper mapping status to badge variants (success, secondary, destructive, warning)
- Add table displaying Profile ID, Subscriber, IMSI, eUICC ID, Status, Activated date, and refresh
* feat: Add system health monitoring page with service metrics and status tracking
- Add HealthPage component with service grid layout and status badges
- Add six monitored services: API Server, PostgreSQL, Redis Cache, Charging Engine, AMF Gateway, ES2+ SM-DP+
- Add service metrics: status, latency, uptime, CPU usage, memory consumption
- Add HeartPulse icon header with page title and description
- Add statusVariant mapping healthy to success badge and degraded to warning badge
- Display metrics
* feat: Add payments page with transaction history and revenue metrics
- Add PaymentsPage component with transaction table and revenue stats
- Add Transaction interface: id, subscriber, type, amount, status, date
- Add six sample transactions with TOP_UP, REFUND types and completed, failed, pending statuses
- Add four StatCard widgets: Revenue Today, Refunds Today, Pending, Success Rate with trend indicators
- Add table displaying Transaction ID, Subscriber, Type, Amount, Status, Date columns
- Add Badge
* feat: Add subscribers, usage, and settings pages with navigation sidebar and stat card component
- Add Sidebar component with 8 navigation items: Dashboard, Subscribers, Usage & Billing, Payments, eSIM Profiles, System Health, Chaos Engineering, Settings
- Add active route highlighting using usePathname with bg-sidebar-accent styling
- Add StatCard component with title, value, icon, optional trend indicator and description props
- Add SubscribersPage with 8 sample subscribers displaying name, MSISDN,
* feat: Add Badge component with six variants for status and category display
- Add Badge component using class-variance-authority for variant styling
- Add six badge variants: default, secondary, destructive, outline, success, warning
- Add success variant with emerald-500/10 background and emerald-600 text with dark mode support
- Add warning variant with amber-500/10 background and amber-600 text with dark mode support
- Add destructive variant with destructive/10 background for error states
- Configure
|
||
|
|
6ba7bc9a41 |
feat: Add Badge component with six variants for status and category display
- Add Badge component using class-variance-authority for variant styling - Add six badge variants: default, secondary, destructive, outline, success, warning - Add success variant with emerald-500/10 background and emerald-600 text with dark mode support - Add warning variant with amber-500/10 background and amber-600 text with dark mode support - Add destructive variant with destructive/10 background for error states - Configure |
||
|
|
f913724cf7 |
feat: Add subscribers, usage, and settings pages with navigation sidebar and stat card component
- Add Sidebar component with 8 navigation items: Dashboard, Subscribers, Usage & Billing, Payments, eSIM Profiles, System Health, Chaos Engineering, Settings - Add active route highlighting using usePathname with bg-sidebar-accent styling - Add StatCard component with title, value, icon, optional trend indicator and description props - Add SubscribersPage with 8 sample subscribers displaying name, MSISDN, |
||
|
|
09a84936cc |
feat: Add payments page with transaction history and revenue metrics
- Add PaymentsPage component with transaction table and revenue stats - Add Transaction interface: id, subscriber, type, amount, status, date - Add six sample transactions with TOP_UP, REFUND types and completed, failed, pending statuses - Add four StatCard widgets: Revenue Today, Refunds Today, Pending, Success Rate with trend indicators - Add table displaying Transaction ID, Subscriber, Type, Amount, Status, Date columns - Add Badge |
||
|
|
c80417298a |
feat: Add system health monitoring page with service metrics and status tracking
- Add HealthPage component with service grid layout and status badges - Add six monitored services: API Server, PostgreSQL, Redis Cache, Charging Engine, AMF Gateway, ES2+ SM-DP+ - Add service metrics: status, latency, uptime, CPU usage, memory consumption - Add HeartPulse icon header with page title and description - Add statusVariant mapping healthy to success badge and degraded to warning badge - Display metrics |
||
|
|
7a8c90cc2b |
feat: Add eSIM profiles page with provisioning status and subscriber management
- Add ESIMPage component with profile grid layout and provisioning action - Add Profile interface: id, imsi, euiccId, status, subscriber, activatedAt - Add five sample profiles with active, downloading, and inactive states - Add statusVariant helper mapping status to badge variants (success, secondary, destructive, warning) - Add table displaying Profile ID, Subscriber, IMSI, eUICC ID, Status, Activated date, and refresh |
||
|
|
72a67a0f36 |
feat: Add chaos engineering page with experiment runner and status tracking
- Add ChaosPage component with experiment grid layout and status summary cards - Add Experiment interface: id, name, target, type, icon, description, status, lastRun, duration - Add six initial experiments: API Latency Injection, Database Connection Kill, Charging Engine Crash, Network Partition, Redis Cache Flush, High Load Simulation - Add runExperiment handler with simulated 3s execution and random pass/fail outcome - Add status |
||
|
|
578093fa5e |
feat: Replace landing page with comprehensive dashboard featuring stats, subscribers, and system status
- Replace centered landing layout with full dashboard grid layout - Add four StatCard widgets: Total Subscribers, Active Sessions, Low Balance Alerts, System Uptime with trend indicators - Add Recent Subscribers card displaying 5 subscribers with name, MSISDN, and status badges - Add System Status card showing health of API Server, Database, Redis Cache, Charging Engine, AMF Gateway - Import Badge |
||
|
|
824952a6a8 |
feat: Add sidebar navigation and update dashboard layout with branding
- Add Sidebar component import and render in root layout - Update layout structure: replace flex-col with flex, add sidebar and main content areas - Update metadata title from "Create Next App" to "Telecom Admin Dashboard" - Update metadata description to "Sovereign Telecom-as-a-Service Platform Admin Dashboard" - Format Inter font configuration for consistency - Add overflow-auto to main content area for scrollable content |
||
|
|
72ffd4744a |
feat: Add API client library with subscriber and system endpoints for web dashboard
- Add apiFetch helper with JSON handling and error parsing - Add Subscriber, SystemStats, HealthStatus, PaginatedResponse interfaces - Add subscribers CRUD methods: list, get, create, update, delete with pagination support - Add system endpoints: stats and health status - Configure API_BASE from NEXT_PUBLIC_API_URL environment variable with localhost fallback |
||
|
|
ea44b746e4 |
Cli (#6)
* feat: Update Go version to 1.26.1 and add CLI application to workspace
- Update Go version from 1.26 to 1.26.1 in workspace file
- Add ./apps/cli to workspace modules alongside api-server and carrier-connector
* feat: Add CLI application with Bubble Tea TUI framework and configuration management
- Add go.mod and go.sum for CLI application module
- Add Bubble Tea v1.3.10 for terminal UI framework
- Add Charm Bracelet libraries: bubbles v1.0.0, lipgloss v1.1.0 for UI components and styling
- Add Viper v1.21.0 for configuration management
- Add testify v1.11.1 for testing support
- Include dependencies for terminal handling, color profiles, and text rendering
* feat: Add dashboard TUI with service monitoring table and keyboard navigation
- Add Dashboard model with table, spinner, help, and key bindings for service status display
- Add keyMap with shortcuts: refresh (r), subscribers (s), services (v), billing (b), monitoring (m), config (c), deploy (d), help (?), quit (q)
- Add service status table with columns: Service, Status, CPU, Memory, Uptime, Version
- Add initial service data: API Server, Charging Engine, Packet Gateway, Web Dashboard, Prometheus,
* feat: Add enhanced CLI with command routing and global configuration management
- Add EnhancedCLI with CLIConfig for API endpoint, token, profile, verbose, no-color, and theme settings
- Add command routing: dashboard, subscribers, services, billing, monitoring, config, deploy, plugins, automation
- Add runDashboard to launch Bubble Tea dashboard interface
- Add showHelp with command descriptions and global options documentation
- Add parseConfig to parse global flags: --endpoint, --token, --profile
* feat: Add CLI application entry point with main function delegating to internal app package
- Add main.go with main function calling app.Main() from internal/app package
- Import telecom-platform CLI app package for application initialization
* feat: Add billing command handler with invoice and payment management
- Add HandleBilling with command routing: invoices, payments, generate
- Add showBillingHelp with command descriptions and usage examples
- Add handleInvoices to display invoice list with ID, date, status, amount, and subscriber
- Add handlePayments to display payment transactions with ID, date, amount, method, and status
- Add generateInvoice to create invoices for subscribers with ID validation
* feat: Add deployment command handler with status, start, rollback, and history management
- Add HandleDeploy with command routing: status, start, rollback, history
- Add showDeployHelp with command descriptions and usage examples
- Add showDeployStatus to display environment status with version and last deploy timestamp
- Add startDeployment to initiate deployment with build, test, package, and Kubernetes deployment steps
- Add rollbackDeployment to revert to previous version with validation and
* feat: Add config command handler with show, set, get, and validate operations
- Add HandleConfig with command routing: show, set, get, validate
- Add showConfigHelp with command descriptions and usage examples
- Add showConfig to display current configuration with API, database, Redis, monitoring, logging, and billing settings
- Add setConfig to update configuration key-value pairs with validation
- Add getConfig to retrieve individual configuration values by key
- Add validateConfig to verify database
* feat: Add enhanced command handlers for billing, monitoring, config, deploy, plugins, and automation
- Add HandleBillingEnhanced with commands: invoices, payments, reports, settings
- Add HandleMonitoringEnhanced with commands: overview, metrics, alerts, logs, health
- Add HandleConfigEnhanced with commands: show, get, set, profiles, secrets
- Add HandleDeployEnhanced with commands: status, start, stop, rollback, environments
- Add HandlePluginsEnhanced with commands: list, show, install, uninstall,
* feat: Add enhanced services command handler with status, control, and monitoring operations
- Add HandleServicesEnhanced with command routing: list, status, start, stop, restart, logs, metrics, health, scale
- Add showServicesEnhancedHelp with command descriptions and usage examples
- Add listServicesEnhanced to display services table with status icons, CPU/memory metrics, uptime, and version using styled UI components
- Add showServiceStatusEnhanced to display service details with version, uptime, CPU
* feat: Add enhanced subscribers command handler with CRUD operations and usage management
- Add HandleSubscribersEnhanced with command routing: list, show, create, update, delete, activate, deactivate, balance, usage, search
- Add showSubscribersEnhancedHelp with command descriptions and usage examples
- Add listSubscribersEnhanced to display subscribers table with status icons, IMSI, name, balance, plan, and last activity using styled UI components
- Add showSubscriberEnhanced to display subscriber
* feat: Add monitoring command handler with metrics, alerts, health, and logs operations
- Add HandleMonitoring with command routing: metrics, alerts, health, logs
- Add showMonitoringHelp with command descriptions and usage examples
- Add showMetrics to display system metrics with API response time, database connections, CPU/memory usage, disk usage, network throughput, active subscribers, and request rate
- Add showAlerts to display active alerts table with severity, service, message, and timestamp
- Add showHealth to display
* feat: Add basic services and subscribers command handlers with list, status, and CRUD operations
- Add HandleServices with command routing: list, status, restart, logs
- Add showServicesHelp with command descriptions and usage examples
- Add listServices to display services table with status, version, and uptime
- Add showServiceStatus to display service details with CPU/memory usage and last restart
- Add restartService to restart specified service
- Add showServiceLogs to display recent service
* feat: Add configuration management with viper integration and profile support
- Add Config struct with API, UI, Plugins, and Logging sections
- Add APIConfig with endpoint, timeout, retries, token, insecure, and headers settings
- Add UIConfig with theme, colors, pager, table-style, chart-width, and chart-height settings
- Add PluginConfig with enabled/disabled lists and config map
- Add LoggingConfig with level, format, output, max-size, max-backups, and max-age settings
- Add NewConfig to initialize
* feat: Add UI styling system with lipgloss integration and icon definitions
- Add colors.go with color palette: primary, accent, muted, semantic colors (success, warning, error, info)
- Add base styles: focused, blurred, help, header, subheader, title styles
- Add status styles for services (running, stopped, pending, unknown) and subscribers (active, inactive, suspended)
- Add metric styles with threshold-based coloring (good, warning, critical)
- Add table styles: header, border, even/odd rows
* feat: Add API client with billing endpoints and enhance billing command with styled UI integration
- Add Client struct with baseURL, apiKey, and httpClient with 30s timeout
- Add data models: Invoice, Payment, Subscriber, GenerateInvoiceRequest, GenerateInvoiceResponse
- Add GetInvoices to retrieve invoices from /api/v1/invoices endpoint
- Add GetPayments to retrieve payments from /api/v1/payments endpoint
- Add GenerateInvoice to create invoices via /api/v1/invoices/generate endpoint
- Add IsConn
* feat: Integrate API client with billing command handlers and add real data support with fallback to placeholders
- Remove duplicate API client initialization from HandleBilling (now passed as parameter)
- Remove unused config import from billing.go
- Update handleInvoices to fetch real invoice data via apiClient.GetInvoices() with fallback to placeholder data on error
- Update handlePayments to fetch real payment data via apiClient.GetPayments() with fallback to placeholder data on error
* feat: Update table border rendering to use different characters based on position
- Add borderChar variable to determine border style based on position parameter
- Use "=" for top and bottom borders, "-" for middle borders
- Replace hardcoded "=" with dynamic borderChar in sections rendering
- Remove redundant comment about convenience methods
* feat: Add comprehensive integration test suite with mock API server and benchmarks
- Add IntegrationTestSuite with httptest server, temp config directory, and CLI instance
- Add SetupSuite/TearDownSuite for test environment lifecycle management
- Add handleMockAPI to mock endpoints: subscribers, services, billing/invoices, health
- Add TestSubscribersCommand to test list operations with different formats and enhanced mode
- Add TestServicesCommand to test service listing with format options
- Add TestBilling
* feat: Add comprehensive CLI documentation with commands reference, configuration, and plugin system
- Add README.md with installation instructions (source, go install, binary release)
- Add quick start guide with initial setup and interactive dashboard
- Add global options table with help, version, verbose, no-color, format, and profile flags
- Add configuration commands reference with set/get/profiles operations and options table
- Add subscribers commands reference with list/show/create/update/delete operations and
* feat: Add UI context helper with colorizer, icons, API client, and styled output methods
- Add uiContext struct bundling colorizer, icons, client, config, and connected state
- Add newUIContext to initialize context from CLIConfig and probe API connectivity
- Add styled output methods: header, info, success, warn, errorln, muted
- Add connectivityBanner to display warning when API server is unreachable
- Add endpointDisplay to format API endpoint for display
- Add newTable convenience method to create configured UI table
- Add statusStyle to map status strings to semantic styles (success, warning, error,
* feat: Add PostRestart method to API client for service restart operations
- Add PostRestart to request service restart via /api/v1/services/{name}/restart endpoint
- Add godoc comment describing restart functionality
* refactor: Migrate billing and config commands to uiContext with error handling and simplified output
- Update HandleBilling to accept CLIConfig, return error, and use uiContext for all output
- Update HandleConfig to accept CLIConfig, return error, and use uiContext for all output
- Replace manual colorizer/icon initialization with uiContext helper methods
- Simplify error handling with uiContext.errorln, warn, success, info, muted methods
- Replace direct table creation with uiContext.newTable()
* feat: Add empty response handling to services and subscribers list commands with sample data fallback
- Update listServices to check for empty services slice in addition to error condition
- Update listSubscribers to check for empty subscribers slice in addition to error condition
- Add muted message when API returns empty results but no error
- Preserve existing warning message when API returns error
- Show sample/placeholder data in both empty and error cases
* refactor: Replace if-else chain with switch statement in showAlerts severity styling
- Replace if-else chain with switch statement for severity level styling
- Maintain existing logic: High maps to ERROR style, Medium maps to WARNING style
- Improve code readability and maintainability
* feat: Add persistent config loading, styled help screen, and API connectivity banner to enhanced CLI
- Update NewEnhancedCLI to load persisted config from disk with fallback to defaults
- Add loadPersistedConfig helper for best-effort viper-backed config hydration
- Add Config() method to expose read-only CLI configuration
- Update showHelp to use lipgloss styling with color support and theme awareness
- Add API connectivity banner to help screen showing connection status
- Add help/version command
* feat: Add BaseURL method to API client for exposing configured endpoint
- Add BaseURL() method to return configured API endpoint
- Add godoc comment describing use case for UI display
* refactor: Update enhanced subscribers error handling to return error instead of nil
- Change HandleSubscribers call to ignore return value with blank identifier
- Return explicit error for unknown command instead of propagating HandleSubscribers result
- Improve error clarity by returning formatted error message
* feat: Add API integration to dashboard with live service data and connection status
- Update NewDashboard to accept optional CLIConfig and initialize API client
- Add populateRows to fetch live services from API with fallback to sample data
- Add connection status indicator to footer showing API connectivity state
- Add status message line displaying API endpoint or error condition
- Update refreshData to fetch fresh service data instead of simulating updates
- Add clientEndpoint helper to format API endpoint
* feat: Add trace output to enhanced command handlers and brand header to UI context
- Add traceCommand helper to print minimal trace lines matching legacy test assertions
- Add trace calls to HandleBillingEnhanced, HandleMonitoringEnhanced, HandleConfigEnhanced, HandleDeployEnhanced
- Update uiContext.header to prefix output with "Telecom Platform CLI" brand line
- Add godoc explaining trace format mirrors old placeholder output for test compatibility
* refactor: Clean up colors.go formatting and remove unused style variables
- Remove unused color variables: blackColor, greenColor, blueColor, purpleColor, cyanColor
- Remove unused base styles: baseStyle, focusedStyle, blurredStyle, helpStyle
- Remove unused text styles: boldStyle, italicStyle, underlineStyle, dimStyle
- Remove unused semantic styles: errorStyle, successStyle, warningStyle, infoStyle
- Remove unused icon styles: iconStyle, iconSuccessStyle, iconErrorStyle, iconWarningStyle, iconInfoStyle
|
||
|
|
95738fa689 |
refactor: Clean up colors.go formatting and remove unused style variables
- Remove unused color variables: blackColor, greenColor, blueColor, purpleColor, cyanColor - Remove unused base styles: baseStyle, focusedStyle, blurredStyle, helpStyle - Remove unused text styles: boldStyle, italicStyle, underlineStyle, dimStyle - Remove unused semantic styles: errorStyle, successStyle, warningStyle, infoStyle - Remove unused icon styles: iconStyle, iconSuccessStyle, iconErrorStyle, iconWarningStyle, iconInfoStyle |