{"push_id":3152600100,"size":1,"distinct_size":1,"ref":"refs/heads/sync","head":"837a8051c2c87d05fcf9c479578f04f3e70dacee","before":"848897aea48efa2292e9d61a4591b4ce2857e794","commits":[{"sha":"837a8051c2c87d05fcf9c479578f04f3e70dacee","author":{"name":"Abu Kashem","email":"0622d02466111bd060f63884908a853996e9b434@redhat.com"},"message":"[opsrc] Keep datastore in sync with registry update(s)\n\nKeep in-memory OperatorSource cache of datastore in sync with remote\nregistry update(s). Rebuild the local cache when any of the following\nhappens:\n- A new repository has been added to the given namespace in the\n  remote registry associated with the OperatorSource object.\n- An existing repository has been removed from the given namespace\n  in the remote registry associated with the OperatorSource object.\n- A new release has been pushed for an existing repository in the\n  remote registry associate with the OperatorSource object.\n\nImplement the following to accomplish the above goal:\n- Add a new function 'ListPackages' in appregistry that returns\n  latest metadata (with release information) for all repositories\n  under the given namespace.\n- Add 'Poller' that polls for changes to the underlying namespace\n  associated with each OperatorSource object that datastore is\n  aware of.\n- Compare local metadata with remote and determine if there is any\n  update. If an OperatorSource has update(s) available in remote\n  registry then trigger a rebuild of datastore cache for the\n  given OperatorSource object.\n- Implement a 'RegistrySyncer' loop that checks every N minute(s)\n  and kicks off the 'Polling' operation.\n- Kick off the 'RegistrySyncer.Sync' method in a dedicated\n  goroutine when the operator process starts.","distinct":true,"url":"https://api.github.com/repos/tkashem/operator-marketplace/commits/837a8051c2c87d05fcf9c479578f04f3e70dacee"}]}
{"actor":{"display_login":"tkashem"}}