{"push_id":3090037970,"size":26,"distinct_size":26,"ref":"refs/heads/feature/admin-cache-purge","head":"21392d65a546281eeb451a4b55611a22e9472ff1","before":"86a060468a418abd367c2185a7d3608809131074","commits":[{"sha":"c818455a23d06dbc7e7713c33f7ef59eb08f130b","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: remove defer statements","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/c818455a23d06dbc7e7713c33f7ef59eb08f130b"},{"sha":"fceb207ea25b9c3d680e97957d8ddc58805f9241","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"rais-server: pull admin handler into its own file","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/fceb207ea25b9c3d680e97957d8ddc58805f9241"},{"sha":"318cbc6302492e97ab1f0b155b939e1d5fb66647","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: put s3 key logic into a type","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/318cbc6302492e97ab1f0b155b939e1d5fb66647"},{"sha":"c02871590c58a83c8fc501464370bd3a5f7413fa","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"rais-server: add cache length stat","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/c02871590c58a83c8fc501464370bd3a5f7413fa"},{"sha":"e243423e5f60f9578466e33898e17bdcf75eb5bc","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: persist asset data\n\nEnsures that once an asset has been loaded by any request, the\ninformation will be shared to any other requests","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/e243423e5f60f9578466e33898e17bdcf75eb5bc"},{"sha":"324ebb50be56f9a13428ea4322385fc7b45b4f10","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"rais-server: add admin endpoints for cache purging","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/324ebb50be56f9a13428ea4322385fc7b45b4f10"},{"sha":"ffe76001730086402bb0df863d64bbaf377cafa9","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: store file-lock status on asset\n\nSets up a system that ensure the asset is never able to be tested for a\nlock and then something else locks it.  The lock is tested and received\nin one non-blocking call.","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/ffe76001730086402bb0df863d64bbaf377cafa9"},{"sha":"df55bb4af1d47948d2882624294f98821e632024","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"s3demo: only handle / in main s3demo server","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/df55bb4af1d47948d2882624294f98821e632024"},{"sha":"b8c28f6e542fcc6c35b9f79b39dd016f2d0b3d39","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: add asset unit test","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/b8c28f6e542fcc6c35b9f79b39dd016f2d0b3d39"},{"sha":"f0dee4febbb543b2dcc1905f72d57679d3c41b00","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"rais-server: put cache logic into its own file","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/f0dee4febbb543b2dcc1905f72d57679d3c41b00"},{"sha":"c81df666a9bbba64e523ec6dc48b5ddd1ddb599e","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: move s3 download fn into asset","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/c81df666a9bbba64e523ec6dc48b5ddd1ddb599e"},{"sha":"b66d0978105eb8b99011202f79e8f051597414bd","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"rais-server: add cache expiration plugin functions","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/b66d0978105eb8b99011202f79e8f051597414bd"},{"sha":"259fc3e950c5ac080f245a83ab568bdb975cbb89","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: make FLock test more intense\n\n100 goroutines spin up, each trying to grab a lock, and we verify that\nonly one succeeds.  Also unlocks at the end of the test to avoid\ndeadlocks when other tests happen.","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/259fc3e950c5ac080f245a83ab568bdb975cbb89"},{"sha":"1a156c1a3972842958801b9693ca92458ee5349f","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: add concurrent IDToPath testing","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/1a156c1a3972842958801b9693ca92458ee5349f"},{"sha":"3bc406558067cb18ae1819e977b86bce4005813a","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: drop sync/atomic\n\nThis was never needed, was it?  Dang.","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/3bc406558067cb18ae1819e977b86bce4005813a"},{"sha":"ba1c8143b7ee5740fca595af1af80f795f261948","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: move purge logic inside asset","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/ba1c8143b7ee5740fca595af1af80f795f261948"},{"sha":"e6ccc9af36ce66a9912025662ed19642f14056f5","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: don't lock down downloads\n\nMaking s3 cache dirs with mode 0700 makes it very difficult to see what\nRAIS has done, copy a desired file elsewhere, or purge the cache\nmanually while RAIS is down.  If stricter permissions are required, that\ncan be done with ACLs or even just 0700 on the s3 cache parent.","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/e6ccc9af36ce66a9912025662ed19642f14056f5"},{"sha":"8068f78537d4573b475f6c9c0fa651973bf7354e","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: improve error handling\n\n- Handles errors when the download path can't be created\n- Avoids leaving open file handles on errors\n- Only creates the temp file after obvious errors are checked","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/8068f78537d4573b475f6c9c0fa651973bf7354e"},{"sha":"eb01b8de4eebde9f61588e95a134761f221d843a","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: wrap entire purge in asset-lock\n\nThis adds a bit more safety in the rare case that an asset might be\npurged, then, before the assetMutex lock is acquired, the asset gets\nused again.","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/eb01b8de4eebde9f61588e95a134761f221d843a"},{"sha":"83816641abf3b79375633f6643ecaad32680919c","author":{"name":"Jeremy Echols","email":"21d3ae38af0562ca8a97a1521d2d657a7930c62a@uoregon.edu"},"message":"plugins/s3-images: handle cache-purging\n\nAdds functions to handle plugin cache-purging calls","distinct":true,"url":"https://api.github.com/repos/uoregon-libraries/rais-image-server/commits/83816641abf3b79375633f6643ecaad32680919c"}]}
{"actor":{"display_login":"jechols"}}