{"action":"created","issue":{"url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/43","repository_url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private","labels_url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/43/comments","events_url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/43/events","html_url":"https://github.com/s3-wagon-private/s3-wagon-private/pull/43","id":214283544,"number":43,"title":"Remove unnecessary calls to create S3 Bucket prefixes","user":{"login":"rymndhng","id":1694040,"avatar_url":"https://avatars0.githubusercontent.com/u/1694040?v=3","gravatar_id":"","url":"https://api.github.com/users/rymndhng","html_url":"https://github.com/rymndhng","followers_url":"https://api.github.com/users/rymndhng/followers","following_url":"https://api.github.com/users/rymndhng/following{/other_user}","gists_url":"https://api.github.com/users/rymndhng/gists{/gist_id}","starred_url":"https://api.github.com/users/rymndhng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rymndhng/subscriptions","organizations_url":"https://api.github.com/users/rymndhng/orgs","repos_url":"https://api.github.com/users/rymndhng/repos","events_url":"https://api.github.com/users/rymndhng/events{/privacy}","received_events_url":"https://api.github.com/users/rymndhng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-03-15T05:02:56Z","updated_at":"2017-03-15T05:08:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/pulls/43","html_url":"https://github.com/s3-wagon-private/s3-wagon-private/pull/43","diff_url":"https://github.com/s3-wagon-private/s3-wagon-private/pull/43.diff","patch_url":"https://github.com/s3-wagon-private/s3-wagon-private/pull/43.patch"},"body":"Fixes #42 . Allows users to lock down IAM Credentials for artifact uploads.\r\n\r\n<details>\r\n<summary>Example IAM Policy</summary>\r\n\r\n``` json\r\n  {\r\n    \"Version\": \"2012-10-17\",\r\n    \"Statement\": [\r\n        {\r\n            \"Effect\": \"Allow\",\r\n            \"Action\": [\r\n                \"s3:List*\",\r\n                \"s3:Get*\"\r\n            ],\r\n            \"Resource\": [\r\n                \"arn:aws:s3:::wagon*\"\r\n            ]\r\n        },\r\n        {\r\n            \"Effect\": \"Allow\",\r\n            \"Action\": [\r\n                \"s3:Put*\"\r\n            ],\r\n            \"Resource\": [\r\n                \"arn:aws:s3:::wagon/snapshots/s3-wagon-private/test-project/*\"\r\n            ]\r\n        }\r\n    ]\r\n}\r\n```\r\n\r\n</details>\r\n\r\n### Testing Notes:\r\n\r\n1. Create an empty bucket\r\n2. Call `lein deploy` with an empty repository\r\n3. Call `lein deploy` with a non-empty repository\r\n4. Assert artifacts exist in s3 bucket\r\n\r\n<details>\r\n<summary>Test Output</summary>\r\n\r\n```\r\n❯ AWS_PROFILE=noob aws s3 ls s3://wagon/snapshots\r\n\r\n~/projects/s3-wagon-private/test/sample-project x-remove-mkdirs*\r\n❯ AWS_PROFILE=noob lein deploy testing\r\nCreated /Users/rayh/projects/s3-wagon-private/test/sample-project/target/test-project-0.0.1-SNAPSHOT.jar\r\nWrote /Users/rayh/projects/s3-wagon-private/test/sample-project/pom.xml\r\nRetrieving s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml\r\n    from s3p://wagon/snapshots/\r\nCould not find metadata s3-wagon-private:test-project:0.0.1-SNAPSHOT/maven-metadata.xml in testing (s3p://wagon/snapshots)\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.jar\r\n    to s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.pom\r\n    to s3p://wagon/snapshots/\r\nRetrieving s3-wagon-private/test-project/maven-metadata.xml\r\n    from s3p://wagon/snapshots/\r\nCould not find metadata s3-wagon-private:test-project/maven-metadata.xml in testing (s3p://wagon/snapshots)\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml\r\n    to s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/maven-metadata.xml\r\n    to s3p://wagon/snapshots/\r\n\r\n~/projects/s3-wagon-private/test/sample-project x-remove-mkdirs* 14s\r\n❯ AWS_PROFILE=noob lein deploy testing\r\nCreated /Users/rayh/projects/s3-wagon-private/test/sample-project/target/test-project-0.0.1-SNAPSHOT.jar\r\nWrote /Users/rayh/projects/s3-wagon-private/test/sample-project/pom.xml\r\nRetrieving s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml\r\n    from s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.jar\r\n    to s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.pom\r\n    to s3p://wagon/snapshots/\r\nRetrieving s3-wagon-private/test-project/maven-metadata.xml\r\n    from s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml\r\n    to s3p://wagon/snapshots/\r\nSending s3-wagon-private/test-project/maven-metadata.xml\r\n    to s3p://wagon/snapshots/\r\n\r\n❯ AWS_PROFILE=noob aws s3 ls --recursive s3://wagon/snapshots/\r\n2017-03-14 21:55:18        778 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml\r\n2017-03-14 21:55:18         32 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml.md5\r\n2017-03-14 21:55:18         40 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/maven-metadata.xml.sha1\r\n2017-03-14 21:55:00       3241 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.jar\r\n2017-03-14 21:55:01         32 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.jar.md5\r\n2017-03-14 21:55:00         40 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.jar.sha1\r\n2017-03-14 21:55:01       2204 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.pom\r\n2017-03-14 21:55:01         32 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.pom.md5\r\n2017-03-14 21:55:01         40 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045459-1.pom.sha1\r\n2017-03-14 21:55:16       3241 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.jar\r\n2017-03-14 21:55:17         32 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.jar.md5\r\n2017-03-14 21:55:17         40 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.jar.sha1\r\n2017-03-14 21:55:17       2204 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.pom\r\n2017-03-14 21:55:17         32 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.pom.md5\r\n2017-03-14 21:55:17         40 snapshots/s3-wagon-private/test-project/0.0.1-SNAPSHOT/test-project-0.0.1-20170315.045515-2.pom.sha1\r\n2017-03-14 21:55:18        288 snapshots/s3-wagon-private/test-project/maven-metadata.xml\r\n2017-03-14 21:55:18         32 snapshots/s3-wagon-private/test-project/maven-metadata.xml.md5\r\n2017-03-14 21:55:18         40 snapshots/s3-wagon-private/test-project/maven-metadata.xml.sha1\r\n```\r\n\r\n</details>\r\n"},"comment":{"url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/comments/286642456","html_url":"https://github.com/s3-wagon-private/s3-wagon-private/pull/43#issuecomment-286642456","issue_url":"https://api.github.com/repos/s3-wagon-private/s3-wagon-private/issues/43","id":286642456,"user":{"login":"rymndhng","id":1694040,"avatar_url":"https://avatars0.githubusercontent.com/u/1694040?v=3","gravatar_id":"","url":"https://api.github.com/users/rymndhng","html_url":"https://github.com/rymndhng","followers_url":"https://api.github.com/users/rymndhng/followers","following_url":"https://api.github.com/users/rymndhng/following{/other_user}","gists_url":"https://api.github.com/users/rymndhng/gists{/gist_id}","starred_url":"https://api.github.com/users/rymndhng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rymndhng/subscriptions","organizations_url":"https://api.github.com/users/rymndhng/orgs","repos_url":"https://api.github.com/users/rymndhng/repos","events_url":"https://api.github.com/users/rymndhng/events{/privacy}","received_events_url":"https://api.github.com/users/rymndhng/received_events","type":"User","site_admin":false},"created_at":"2017-03-15T05:08:28Z","updated_at":"2017-03-15T05:08:28Z","body":"I've added the sample repo and the configuration I used to upload. I don't know what's best for choosing a bucket to use as part of testing. \r\n\r\nI could look into setting up a s3-compatible docker container and write a bash script to test this functionality."}}
{"actor":{"display_login":"rymndhng"}}