Agentk: Track agentk applier errors and send them to Rails
Issue: gitlab-org/gitlab#397001 (closed)
What does this MR do
Summary
- Before this MR, the remote dev module was limited in its ability to report errors to Rails. It was listening for events of the applier through a goroutine and merely logging them
- With this MR, an
errorTracker
has been added to watch for errors received in this events channel returned by the kubernetes client and report them to rails in the subsequent reconciliation cycle. - This reporting will allow Rails to detect issues when applying k8s resources and correctly report the workspace state as
Error
- There are more nuances to the error tracker in how it needs versioning as errors are received asynchronously. The linked technical design can be referred for details on this topic.
- Note: As with other in-memory data, the tracker is dropped and re-created during each full-sync. Details are shared in the technical design on how this should not be an issue.
References
- Background issue: gitlab-org/gitlab#397001 (closed)
- Technical design: gitlab-org/gitlab#416989 (closed)
Edited by Hunar Khanna