Commit Graph
190 Commits
Author SHA1 Message Date
nutcas3 ae24b7a1c6 feat: Add millisToDuration utility function for converting milliseconds to time.Duration with zero handling 2026-04-22 13:35:20 +03:00
nutcas3 1fd8a9db18 feat: Add cached database wrapper with query caching, invalidation, and statistics support
- Add CachedDatabase struct wrapping Database with cache.Cache field and NewCachedDatabase constructor
- Add CachedFind method with cache key generation from query/args, cache hit deserialization, database fallback on miss, and 5-minute TTL
- Add CachedFirst method with same caching pattern as CachedFind for single record queries
- Add InvalidateCache method for clearing all cache entries and InvalidateCacheKey
2026-04-22 13:20:04 +03:00
nutcas3 9e1a508769 feat: Add configuration store service with database-backed runtime settings, validation, and sensitive value masking
- Add ConfigStoreService struct with database dependency and NewConfigStoreService constructor
- Add List method with optional section filtering, section/key ordering, and sensitive value masking (********)
- Add UpsertConfigInput struct with section/key/value/type/sensitive/description/updated_by fields and required validation
- Add Upsert method with section+key lookup, default
2026-04-21 11:08:06 +03:00
nutcas3 648f7e59f5 feat: Add centralized error handling with typed error codes, validation support, and enhanced parsing utilities
- Add error code constants for validation/auth/resource/system/business logic errors (VALIDATION_FAILED/UNAUTHORIZED/NOT_FOUND/INTERNAL_ERROR/etc)
- Add EnhancedErrorResponse with error/code/details/context/timestamp/request_id fields and ValidationErrorResponse with field-specific errors array
- Add handleError function with gorm.ErrRecordNotFound/ErrDuplicatedKey/ErrInvalidData handling
2026-04-21 11:07:29 +03:00
nutcas3 021742a488 feat: Add Casbin RBAC service with policy management, permission checking, and default role configurations
- Add CasbinService struct with enforcer/db fields and NewCasbinService constructor with GORM adapter initialization
- Add Casbin model configuration with request_definition/policy_definition/role_definition/policy_effect/matchers for RBAC
- Add initializeDefaultPolicies with admin (full access), operator (manage services/monitoring), and viewer (read-only) role permissions
- Add CheckPermission method
2026-04-21 11:06:24 +03:00
nutcas3 073e10891a feat: Add staging environment configuration with protection rules, approvals, and environment variables
- Add staging.yml with environment name/URL and protection rules configuration
- Add required_reviewers (staging-team-lead/devops-engineer) and prevent_force_pushes setting
- Add required_status_checks with strict mode for build-and-push/test-suite contexts
- Add environment_variables for API_BASE_URL/DATABASE_URL/REDIS_URL/LOG_LEVEL/ENVIRONMENT
- Add secrets references for STAGING_DB_PASSWORD/
2026-04-21 11:05:55 +03:00
nutcas3 cddfd41654 feat: Add production environment configuration with protection rules, approvals, and deployment restrictions
- Add production.yml with environment name/URL and protection rules configuration
- Add required_reviewers (cto/head-of-operations/security-lead) and prevent_force_pushes setting
- Add required_status_checks with strict mode for build-and-push/test-suite/security-scan/performance-tests contexts
- Add deployment_restrictions limiting deployments to specific users (cto/head-of-operations/devops-lead) and platform
2026-04-21 11:05:44 +03:00
nutcas3 bf0447b905 feat: Add GitHub Actions deployment workflow with staging/production environments and container registry integration
- Add deploy workflow triggered on push to main, version tags, and manual workflow_dispatch with environment selection
- Add build-and-push job with GHCR login, Docker metadata extraction for API server/web dashboard, image builds with branch/tag/sha tagging, and image outputs
- Add deploy-staging job (main branch or manual staging selection) with kubectl setup and placeholder deployment commands
2026-04-20 20:11:13 +03:00
nutcas3 98b954196b feat: Add GitHub Actions CI workflow with testing, building, and security scanning
- Add CI workflow triggered on push/PR to main/develop branches
- Add api-server-test job with PostgreSQL service, Go 1.23 setup, golangci-lint, race detection tests with coverage, and binary build
- Add web-dashboard-test job with Node.js 20 setup, npm ci, linting, TypeScript type checking, and build
- Add docker-build job (main branch only) with Buildx setup, API server/web dashboard image builds, and GitHub Actions
2026-04-20 20:08:44 +03:00
nutcas3 f8d218448d refactor: Replace interface{} with any and add comprehensive plugin service tests with benchmarks
- Replace interface{} with any in sendDeactivationRequest method signature in es2_helpers.go
- Add plugin_service_test.go with setupPluginTest helper using in-memory SQLite and gorm.AutoMigrate
- Add TestPluginService_List with test cases for all/enabled/disabled/by-type filtering and no matches
- Add TestPluginService_Install with tests for successful install, duplicate prevention, and missing fields
2026-04-20 20:08:23 +03:00
nutcas3 f42a753372 feat: Add Swagger documentation models for API endpoints with comprehensive field annotations
- Add Subscriber model with IMSI/MSISDN/email/status/plan_id/profile_status fields and validation examples
- Add Service model with name/namespace/replicas/ready_replicas/available_replicas/creation_timestamp fields
- Add Deployment model with service/version/status/started_at/completed_at/metadata fields and status enum
- Add Plugin model with name/version/author/description/enabled/config fields
- Add Automation model with name/description/trigger/
2026-04-20 20:06:37 +03:00
nutcas3 14ca3d00e7 feat: Add deployment service with CRUD operations, rollback support, and status tracking
- Add DeploymentService struct with database dependency and NewDeploymentService constructor
- Add DeploymentFilter struct with Service/Environment/Status/Limit/Offset fields for query filtering
- Add List method with context support, filter application (service/environment/status), pagination (default limit: 20), and DESC ordering by created_at
- Add Get method with gorm.ErrRecordNotFound handling and formatted
2026-04-20 20:06:09 +03:00
nutcas3 dfa23fde3c feat: Add WebSocket handler with hub management, client connections, and real-time broadcasting
- Add websocket.Upgrader with CheckOrigin allowing all origins in development
- Add Message struct with type/data/timestamp fields for WebSocket messages
- Add Client struct with conn/send/mutex/closed fields and readPump/writePump/Close methods
- Add Hub struct with clients map, broadcast/register/unregister channels, and sync.RWMutex
- Add NewHub constructor and Run method with client registration/
2026-04-20 20:05:40 +03:00
nutcas3 4875fa7c88 feat: Add Kubernetes service with deployment management, scaling, restart, logs, and pod status monitoring
- Add KubernetesService struct with kubernetes.Clientset/namespace and NewKubernetesService constructor with in-cluster/kubeconfig fallback
- Add getInClusterNamespace helper with /var/run/secrets/kubernetes.io/serviceaccount/namespace reading
- Add Deployment struct with name/namespace/creationTimestamp/labels/replicas/readyReplicas/availableReplicas/updatedReplicas/unavailableReplicas fields
- Add ListDeployments method with AppsV1().Deployments().
2026-04-20 20:05:23 +03:00
nutcas3 501c558b9f feat: Add plugin service with CRUD operations, filtering, and enable/disable functionality
- Add PluginService struct with database dependency and NewPluginService constructor
- Add PluginFilter struct with Enabled/Type/Category fields for query filtering
- Add List method with context support, filter application (enabled/type/category), and DESC ordering by installed_at
- Add Get method with gorm.ErrRecordNotFound handling and formatted error messages
- Add InstallPluginInput struct with name/
2026-04-20 20:04:19 +03:00
nutcas3 e8230bd64e chore: Update Go dependencies and replace interface{} with any type alias
- Update charmbracelet/colorprofile from v0.4.1 to v0.4.3
- Update charmbracelet/x/ansi from v0.11.6 to v0.11.7
- Update clipperhouse/displaywidth from v0.9.0 to v0.11.0
- Update clipperhouse/uax29/v2 from v2.5.0 to v2.7.0
- Update davecgh/go-spew to v1.1.2-0.20180830191138-d8f796af33cc
- Update fsnotify/fsnotify from v1.7.0 to v1.9.0
- Update google/go-cmp from v0.5.9 to v0.7.0
- Update lucasb-eyer/go-colorful from v1.3.0 to v1.4
2026-04-20 20:04:01 +03:00
nutcas3 c7627d92ec refactor: Replace interface{} with any alias in Terraform provider code
- Replace interface{} with any in providerConfigure, doRequest, get, post, put method signatures
- Replace interface{} with any in dataSourceSubscriberRead, dataSourceSystemStatsRead functions
- Replace interface{} with any in resourceSubscriberCreate/Read/Update/Delete, resourceRatingPlanCreate/Read/Update/Delete functions
- Replace map[string]interface{} with map[string]any in subscriber create/update request bodies
- Update
2026-04-20 18:25:22 +03:00
nutcas3 0d8c1a8098 feat: Add comprehensive documentation for error handling, testing strategy, monitoring, and development workflow
- Add Enhanced Error Handling section with error codes (VALIDATION_FAILED, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, ALREADY_EXISTS, INTERNAL_ERROR, RATE_LIMITED), standardized JSON response format, and field-specific validation error structure
- Add Testing Strategy section with integration test coverage for API endpoints/authentication/RBAC/services, test structure example with setupTest
2026-04-20 18:19:36 +03:00
nutcas3 a6ec720df3 feat: Add Prometheus service client with instant query execution, alert retrieval, and health checking
- Add PrometheusService struct with baseURL/http.Client (10s timeout) and PROMETHEUS_URL env config (default: http://prometheus:9090)
- Add Available method with /-/ready endpoint health check
- Add Query method with instant PromQL execution via /api/v1/query, URL escaping, error handling
- Add promResponse/promVectorData/PromVectorSample structs for query result parsing with metric/value fields
2026-04-20 18:10:36 +03:00
nutcas3 0e28b8a1ac feat: Add comprehensive API server with REST endpoints, WebSocket support, RBAC, monitoring, and service integrations
- Add server.go with Swagger documentation endpoint, WebSocket handler, health/ready/live monitoring endpoints
- Add global middleware: rate limiting, performance optimization, security headers, CORS, request size (10MB), timeout (30s)
- Add performance metrics endpoint with 100ms threshold monitoring
- Add authentication service initialization with JWT, WebSocket hub, health monitor
2026-04-20 18:09:53 +03:00
nutcas3 4a74483044 feat: Add cache package with in-memory implementation, LRU eviction, and multi-cache management
- Add CacheItem struct with key/value/expiration/createdAt/accessCount/lastAccess fields and IsExpired method
- Add Cache interface with Get/Set/Delete/Clear/Keys/Size/Stats methods
- Add CacheStats struct with hits/misses/hitRate/size/evictions/totalItems metrics
- Add MemoryCache with sync.RWMutex, maxSize limit, automatic cleanup goroutine, LRU eviction, and access tracking
- Add RedisCache placeholder
2026-04-20 18:09:26 +03:00
nutcas3 02af897c5f feat: Add Jest testing infrastructure with comprehensive mocks and test scripts
- Add jest.config.js with Next.js integration, jsdom environment, module path mapping, and coverage collection for src/**/*.{js,jsx,ts,tsx}
- Add jest.setup.js with @testing-library/jest-dom, Next.js router/navigation mocks, IntersectionObserver/ResizeObserver/WebSocket/fetch mocks, localStorage/sessionStorage mocks
- Add package.json test scripts: test, test:watch, test:coverage
- Add testing dependencies: @testing-library/jest
2026-04-20 18:08:04 +03:00
nutcas3 961259cd39 feat: Add automation and billing pages with workflow management, invoice generation, and payment tracking
- Add "use client" directive to automation and billing pages for client-side rendering
- Add useState/useEffect hooks for Automation/AutomationRun/Invoice/Payment state management with loading/error/actionLoading states
- Add automation page: loadData with Promise.all for api.automation.list/logs, handleCreateAutomation with JSON config parsing, handleRunAutomation/handleScheduleAutomation with api
2026-04-19 05:25:41 +03:00
nutcas3 84ca116e27 feat: Add monitoring page with Prometheus metrics, real-time alerts, and comprehensive system health dashboard
- Add "use client" directive to monitoring page for client-side rendering
- Add useState/useEffect hooks for MetricSample/Alert state management with loading/error states
- Add loadMonitoringData with Promise.all for api.monitoring.metrics/alerts, handleCustomQuery with PromQL execution
- Add 8 predefinedQueries: uptime, CPU/memory/network usage, connections, response time, error/request rates
2026-04-19 05:22:09 +03:00
nutcas3 1abc7550c3 feat: Add plugins page with marketplace UI, install/uninstall functionality, and comprehensive plugin management controls
- Add "use client" directive to plugins page for client-side rendering
- Add useState/useEffect hooks for Plugin state management with loading/error/actionLoading states
- Add loadPlugins with api.plugins.list() and filterEnabled support
- Add handleInstallPlugin with JSON config parsing, form reset, api.plugins.install()
- Add handleTogglePlugin with api.plugins.enable/disable methods
- Add handleUninstallPlugin
2026-04-19 05:20:21 +03:00
nutcas3 32b675e14d feat: Add services page with Kubernetes service management, real-time WebSocket updates, and comprehensive service controls
- Add "use client" directive to services page for client-side rendering
- Add useState/useEffect hooks for Service/ServiceHealth/PodStatus state management with loading/error states
- Add loadServices with api.services.list(), loadServiceDetails with Promise.all for service/health/pod/logs/events data
- Add handleServiceAction with restart/start/stop actions via api.services methods
2026-04-19 05:20:05 +03:00
nutcas3 7424ab1969 feat: Add API integration to web dashboard with loading states, error handling, and real-time data fetching
- Add "use client" directive to settings, subscribers, and usage pages for client-side rendering
- Add useState/useEffect hooks for API data fetching with loading/error states
- Add settings page: ConfigEntry state management, loadConfigs with api.config.get(), handleSaveConfig with api.config.update(), getConfigValue helper
- Add subscribers page: Subscriber/PaginatedResponse state, api.subscribers.list
2026-04-19 05:13:29 +03:00
nutcas3 30726f2ce3 feat: Add comprehensive API client with services, monitoring, deployment, plugins, automation, billing, config, and chaos engineering endpoints
- Add Service, ServiceHealth, PodStatus, ServiceEvent interfaces for Kubernetes service management
- Add MetricSample, Alert interfaces for monitoring and alerting
- Add Deployment, DeploymentStartRequest interfaces for deployment lifecycle management
- Add Plugin, PluginInstallRequest interfaces for plugin installation and configuration
- Add Automation, AutomationRun interfaces for automation workflows and
2026-04-19 05:12:32 +03:00
nutcas3 20bd86cf11 feat: Add WebSocket service with typed message handling, auto-reconnect, and subscription management
- Add WebSocketMessage, ServiceUpdate, SystemMetrics, AlertUpdate interfaces for typed message handling
- Add WebSocketService class with connection management, 5 max reconnect attempts, exponential backoff (1s-30s delay)
- Add subscribe/unsubscribe pattern with type-based message routing and listener cleanup
- Add getWebSocketService singleton factory with auto-detect ws/wss protocol and disconn
2026-04-19 05:11:55 +03:00
nutcas3 a895a3ab18 feat: Add WebSocket React hooks with typed message subscriptions and connection management
- Add useWebSocket generic hook with message type subscription, connection status monitoring, error handling, and automatic cleanup
- Add useServiceUpdates, useSystemMetrics, useAlertUpdates hooks for typed WebSocket message subscriptions
- Add useWebSocketConnection hook with connection status monitoring, manual reconnect capability, and reconnect attempt tracking
- Add 1s interval connection status polling
2026-04-19 05:04:11 +03:00
nutcas3 96b7d7eac2 feat: Add web dashboard UI components with Alert, Input, Label, Select, and loading/error state utilities
- Add alert.tsx with Alert, AlertTitle, AlertDescription, AlertAction components using class-variance-authority with default/destructive variants
- Add error-alert.tsx with ErrorAlert component featuring AlertCircle icon, retry/dismiss actions, and customizable text
- Add input.tsx with Input component supporting file uploads, focus-visible states, aria-invalid styling, and dark mode
- Add label.tsx with Label component
2026-04-19 04:39:19 +03:00
nutcas3 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
2026-04-19 04:35:53 +03:00
nutcas3 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
2026-04-17 17:54:35 +03:00
nutcas3 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,
2026-04-17 17:53:37 +03:00
nutcas3 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
2026-04-17 17:53:11 +03:00
nutcas3 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_
2026-04-17 17:49:32 +03:00
nutcas3 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
2026-04-17 17:49:05 +03:00
nutcas3 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
2026-04-17 17:45:34 +03:00
nutcas3 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
2026-04-17 17:44:37 +03:00
nutcas3 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
2026-04-17 17:44:11 +03:00
nutcas3 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
2026-04-17 17:42:30 +03:00
nutcas3 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
2026-04-17 17:42:09 +03:00
nutcas3 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,
2026-04-17 17:41:31 +03:00
nutcas3 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
2026-04-17 17:41:20 +03:00
nutcas3 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
2026-04-17 17:38:09 +03:00
nutcas3 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
2026-04-17 17:37:56 +03:00
nutcas3 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
2026-04-17 17:37:29 +03:00
nutcas3 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
2026-04-17 17:37:18 +03:00
nutcas3 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
2026-04-17 17:36:13 +03:00
NutcaseandGitHub f05f11a4fc Merge pull request #9 from nutcas3/monitoring
Monitoring
2026-04-17 17:34:17 +03:00