Overview
This is a major feature release that introduces a complete REST API layer with OpenAPI documentation, enhanced Java KeyStore (JKS) support, improved KMS/database consistency handling, and a comprehensive CI/CD testing pipeline.
New Features
REST API with OpenAPI Documentation
- CA Management Endpoints - Full CRUD operations for Certificate Authorities via REST API
- Certificate Routes - REST API for certificate operations including downloads in multiple formats
- Bulk Operations - REST endpoints for bulk certificate operations (revoke, renew, download)
- Utility Endpoints - Health check and system utility REST endpoints
- OpenAPI Integration - Auto-generated API documentation with Swagger UI
Enhanced JKS (Java KeyStore) Support
- Separate Keystore/Truststore Downloads - Split JKS downloads into dedicated Keystore and Truststore options
- Improved UX - Better password field handling and validation for JKS operations
- CA Certificate Inclusion - JKS downloads now properly include CA certificate chain
- Shared JKS Service - Refactored JKS generation into reusable service layer
KMS/Database Consistency Handling
- HTTP 409 CONFLICT Response - Proper error handling when KMS and database state diverge
- Force Delete Option - Ability to force delete entries when KMS key is missing
- In-App Dialogs - User-friendly dialogs to handle KMS inconsistency scenarios
- Auto-Revoke on Renew - Automatic revocation of previous certificate when renewing
Progress Feedback UI
- Bulk Operations Progress - Visual progress indicators for bulk certificate operations
- Real-time Updates - Live feedback during long-running operations
Infrastructure & CI/CD
GitHub Actions Test Workflow
- Automated Testing - Complete test workflow with KMS service container
- Sequential Test Execution - Tests run sequentially to avoid database race conditions
- Auto-cleanup - Automatic cleanup of SHA256 digest tags from container registry
Docker Improvements
- KMS Update - Upgraded Cosmian KMS to version 5.12.0
- Frontend Build Fix - Resolved pnpm binary issues in Docker builds
- Network Configuration - Fixed Docker network config for KMS connectivity
- Runtime API URL - Frontend now supports runtime API URL configuration
Bug Fixes
- Fixed password field display for JKS Truststore format
- Fixed duplicate ServiceContext export
- Fixed serial number comparison in crypto tests
- Auto-start KMS for test environment
- Proper test cleanup with afterAll hooks
Refactoring
- Shared CA and CRL services used across tRPC procedures
- Unified JKS service implementation
- Better test isolation with proper cleanup
Docker Images
docker pull ghcr.io/oriolrius/pki-manager-backend:v1.2.0
docker pull ghcr.io/oriolrius/pki-manager-frontend:v1.2.0
# Or use latest
docker pull ghcr.io/oriolrius/pki-manager-backend:latest
docker pull ghcr.io/oriolrius/pki-manager-frontend:latestREST API Endpoints
The new REST API is available at /api/v1/:
| Endpoint | Methods | Description |
|---|---|---|
/api/v1/health
| GET | Health check |
/api/v1/ca
| GET, POST | CA list and creation |
/api/v1/ca/:id
| GET, DELETE | CA details and deletion |
/api/v1/certificate
| GET, POST | Certificate list and creation |
/api/v1/certificate/:id
| GET, DELETE | Certificate details and deletion |
/api/v1/certificate/:id/download
| GET | Download certificate in various formats |
/api/v1/bulk/*
| POST | Bulk operations (revoke, renew, download) |
Full Changelog: v1.1.2...v1.2.0