- Add Ping method to PostgresProfileStore to check database connection status
- Add Ping method to ProfileRepository interface
- Add /api/v1/health/live endpoint for liveness checks (always returns alive if service is running)
- Add /api/v1/health/ready endpoint for readiness checks with database connectivity validation
- Add readinessHandler that returns SERVICE_UNAVAILABLE status when database ping fails
- Add DatabaseConfig struct with DSN field for Postgres connection string
- Add package documentation comments for ES2Config/DatabaseConfig/LoadES2Config
- Normalize ES2Config field alignment for BaseURL/APIKey/InsecureSkipVerify/FunctionalityRequesterID
- Remove InMemoryProfileStore struct and all methods (Create/Get/List/UpdateState/Delete) from profile.go
- Remove sync package import
- Add profileRow struct with ICCID/EID/IMSI/MCC/MNC/ProfileType/State/TenantID/ActivationCode/CreatedAt/UpdatedAt fields mapped to esim_profiles table with indexes on EID/IMSI/State/TenantID
- Add NewPostgresProfileStore with DSN validation, GORM connection setup with Warn logging, and AutoMigrate for esim_profiles schema
- Add Create/Get/List/UpdateState/Delete methods implementing ProfileRepository interface with
- Move setupRoutes to routes.go with ProfileRepository parameter and handler package integration
- Extract all handler functions (orderProfile/getProfile/listProfiles/deleteProfile/getCarrierInfo/checkConnectivity) to internal/handler package
- Move ProfileOrder/ProfileResponse structs to internal/handler package as shared types
- Move getEnv helper function to handler.Get
- Remove crypto/tls and go-resty/resty/v2 imports
- Remove NewES2Client function and ES2Client.OrderProfile method from main.go
- Update orderProfileHandler to use es2.DownloadProfileRequest with EID/ConfirmationCode and convert GSMA response to ProfileResponse with ExecutionStatus/StatusMessage
- Update all handler function signatures to accept *es2.ES2Client instead of *ES2Client
- Update checkConnectivityHandler to use Get
- Add context import and config/es2 package imports for GSMA ES2+ protocol implementation
- Remove ES2Client struct definition and move to internal/es2 package
- Update ProfileOrder struct with EID/ConfirmationCode fields for GSMA ES2+ compliance
- Update ProfileResponse struct with ExecutionStatus/StatusMessage fields replacing Status
- Add ES2Config initialization with Base
- Add Gin router initialization with custom logging formatter and recovery middleware
- Add setupRoutes function with /api/v1 prefix and health check endpoint
- Add eSIM profile endpoints: POST /profiles for ordering, GET /profiles/:profileId for status, GET /profiles for listing with pagination, DELETE /profiles/:profileId for deletion
- Add carrier management endpoints: GET /carrier/info for carrier
- 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
- Add ES2Config struct with base URL, API key, TLS verification, and requester ID fields
- Add LoadES2Config function with default SMDP connection parameters
- Include JSON tags for configuration serialization
- Change module path from taas-platform to nutcas3 organization
- Remove golang-jwt/jwt dependency from api-server
- Add GORM PostgreSQL driver and GORM v1.31.1 to api-server
- Update go-resty/resty from v2.15.3 to v2.17.2 in carrier-connector
- Update rs/zerolog from v1.33.0 to v1.35.0 in carrier-connector
- Add go.sum files with complete dependency trees for both applications
- Include indirect dependencies
- Add Go-based API server and carrier connector services
- Add Rust-based charging engine and packet gateway services
- Add Docker Compose configuration for local development
- Add comprehensive documentation (API, Architecture, Deployment)
- Add development scripts for Redis, MongoDB, and environment setup
- Add workspace configuration for Go modules and pnpm
- Remove unnecessary documentation files from web-dashboard
- Add project build configuration (Makefile, Cargo.toml)
This commit establishes the foundational microservices architecture for the sovereign Telecom-as-a-Service platform.