Currently, we have an actorQuerier rungroup wrapper around both the extension and the runner, which act as a semi-conjoined single rungroup. They don't need to be coupled like this: the extension doesn't need the runner (since we officially disabled the initial runner), and the runner doesn't need the extension (it just needs a couple opts passed in to register the extension correctly when creating the osquery instance). My hope is that decoupling them will make it easier for us to handle the "unenrolled" state and give us better flexibility for how we want to do that. I also think it'll make rewriting our rungroups easier in the future, too.
This PR makes the following changes:
Makes the runner and the extension both adhere to the rungroup actor interface
Decouples the runner and the extension
Removes support for osquery transport method (we don't really use it and haven't for a while)
Removes unused initial runner
Gives the runner access to the knapsack
Gives the runner access to its own slogger instead of having to reach into the instance to use its logger
Testing notes
- [x] launcher can start up osquery successfully
- [x] launcher will restart osquery if the process is manually killed
- [x] can query `kolide_` tables provided by the extension
- [x] enrollment works
- [x] logs show up with component `osquery_runner` and `osquery_extension` as expected
Relates to https://github.com/kolide/launcher/issues/1473
Currently, we have an
actorQuerier
rungroup wrapper around both the extension and the runner, which act as a semi-conjoined single rungroup. They don't need to be coupled like this: the extension doesn't need the runner (since we officially disabled the initial runner), and the runner doesn't need the extension (it just needs a couple opts passed in to register the extension correctly when creating the osquery instance). My hope is that decoupling them will make it easier for us to handle the "unenrolled" state and give us better flexibility for how we want to do that. I also think it'll make rewriting our rungroups easier in the future, too.This PR makes the following changes:
osquery
transport method (we don't really use it and haven't for a while)Testing notes
- [x] launcher can start up osquery successfully - [x] launcher will restart osquery if the process is manually killed - [x] can query `kolide_` tables provided by the extension - [x] enrollment works - [x] logs show up with component `osquery_runner` and `osquery_extension` as expected