* Alerting: Introduce a Mimir client as part of the Remote Alertmanager
This is our first attempt at making Grafana communicate use Mimir as a backend - it uses a new set of APIs that we've developed on the Mimir side to upload the grafana configuration and alertmanager state so that it can then be ported over.
Codewise, we've introduced a couple of things:
A client to isolate in its own package all the communication that happens with Mimir
A few changes to the remote/alertmanager to include uploading the configuration and state when it starts
A few refactors that align a bit better with the design approach that we're thinking
An integration tests again these newly developed APIs using a custom image
---------
Signed-off-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
* update to yarn 4
* update project to yarn 4
* update tetherdrop archive
* update sdks
* change puppeteer image to official node 20 one
* revert previous, use grafana/docker-puppeteer:pre-node-20 instead
* okay, try original docker image, but use npx instead of yarn for wait-on
* remove wait-on from deps as we use it via npx now
* yarn dedupe
* remove logs from drone
* empty commit testing yarn cache :)
* comment explaining why no -y
* Use latest grafana/docs-base image
The pinned tag does not support recent shortcodes like `docs/public-preview`.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Always pull the image
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Alerting: Use Mimir image to run integration tests for the remote Alertmanager
* skip integration test when running all tests
* skipping integration test when no Alertmanager URL is provided
* fix bad host for mimir_backend
* remove basic auth testing until we have an nginx image in our CI
* test mimir image drone
* add mimir service to services.star
* change name for mimir step
* change remote alertmanager step names, add commands for integration tests
* add tag to mimir image
This is necessary to allow version inference in CI builds.
Shortcodes like `docs/reference` and `docs/shared` use version inference to avoid the writer having to hardcode specific versions or use relative paths within the documentation set.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* use grafana/public instead
* parameterise script (still need to fix + run drone locally)
* make drone
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Chore: Turn validate-modfile failure into blocking drone step
* test to see if removal of dependency owner causes validate-modfile to fail and block pipeline
* revert change
* Add i18n verification step
* Add check for extracted translations
* Run extract
* Add newline for pseudo
* Format JSON output with prettier
* Print file diff
* Actually run make drone
* Only deo git diff on locales
* Update error message
* Verify that step fails on dynamic phrases
* Verify that it passes when fixed
* Verify that dynamic phrase fails, for real this time
* Extract error messages
* Change echo
* Fix string format
* Try double escaping
* Escape for Drone substitution
* Update character escape
* Remove dynamic phrase
* Verify multiple keys
* Remove double keys
* Readd en locale because of reasons
* Undo changes
* Format lint_frontend.star
* Update error message
* Update .drone.yml
* Add quotes for echo
* Verify fail to extract
* Fix diff stat command
* Reset footer changes
* chore: test drone step
* revert changes to lint_backend_step()
* try to add validate_modifle_step
* try to run check func
* remove CGO and wire-install
* update filepath to scripts/modowners
* make drone again
* correct the filepath
* try to ignore validate-modfile step if fail
* chore: remove log that says i am a programmer
* fix: spell modfile correctly
* chore: remove unecessary comment
* fix: check go.mod instead of go.txd