Topics to be covered: - ~~read feed urls from command line~~ - ~~read kafka url from command line~~ - ~~download feeds~~ - ~~create models for unmarshaling from xml and for marshaling to json~~ - validation of input fields (partial: only price covered) - ~~send items to kafka~~ - move logic to different functions - done - write tests - done - add handling of termination - done - add goroutines for feed processing - done - add goroutines for kafka population - done - add validation for other fields - add retry logic for feed download and push to kafka in case of network error - add logs for failed feed unmarshaling items and reasons - partially - add metrics endpoint for prometeus - done - convert cli to service with periodic run of provided urls - done - dockerise service - done - pass context everywhere