Building Block EMULATOR
Building block emulators are simple application that “emulates“ the behaviour of specific building block (BB). The implementations are based on Govstack Specification. They are example implementation that mimics the actual behaviour of BB. They may not provide the complete functionality of specific BB, but should provide specified endpoints in the Govstack Specification.
Tech requirements
Java 17/Spring Boot 3.1 (latest stable versions)
Gradle as a build tool
Packaged as containers
Minimal Helm chart for Sandbox Kubernetes deployment
CI/CD pipelines for image building from source code
CI/CD pipelines for deploying in Kubernetes Cluster
Emulators should provide necessary API endpoints for Specific Application to accomplish specific use-case. In that case emulator should provide only the endpoints that are needed for specific use-case, and should evolve only when new use-case requires not yet implemented API endpoints.
Example:
For USCT use-case, Payment BB should provide Government to Person (G2P) payments, so the emulator should provide only the G2P endpoints for that use case.
Additional requirements:
Health check endpoints (
org.springframework.boot:spring-boot-starter-actuator
)Structured logging (
net.logstash.logback:logstash-logback-encoder
), to be able to output logs in JSON format for easier collecting.Swagger UI
Open API spec JSON & YAML
Application for API generating from Open API spec:
Implementations:
Tools for building OpenAPI specs:
Swagger Editor (with help of OpenAPI Guide)
Alternative plugin for VS Code: Plugin