Closed andrewvc closed 2 years ago
Had some conversations with Andrew regarding the approach listed here vs https://github.com/elastic/beats/issues/29709, Even though the manifest proposal explained here is a bit complex than the other one, it does have better control over the journeys/monitors that are created via suites. It solves both the personas listed above and allows more fine tuning on the journey level.
zip_url
and filtered for specific journey. So a single suite monitor(10 journeys) created via UI, would end up creating 10 monitors with filtered journey names extracted from the manifest. We need to cache the extracted zip files for the service to work smoothly, otherwise we would end up downloading them for every monitors that are created from the suites.Closing in favor of https://github.com/elastic/synthetics/issues/470
Suites, today, operate in a stateless manner, and have a number of UX shortcomings especially when it comes to error reporting (see https://github.com/elastic/beats/issues/27924). This issue is the longer term fix for https://github.com/elastic/uptime/issues/425.
The proposed fix here (originally @drewpost 's recommendation) is to use suites to control the monitor management objects in Uptime.
Implementation issues
Goals
The goal here is reduce the impedance mismatch between suites and inline monitors while still enabling a git-ops based workflow.
Personas
User Stories
This is a partial list of stories covered by this change
Implementation
At a logical level we will need to decouple suite journey discovery from execution, leading to the following flow:
--dry-run
In terms of code, consider the following straw-man approach:
manifest
document to ES describing which journeys were discovered in the zipmanifest
documents and uses them to update central monitor managementThis would look something like:
The desirable properties of this approach are that:
Needs design etc. CC @liciavale