{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":65400511,"defaultBranch":"main","name":"vault-clj","ownerLogin":"amperity","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-08-10T16:56:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16583638?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1697211333.0","currentOid":""},"activityList":{"items":[{"before":"1a782a1c33a526fbfaea04a9cb4db0281182ec45","after":"c899c16c9c6f71cf2332404f0da8cd2ee30ca739","ref":"refs/heads/main","pushedAt":"2023-10-13T15:35:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Release version 2.2.586","shortMessageHtmlLink":"Release version 2.2.586"}},{"before":"3b8cb8f6489affb2c58ec59a1078ca709a4d157b","after":null,"ref":"refs/heads/veil-secrets","pushedAt":"2023-10-12T23:15:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}},{"before":"fa46018c5c1d94bf1581ab73562e22824c70e154","after":"1a782a1c33a526fbfaea04a9cb4db0281182ec45","ref":"refs/heads/main","pushedAt":"2023-10-12T23:15:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Veil secrets (#105)\n\nDespite the HTTP client defining a custom `Object#toString()` and\r\n`print-method`, there are cases where the internal state can still be\r\nexposed in logs and other print output. This specifically happens when\r\nthe client is fed into a pretty-printer (such as\r\n[clj-commons/pretty](https://github.com/clj-commons/pretty)) which wind\r\nup traversing the client's attributes as a record type. This is\r\nundesirable, because the `auth` and `leases` fields contain secret\r\ninformation which should remain private.\r\n\r\nTo address this, we can define a new `Veil` type which hides the data in\r\nan internal field. There's a bunch of refactoring to go with this,\r\nmostly adjusting callsites to unveil the data before using it. To\r\nsimplify this, and provide a more consistent interface, several\r\nfunctions in the `vault.auth` and `vault.lease` namespaces have shifted\r\nto accept clients directly instead of operating on the \"store\" atom.","shortMessageHtmlLink":"Veil secrets (#105)"}},{"before":"f3a3dae166e3a8bbafa14454ff04edcee0842ab9","after":"3b8cb8f6489affb2c58ec59a1078ca709a4d157b","ref":"refs/heads/veil-secrets","pushedAt":"2023-10-12T20:31:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Fix style.","shortMessageHtmlLink":"Fix style."}},{"before":null,"after":"f3a3dae166e3a8bbafa14454ff04edcee0842ab9","ref":"refs/heads/veil-secrets","pushedAt":"2023-10-12T20:30:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Update CHANGELOG.","shortMessageHtmlLink":"Update CHANGELOG."}},{"before":"1e4f2b75d25c9d8090f62d8e96d16d95439ac0c7","after":"fa46018c5c1d94bf1581ab73562e22824c70e154","ref":"refs/heads/main","pushedAt":"2023-09-25T18:06:48.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Release version 2.1.583","shortMessageHtmlLink":"Release version 2.1.583"}},{"before":"82ead8ae08c70d71660142a5aa8163f4404a4b2d","after":"1e4f2b75d25c9d8090f62d8e96d16d95439ac0c7","ref":"refs/heads/main","pushedAt":"2023-09-21T19:21:57.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Fix rotatable credential recurrent call.","shortMessageHtmlLink":"Fix rotatable credential recurrent call."}},{"before":"8968566d7a0cbd409dfbb7d9cb7f8653e1f90ef5","after":null,"ref":"refs/heads/control-flow-explicit-info","pushedAt":"2023-09-19T20:29:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}},{"before":"b8ce7a0bec3f0b28206a152f9695900b86168988","after":"82ead8ae08c70d71660142a5aa8163f4404a4b2d","ref":"refs/heads/main","pushedAt":"2023-09-19T20:29:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Pass observability information explicitly to control-flow handler (#104)\n\nFurther developments from pursuing deeper integration in the Amperity\r\napp. The \"response info\" which pulls observability data such as the HTTP\r\nstatus code, headers, request id, and so on is attached to the returned\r\nvalues as metadata, or to exceptions in the `ex-data` map. The control\r\nflow handler is expected to pull it from these sources to record to the\r\ntracing system.\r\n\r\nHowever, there's one spot where this falls through, because in the event\r\nof a non-success response, the `handle-failure` function is called on\r\nthe exception _before_ it is passed to the control flow, and is allowed\r\nto replace it with a value. One use for this is implementing a\r\n`:not-found` option, such as in `kv2/read-secret`. An extremely common\r\npattern for this is to tolerate missing secrets by passing `:not-found\r\nnil`, then checking for presence of the result. However, `nil` can't\r\ncarry metadata! So in this case, the control flow handler would be\r\nmissing all of the response information.\r\n\r\nInstead, just have the client pass the response info directly to the\r\n`on-success!` and `on-error!` protocol methods, similar to `call`. It's\r\nstill attached as metadata and exception data, but now the flow handler\r\nis not reliant on those channels.","shortMessageHtmlLink":"Pass observability information explicitly to control-flow handler (#104)"}},{"before":"42f30e46a7c4e8bac7882659a6bc209c1bbf95d8","after":"8968566d7a0cbd409dfbb7d9cb7f8653e1f90ef5","ref":"refs/heads/control-flow-explicit-info","pushedAt":"2023-09-19T18:46:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Pass observability information explicitly to control-flow handler.","shortMessageHtmlLink":"Pass observability information explicitly to control-flow handler."}},{"before":"57fb9c752c411d241412806b90f63e118253b847","after":"42f30e46a7c4e8bac7882659a6bc209c1bbf95d8","ref":"refs/heads/control-flow-explicit-info","pushedAt":"2023-09-19T18:30:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Pass observability information explicitly to control-flow handler.","shortMessageHtmlLink":"Pass observability information explicitly to control-flow handler."}},{"before":null,"after":"57fb9c752c411d241412806b90f63e118253b847","ref":"refs/heads/control-flow-explicit-info","pushedAt":"2023-09-19T17:57:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Pass observability information explicitly to control-flow handler.","shortMessageHtmlLink":"Pass observability information explicitly to control-flow handler."}},{"before":"6e4d9d24ff774efd97505a5049328dcec86231a7","after":null,"ref":"refs/heads/transit-engine-polish","pushedAt":"2023-09-18T18:56:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}},{"before":"8f441a0472aefb2937ce1752ef9796d0d39f44e2","after":"b8ce7a0bec3f0b28206a152f9695900b86168988","ref":"refs/heads/main","pushedAt":"2023-09-18T18:55:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Transit engine polish (#103)\n\nThis PR focuses on the [Transit secrets\r\nengine](https://developer.hashicorp.com/vault/api-docs/secret/transit)\r\nimplementation. There are a few bug fixes (several methods did not\r\nproperly coerce their responses) and two significant behavioral changes.\r\n\r\nFirst, all inputs that need to be sent as a base64 string are\r\nautomatically encoded by the client, rather than requiring the caller to\r\ndo so. Similarly, when decrypting data the result is automatically\r\ndecoded from base64 into a byte array, or the caller can now also opt\r\ninto string-coercion.\r\n\r\nSecond, the encryption and decryption batch modes are directly invoked\r\nby providing a collection of data rather than a single item, which is\r\nmuch more natural than passing a `nil` for the data and then specifying\r\na separate `:batch-input` option. The docstrings have been updated to\r\nclarify the two calling styles.\r\n\r\nFinally, I added integration tests covering all of the implemented\r\nmethods.","shortMessageHtmlLink":"Transit engine polish (#103)"}},{"before":"7aea7ed867932cd8f79a7ca3cb59aa70900398c8","after":"6e4d9d24ff774efd97505a5049328dcec86231a7","ref":"refs/heads/transit-engine-polish","pushedAt":"2023-09-16T23:08:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"CI updates.","shortMessageHtmlLink":"CI updates."}},{"before":null,"after":"7aea7ed867932cd8f79a7ca3cb59aa70900398c8","ref":"refs/heads/transit-engine-polish","pushedAt":"2023-09-16T23:03:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Remove unused sha-256 utility.","shortMessageHtmlLink":"Remove unused sha-256 utility."}},{"before":"552005e1bb82cb8c5813ac81ec2f1cafe14f3674","after":"8f441a0472aefb2937ce1752ef9796d0d39f44e2","ref":"refs/heads/main","pushedAt":"2023-09-15T06:00:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Update dependency versions.","shortMessageHtmlLink":"Update dependency versions."}},{"before":"6a656c914dea6a032f5df5cda721df1188fedada","after":null,"ref":"refs/heads/client-meta-info-threading","pushedAt":"2023-09-13T23:07:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}},{"before":"99ac9aa2b566f3a865dbbb350ab240c912649d69","after":"552005e1bb82cb8c5813ac81ec2f1cafe14f3674","ref":"refs/heads/main","pushedAt":"2023-09-13T23:06:59.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Merge pull request #102 from amperity/client-meta-info-threading\n\nClient observability info threading","shortMessageHtmlLink":"Merge pull request #102 from amperity/client-meta-info-threading"}},{"before":"40550ec6077b6d10fe62005168342705f4d171bd","after":"6a656c914dea6a032f5df5cda721df1188fedada","ref":"refs/heads/client-meta-info-threading","pushedAt":"2023-09-13T21:28:06.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Merge branch 'main' into client-meta-info-threading","shortMessageHtmlLink":"Merge branch 'main' into client-meta-info-threading"}},{"before":"300f2005544ed13b559f7323ae445977790ff556","after":null,"ref":"refs/heads/remove-5xx-retries","pushedAt":"2023-09-13T21:25:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}},{"before":"bfde1b37ea8bc5382b23cc8faf4f2f48a8987261","after":"99ac9aa2b566f3a865dbbb350ab240c912649d69","ref":"refs/heads/main","pushedAt":"2023-09-13T21:25:08.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Merge pull request #101 from amperity/remove-5xx-retries\n\nRemove automatic 5xx retries in the HTTP client","shortMessageHtmlLink":"Merge pull request #101 from amperity/remove-5xx-retries"}},{"before":null,"after":"40550ec6077b6d10fe62005168342705f4d171bd","ref":"refs/heads/client-meta-info-threading","pushedAt":"2023-09-13T19:48:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Update CHANGELOG.","shortMessageHtmlLink":"Update CHANGELOG."}},{"before":null,"after":"300f2005544ed13b559f7323ae445977790ff556","ref":"refs/heads/remove-5xx-retries","pushedAt":"2023-09-13T18:17:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Remove automatic 5xx retries in the HTTP client.","shortMessageHtmlLink":"Remove automatic 5xx retries in the HTTP client."}},{"before":"8ed7d768d9c2d7d56bc6e0f782259989dbe8867e","after":"bfde1b37ea8bc5382b23cc8faf4f2f48a8987261","ref":"refs/heads/main","pushedAt":"2023-09-12T16:06:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Add two more notes to the upgrading doc.","shortMessageHtmlLink":"Add two more notes to the upgrading doc."}},{"before":"a99f16ee52551370b98acf16d18e187d44afcde8","after":"8ed7d768d9c2d7d56bc6e0f782259989dbe8867e","ref":"refs/heads/main","pushedAt":"2023-09-08T20:50:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Release version 2.0.560","shortMessageHtmlLink":"Release version 2.0.560"}},{"before":"16a41d77e8701439cef974227db27e3aa33167b8","after":"a99f16ee52551370b98acf16d18e187d44afcde8","ref":"refs/heads/main","pushedAt":"2023-09-08T20:26:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Release version 2.0.559-rc1","shortMessageHtmlLink":"Release version 2.0.559-rc1"}},{"before":"cac189347b4017b91d96e722957216326f97665d","after":"16a41d77e8701439cef974227db27e3aa33167b8","ref":"refs/heads/main","pushedAt":"2023-09-08T19:21:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Update README badges.","shortMessageHtmlLink":"Update README badges."}},{"before":"43ea213822440766df6b1fae4aa1282ab9d65f7e","after":"cac189347b4017b91d96e722957216326f97665d","ref":"refs/heads/main","pushedAt":"2023-09-08T18:47:16.000Z","pushType":"push","commitsCount":175,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"},"commit":{"message":"Update CHANGELOG.","shortMessageHtmlLink":"Update CHANGELOG."}},{"before":"43ea213822440766df6b1fae4aa1282ab9d65f7e","after":null,"ref":"refs/heads/master","pushedAt":"2023-09-08T01:57:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"greglook","name":"Greg Look","path":"/greglook","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3128434?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADlojbWQA","startCursor":null,"endCursor":null}},"title":"Activity ยท amperity/vault-clj"}