One API to Rule Them All: Building a Cohesive API for Semaphore
Blog post from Semaphore
Semaphore has undertaken a comprehensive overhaul of its public API to address complexity and fragmentation, aiming for a unified, resource-oriented design inspired by Kubernetes and REST best practices. The previous setup of multiple API approaches created scalability and maintenance challenges, prompting the adoption of a dedicated HTTP gateway that streamlines external requests into internal gRPC calls, enhancing consistency, authentication, and validation processes. This redesign includes richer object representations to provide more context and introduces custom methods for resource-specific actions beyond standard CRUD operations. With a commitment to OpenAPI-first development, Semaphore ensures clear documentation and easier contributions, fostering a more intuitive and consistent developer experience. The project, open source and inviting collaboration, promises future enhancements such as improved error handling and continued integration of service interactions.