{"push_id":621985206,"size":27,"distinct_size":26,"ref":"refs/heads/service_key","head":"1b43b090abf56ca51ad4c5da6f281d491f6febb4","before":"b5491b782dbb09f5970f8d3ba3d8c8cef36812da","commits":[{"sha":"dda418cdb64b13a30b17e4cc94a5066174f3e3d6","author":{"email":"6c5835622c7cc802c5cbe159a74efdf961eab2f5@cn.ibm.com","name":"xingzhou"},"message":"Add support for list service keys\n\n[#87057920]","distinct":false,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/dda418cdb64b13a30b17e4cc94a5066174f3e3d6"},{"sha":"1beee9f29733334af282cb90c363a56e28eed73f","author":{"email":"f3e731dfa293c7a83119d8aacfa41b5d2d780be9@jeffhui.net","name":"Jeff Hui"},"message":"Merge pull request #349 from xingzhou/list_service_keys\n\nAdd support for list service keys","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/1beee9f29733334af282cb90c363a56e28eed73f"},{"sha":"cf98ede8a4ef0ac562d524d43ff4438a500f7bb5","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Utako Ueda"},"message":"Extract creation of /v3/apps into an action object\n\n* Extracted membership checking into a Membership class\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/cf98ede8a4ef0ac562d524d43ff4438a500f7bb5"},{"sha":"c1110f497ef5e44eb4a2676bee5c8594f46423de","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"Use membership in v3 routes add\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/c1110f497ef5e44eb4a2676bee5c8594f46423de"},{"sha":"ef9df9f09d073a66c46bb2a0fde99b3573c8aad8","author":{"email":"84a275e6a279738f2aa78daf0002615dee69cc28@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"Refactor App fetcher objects to use The Membership\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/ef9df9f09d073a66c46bb2a0fde99b3573c8aad8"},{"sha":"fd3e5f786814b5aba6847531947b1094e4aea2c0","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"Refactor app_routes to use The Membership\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/fd3e5f786814b5aba6847531947b1094e4aea2c0"},{"sha":"c2f86ada2ce548c2d944ac63c17bf2ffe5b226ea","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"Refactor droplets to use The Membership\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/c2f86ada2ce548c2d944ac63c17bf2ffe5b226ea"},{"sha":"67f0108f4275bf0cf55850f190becdc6e0bc3352","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"V3 package deletion uses the Membership\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/67f0108f4275bf0cf55850f190becdc6e0bc3352"},{"sha":"23ed8cea4f3a38abee45a703af65b461d559d1aa","author":{"email":"84a275e6a279738f2aa78daf0002615dee69cc28@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"V3 process deletion uses the Membership\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/23ed8cea4f3a38abee45a703af65b461d559d1aa"},{"sha":"dbdb6e62c237b75000d19b8804a90416a700eba9","author":{"email":"84a275e6a279738f2aa78daf0002615dee69cc28@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"Cleanup fetchers to use simpler sequel chains\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/dbdb6e62c237b75000d19b8804a90416a700eba9"},{"sha":"8556c26dcd4066e2a32728afa970634310641ff9","author":{"email":"509a85c757dc22c0257f4655fb3fb682d42f965b@pivotal.io","name":"Luan Santos and Zak Auerbach"},"message":"V3 Apps creates audit events (audit.app.create)\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/8556c26dcd4066e2a32728afa970634310641ff9"},{"sha":"8762bbb22f9d531e09077a84f46b2ee25279e583","author":{"email":"c8d16735aef2518e18e5243f60d57b29b56e765b@pivotal.io","name":"David Sabeti and Greg Cobb"},"message":"Remove unused before block","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/8762bbb22f9d531e09077a84f46b2ee25279e583"},{"sha":"02092dfca9bc19dae6268521440633ee20d37507","author":{"email":"fe18d20073e6f1e026a80230721afba88bfd797a@pivotal.io","name":"David Sabeti and Greg Cobb"},"message":"Centralize service instance delete logic in ServiceInstanceDelete\n\n- Splitting the locking logic between the service instance controller/\nServiceInstanceDeprovisioner and the delete action made it difficult to\nunderstand what was managing the locks for a given case, especially\nsince the unlock would sometimes occur in a background job.\n- The delete action should be a single source of truth on how to delete\na service instance. This will make it easier to implement features like\nrecursive delete that do not go through the deprovisioner.\n- The behavior around when an 'async=true' job is locked has changed.\nThe DeleterLock is meant to represent a broker operation in progress for\nthat service instance. Previously the instance locked when the delete\njob was enqueued, however this resulted in more complicated logic that\ndid not reflect the broker's actual state. Now the service instance is\nlocked only when the job is executed\n\n- ServiceInstanceDelete needs the `ensure` since it might be wrapped\nin a timeout job that could kill it at any time. This prevents\ntimed out operations from getting stuck 'in progress'\n- Move from service_instance.delete -> service_instance.destroy.\nThere are no more destroy hooks, so it is safe to unify on a single\ndeletion method.\n- Adjust NullClient deprovision to have a successful last\noperation. This was driven out by service purge and reduces the\nnumber of null checks in service instance delete.\n\n[#90815812]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/02092dfca9bc19dae6268521440633ee20d37507"},{"sha":"0f919cecf3bf829dd7b1dc3d264a5cefa2e8db0f","author":{"email":"5ca8f6c726ce2120d02818e3c4896f90201eef24@us.ibm.com","name":"Dan Lavine and Utako Ueda"},"message":"Add /v2/organizations/:guid/user_roles\n\n- endpoint requires you to be a member of the organization\n\n[#88712782]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/0f919cecf3bf829dd7b1dc3d264a5cefa2e8db0f"},{"sha":"68b36395caedd3de8984a95c188fd989b4c87bd4","author":{"email":"5ca8f6c726ce2120d02818e3c4896f90201eef24@us.ibm.com","name":"Dan Lavine and Utako Ueda"},"message":"Mark v3 fields as experimental\n\n[#91322986]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/68b36395caedd3de8984a95c188fd989b4c87bd4"},{"sha":"04572d1706d48e2e4be21dac7480bc77c0ea3d2b","author":{"email":"c8d16735aef2518e18e5243f60d57b29b56e765b@pivotal.io","name":"David Sabeti and Jeffrey Pak"},"message":"Pass arbitrary params with update request\n\n[finishes #88670894]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/04572d1706d48e2e4be21dac7480bc77c0ea3d2b"},{"sha":"a61a30164af0bd71e8ee5dd6560dd3a99d16c4a8","author":{"email":"c8d16735aef2518e18e5243f60d57b29b56e765b@pivotal.io","name":"David Sabeti and Jeffrey Pak"},"message":"Prevent recursive deletion of bindings without recursive flag","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/a61a30164af0bd71e8ee5dd6560dd3a99d16c4a8"},{"sha":"67840dd5070615bc95d1bd7ca90496bbd61338f5","author":{"email":"fe18d20073e6f1e026a80230721afba88bfd797a@pivotal.io","name":"Greg Cobb"},"message":"Clean up ServiceInstanceDeprovisioner\n\n[#90815812]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/67840dd5070615bc95d1bd7ca90496bbd61338f5"},{"sha":"c135db689725da3db7cd1d40fbfdebbb7c821755","author":{"email":"cb16bf7df25dbf84b90c1f94696c8a91f946dc1d@pivotal.io","name":"Mark DeLillo and Zak Auerbach"},"message":"v3/apps update now creates an Audit Event on success\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/c135db689725da3db7cd1d40fbfdebbb7c821755"},{"sha":"0f7bc1f7c5d56eaad662ddce88fe69acaeb4d4d3","author":{"email":"cb16bf7df25dbf84b90c1f94696c8a91f946dc1d@pivotal.io","name":"Mark DeLillo and Zak Auerbach"},"message":"App start now generates an audit event\n\n[#82631320]","distinct":true,"url":"https://api.github.com/repos/xingzhou/cloud_controller_ng/commits/0f7bc1f7c5d56eaad662ddce88fe69acaeb4d4d3"}]}