)]}'
{"etc/proxy-server.conf-sample":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"295d366aa76ed2cfca96dcda5fd59da4ab5c41a7","unresolved":true,"context_lines":[{"line_number":397,"context_line":"#   user_\u003caccount\u003e_\u003cuser\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":398,"context_line":"# or if you want underscores in \u003caccount\u003e or \u003cuser\u003e, you can base64 encode them"},{"line_number":399,"context_line":"# (with no equal signs) and use this format:"},{"line_number":400,"context_line":"#   user64_\u003caccount_b64\u003e_\u003cuser_b64\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":401,"context_line":"# There are special groups of:"},{"line_number":402,"context_line":"#   .reseller_admin \u003d can do anything to any account for this auth"},{"line_number":403,"context_line":"#   .reseller_reader \u003d can GET/HEAD anything in any account for this auth"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"2719602e_49203238","line":400,"updated":"2022-06-21 18:42:48.000000000","message":"FWIW, you can also use this use64_... syntax, though I\u0027ll admit it\u0027s not as readable.","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":32333,"name":"Aymeric Ducroquetz","email":"aymeric.ducroquetz@gmail.com","username":"AymericDu"},"change_message_id":"7ac1f329f1d2f7c5fa2cc82eef3546f237c5387e","unresolved":false,"context_lines":[{"line_number":397,"context_line":"#   user_\u003caccount\u003e_\u003cuser\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":398,"context_line":"# or if you want underscores in \u003caccount\u003e or \u003cuser\u003e, you can base64 encode them"},{"line_number":399,"context_line":"# (with no equal signs) and use this format:"},{"line_number":400,"context_line":"#   user64_\u003caccount_b64\u003e_\u003cuser_b64\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":401,"context_line":"# There are special groups of:"},{"line_number":402,"context_line":"#   .reseller_admin \u003d can do anything to any account for this auth"},{"line_number":403,"context_line":"#   .reseller_reader \u003d can GET/HEAD anything in any account for this auth"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3052bbd9_7aab0c33","line":400,"in_reply_to":"2719602e_49203238","updated":"2022-06-22 11:49:55.000000000","message":"I hadn\u0027t read again the documentation and had forgotten about this possibility 🤦‍♂️","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b35761269c5fc4c655094132dd86efb595802558","unresolved":false,"context_lines":[{"line_number":397,"context_line":"#   user_\u003caccount\u003e_\u003cuser\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":398,"context_line":"# or if you want underscores in \u003caccount\u003e or \u003cuser\u003e, you can base64 encode them"},{"line_number":399,"context_line":"# (with no equal signs) and use this format:"},{"line_number":400,"context_line":"#   user64_\u003caccount_b64\u003e_\u003cuser_b64\u003e \u003d \u003ckey\u003e [group] [group] [...] [storage_url]"},{"line_number":401,"context_line":"# There are special groups of:"},{"line_number":402,"context_line":"#   .reseller_admin \u003d can do anything to any account for this auth"},{"line_number":403,"context_line":"#   .reseller_reader \u003d can GET/HEAD anything in any account for this auth"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"939cd0ec_4fb0f75f","line":400,"in_reply_to":"3052bbd9_7aab0c33","updated":"2022-06-22 18:06:39.000000000","message":"No worries, happens to the best of us 😄","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"295d366aa76ed2cfca96dcda5fd59da4ab5c41a7","unresolved":true,"context_lines":[{"line_number":416,"context_line":"user_test_tester3 \u003d testing3"},{"line_number":417,"context_line":"user_test2_tester2 \u003d testing2 .admin"},{"line_number":418,"context_line":"user_test5_tester5 \u003d testing5 service"},{"line_number":419,"context_line":"user_logger_.log_delivery \u003d LOG_DELIVERY"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"# To enable Keystone authentication you need to have the auth token"},{"line_number":422,"context_line":"# middleware first to be configured. Here is an example below, please"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"0bd48f1d_bdd2c4fe","line":419,"updated":"2022-06-21 18:42:48.000000000","message":"Do we really want the new user in the sample config? We\u0027ll pick it up for things like probe tests...","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":32333,"name":"Aymeric Ducroquetz","email":"aymeric.ducroquetz@gmail.com","username":"AymericDu"},"change_message_id":"7ac1f329f1d2f7c5fa2cc82eef3546f237c5387e","unresolved":false,"context_lines":[{"line_number":416,"context_line":"user_test_tester3 \u003d testing3"},{"line_number":417,"context_line":"user_test2_tester2 \u003d testing2 .admin"},{"line_number":418,"context_line":"user_test5_tester5 \u003d testing5 service"},{"line_number":419,"context_line":"user_logger_.log_delivery \u003d LOG_DELIVERY"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"# To enable Keystone authentication you need to have the auth token"},{"line_number":422,"context_line":"# middleware first to be configured. Here is an example below, please"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"094cd847_b48204ae","line":419,"in_reply_to":"0bd48f1d_bdd2c4fe","updated":"2022-06-22 11:49:55.000000000","message":"Ack","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"}],"swift/common/middleware/tempauth.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"295d366aa76ed2cfca96dcda5fd59da4ab5c41a7","unresolved":true,"context_lines":[{"line_number":236,"context_line":"        for conf_key in conf:"},{"line_number":237,"context_line":"            if conf_key.startswith((\u0027user_\u0027, \u0027user64_\u0027)):"},{"line_number":238,"context_line":"                try:"},{"line_number":239,"context_line":"                    account, username \u003d conf_key.split(\u0027_\u0027, 1)[1].split(\u0027_\u0027, 1)"},{"line_number":240,"context_line":"                except ValueError:"},{"line_number":241,"context_line":"                    raise ValueError(\"key %s was provided in an \""},{"line_number":242,"context_line":"                                     \"invalid format\" % conf_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0b879bfa_1d8e1eb9","line":239,"updated":"2022-06-21 18:42:48.000000000","message":"OK, so if we\u0027ve got a line like\n\n user_foo_bar_baz \u003d secret\n \nbefore we\u0027d throw up our hands over the ambiguity of whether (account, username) should be (foo, bar_baz) or (foo_bar, baz), but now we\u0027ll always resolve it as the first one. IDK that I\u0027m necessarily *opposed*, but I\u0027m also not sure that either is particularly more likely to be how an operator *expects* it to work -- which is probably why we were throwing the ValueError to begin with ...","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":32333,"name":"Aymeric Ducroquetz","email":"aymeric.ducroquetz@gmail.com","username":"AymericDu"},"change_message_id":"7ac1f329f1d2f7c5fa2cc82eef3546f237c5387e","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        for conf_key in conf:"},{"line_number":237,"context_line":"            if conf_key.startswith((\u0027user_\u0027, \u0027user64_\u0027)):"},{"line_number":238,"context_line":"                try:"},{"line_number":239,"context_line":"                    account, username \u003d conf_key.split(\u0027_\u0027, 1)[1].split(\u0027_\u0027, 1)"},{"line_number":240,"context_line":"                except ValueError:"},{"line_number":241,"context_line":"                    raise ValueError(\"key %s was provided in an \""},{"line_number":242,"context_line":"                                     \"invalid format\" % conf_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"af75093a_c0a6f57f","line":239,"in_reply_to":"0b879bfa_1d8e1eb9","updated":"2022-06-22 11:49:55.000000000","message":"Following your remarks, I don\u0027t think it is necessary to change the current behavior.\nBase64 solves the problem.\nThanks for the feedback 🙂","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b35761269c5fc4c655094132dd86efb595802558","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        for conf_key in conf:"},{"line_number":237,"context_line":"            if conf_key.startswith((\u0027user_\u0027, \u0027user64_\u0027)):"},{"line_number":238,"context_line":"                try:"},{"line_number":239,"context_line":"                    account, username \u003d conf_key.split(\u0027_\u0027, 1)[1].split(\u0027_\u0027, 1)"},{"line_number":240,"context_line":"                except ValueError:"},{"line_number":241,"context_line":"                    raise ValueError(\"key %s was provided in an \""},{"line_number":242,"context_line":"                                     \"invalid format\" % conf_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7413fe1_2e1f2864","line":239,"in_reply_to":"af75093a_c0a6f57f","updated":"2022-06-22 18:06:39.000000000","message":"Happy to help! The log delivery name makes me think of https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html -- are you working on a feature like that? Need any help with it? Pretty sure we\u0027ve got some users that would also be interested...","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"},{"author":{"_account_id":32333,"name":"Aymeric Ducroquetz","email":"aymeric.ducroquetz@gmail.com","username":"AymericDu"},"change_message_id":"47ac03f8dc100ec3670492d2be678535993df4fa","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        for conf_key in conf:"},{"line_number":237,"context_line":"            if conf_key.startswith((\u0027user_\u0027, \u0027user64_\u0027)):"},{"line_number":238,"context_line":"                try:"},{"line_number":239,"context_line":"                    account, username \u003d conf_key.split(\u0027_\u0027, 1)[1].split(\u0027_\u0027, 1)"},{"line_number":240,"context_line":"                except ValueError:"},{"line_number":241,"context_line":"                    raise ValueError(\"key %s was provided in an \""},{"line_number":242,"context_line":"                                     \"invalid format\" % conf_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df6663d2_f3b88eeb","line":239,"in_reply_to":"e7413fe1_2e1f2864","updated":"2022-06-23 08:37:16.000000000","message":"Yes, we are working on this feature: https://github.com/open-io/swift/tree/dev/aducroqu/s3api-server-access-logging\nCurrently I can\u0027t submit this feature here because there is a small OpenIO API dependency. The tool that pushes the logs to the destination bucket (log-deliverer) must fetch the owner of the source bucket without having any permissions on this bucket. So we use the OpenIO API to bypass authentication.","commit_id":"ef615dd26094b8eb23cf7c1ab1cc7fa8b0e134a5"}]}
