{"action":"created","issue":{"url":"https://api.github.com/repos/gomods/athens/issues/474","repository_url":"https://api.github.com/repos/gomods/athens","labels_url":"https://api.github.com/repos/gomods/athens/issues/474/labels{/name}","comments_url":"https://api.github.com/repos/gomods/athens/issues/474/comments","events_url":"https://api.github.com/repos/gomods/athens/issues/474/events","html_url":"https://github.com/gomods/athens/issues/474","id":350229904,"node_id":"MDU6SXNzdWUzNTAyMjk5MDQ=","number":474,"title":"Implementation details of redirect-to-olympus","user":{"login":"arschles","id":70865,"node_id":"MDQ6VXNlcjcwODY1","avatar_url":"https://avatars1.githubusercontent.com/u/70865?v=4","gravatar_id":"","url":"https://api.github.com/users/arschles","html_url":"https://github.com/arschles","followers_url":"https://api.github.com/users/arschles/followers","following_url":"https://api.github.com/users/arschles/following{/other_user}","gists_url":"https://api.github.com/users/arschles/gists{/gist_id}","starred_url":"https://api.github.com/users/arschles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arschles/subscriptions","organizations_url":"https://api.github.com/users/arschles/orgs","repos_url":"https://api.github.com/users/arschles/repos","events_url":"https://api.github.com/users/arschles/events{/privacy}","received_events_url":"https://api.github.com/users/arschles/received_events","type":"User","site_admin":false},"labels":[{"id":997957915,"node_id":"MDU6TGFiZWw5OTc5NTc5MTU=","url":"https://api.github.com/repos/gomods/athens/labels/proposal","name":"proposal","color":"c6516c","default":false}],"state":"open","locked":false,"assignee":{"login":"michalpristas","id":1522652,"node_id":"MDQ6VXNlcjE1MjI2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1522652?v=4","gravatar_id":"","url":"https://api.github.com/users/michalpristas","html_url":"https://github.com/michalpristas","followers_url":"https://api.github.com/users/michalpristas/followers","following_url":"https://api.github.com/users/michalpristas/following{/other_user}","gists_url":"https://api.github.com/users/michalpristas/gists{/gist_id}","starred_url":"https://api.github.com/users/michalpristas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michalpristas/subscriptions","organizations_url":"https://api.github.com/users/michalpristas/orgs","repos_url":"https://api.github.com/users/michalpristas/repos","events_url":"https://api.github.com/users/michalpristas/events{/privacy}","received_events_url":"https://api.github.com/users/michalpristas/received_events","type":"User","site_admin":false},"assignees":[{"login":"michalpristas","id":1522652,"node_id":"MDQ6VXNlcjE1MjI2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1522652?v=4","gravatar_id":"","url":"https://api.github.com/users/michalpristas","html_url":"https://github.com/michalpristas","followers_url":"https://api.github.com/users/michalpristas/followers","following_url":"https://api.github.com/users/michalpristas/following{/other_user}","gists_url":"https://api.github.com/users/michalpristas/gists{/gist_id}","starred_url":"https://api.github.com/users/michalpristas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michalpristas/subscriptions","organizations_url":"https://api.github.com/users/michalpristas/orgs","repos_url":"https://api.github.com/users/michalpristas/repos","events_url":"https://api.github.com/users/michalpristas/events{/privacy}","received_events_url":"https://api.github.com/users/michalpristas/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2018-08-13T23:33:03Z","updated_at":"2018-08-15T06:36:15Z","closed_at":null,"author_association":"COLLABORATOR","body":"This is a follow-up of https://github.com/gomods/athens/pull/456#discussion_r209773098\r\n\r\nThe basic question is what should we do when we want to redirect from the proxy to olympus"},"comment":{"url":"https://api.github.com/repos/gomods/athens/issues/comments/413107394","html_url":"https://github.com/gomods/athens/issues/474#issuecomment-413107394","issue_url":"https://api.github.com/repos/gomods/athens/issues/474","id":413107394,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMzEwNzM5NA==","user":{"login":"michalpristas","id":1522652,"node_id":"MDQ6VXNlcjE1MjI2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1522652?v=4","gravatar_id":"","url":"https://api.github.com/users/michalpristas","html_url":"https://github.com/michalpristas","followers_url":"https://api.github.com/users/michalpristas/followers","following_url":"https://api.github.com/users/michalpristas/following{/other_user}","gists_url":"https://api.github.com/users/michalpristas/gists{/gist_id}","starred_url":"https://api.github.com/users/michalpristas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michalpristas/subscriptions","organizations_url":"https://api.github.com/users/michalpristas/orgs","repos_url":"https://api.github.com/users/michalpristas/repos","events_url":"https://api.github.com/users/michalpristas/events{/privacy}","received_events_url":"https://api.github.com/users/michalpristas/received_events","type":"User","site_admin":false},"created_at":"2018-08-15T06:36:15Z","updated_at":"2018-08-15T06:36:15Z","author_association":"CONTRIBUTOR","body":"One thing I like sync solution is that Olympus server may be unreachable from your client (firewall or whatever) but proxy might be able to reach to Olympus (think of any weird rule and you will find at least one company implementing it). Then having this in sync would be safer, causing less frustration and that's what we want, happy users. \r\nIf perf is good we should go with it. \r\n\r\nBut we need to think about scalability. Having it async gives us the advantage of handling the load in a preconfigured manner. We don't get out of memory because we know we will handle 5 pulls at the time (example). With pull per request, it will be more challenging to scale it (and it will be fun), but we need to think about distributed locks (mentioned in a diff thread, zookeeper/consul something similar). I think with sync this will become a must.\r\n\r\nIf perf turns out not satisfying we need to consider async fill with a redirect. \r\nWe can also plan for V2 to have it switchable. It would be just the matter of injecting the right middleware. "}}
{"actor":{"display_login":"michalpristas"}}