Overview
CodecovReferee serves as an intuitive user interface designed for Spinnaker’s Kayenta, enabling users to engage with Automated Canary Analysis (ACA) effortlessly. Drawing inspiration from Spinnaker’s official UI, Deck, this platform focuses on optimizing user experience while allowing Kayenta to operate as a standalone service. Built using React in conjunction with TypeScript and Create React App, Referee features an express backend that not only facilitates serving the app but also acts as a reverse proxy for Kayenta, alongside managing UI KPI tracking.
The decision to develop Referee stemmed from a detailed examination of Spinnaker and its ACA capabilities. Although referencing Deck, the team recognized that modifying the complete Spinnaker solution would impose excessive developer burden. Thus, opting for a separate project dedicated to Kayenta allows users to bypass complications and leverage the platform’s powerful features more directly, albeit while still in a beta phase with ongoing development.
Features
Canary Config Generation Tool: This feature allows application teams to customize metrics that are crucial for determining the health of canaries, closely resembling the user-friendly experience found in Deck.
Retrospective Analysis Tool: Accelerates the process of canary configuration by enabling teams to analyze historical data rapidly, minimizing wait times associated with complete canary runs.
Aggregated Standalone Canary Analysis Report Viewer: Provides users with the capability to view results generated from the aggregated canary analysis endpoint in Kayenta, streamlining the evaluation process.
Single Run Canary Analysis Report Viewer: Empowers users to access results generated from individual canary runs, enhancing their ability to make swift, informed decisions.
Supported Metrics Sources: Currently integrates with key metrics sources such as New Relic Insights, Prometheus, SignalFx, and Datadog, with flexibility for adding new integrations by implementing the MetricSourceIntegration interface.
Express Backend for Configuration: Features an express backend that simplifies communication with Kayenta, ensuring seamless operation and management of the user interface and backend processes.