{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":360871351,"defaultBranch":"main","name":"ostree-rs-ext","ownerLogin":"cgwalters","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-04-23T12:08:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/244096?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1722619587.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"9930e35edde07dd45955c410e1531af5bae5eb48","ref":"refs/heads/bump-ocidir","pushedAt":"2024-08-02T17:26:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Update to ocidir 0.2\n\nNo major changes, just API cleanups.","shortMessageHtmlLink":"Update to ocidir 0.2"}},{"before":"0c5c8c58b89ae8420d4e8bd5bf3230f808a9de7b","after":"9482b1536cff71756e13bf2f36106c8e0770c948","ref":"refs/heads/release","pushedAt":"2024-07-16T18:36:31.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Release 0.14.4\n\nTo get the authfile bits out","shortMessageHtmlLink":"Release 0.14.4"}},{"before":"7cba1a9095b232bdcd6bbbd1c53d05ece30bc931","after":"7747f3a9b5b637394efec5e7349410b4be23221c","ref":"refs/heads/config-filesystem","pushedAt":"2024-07-16T14:34:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"config: Fix absolute symlinks\n\nUse the API from https://github.com/coreos/cap-std-ext/pull/54\nto fix absolute symlinks for `/etc/ostree/auth.json`.\n\ncc https://github.com/containers/bootc/issues/679\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"config: Fix absolute symlinks"}},{"before":null,"after":"7cba1a9095b232bdcd6bbbd1c53d05ece30bc931","ref":"refs/heads/config-filesystem","pushedAt":"2024-07-15T14:54:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"config: Fix absolute symlinks\n\nUse the API from https://github.com/coreos/cap-std-ext/pull/54\nto fix absolute symlinks for `/etc/ostree/auth.json`.\n\ncc https://github.com/containers/bootc/issues/679\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"config: Fix absolute symlinks"}},{"before":"0c0e3342f7d321cf8fb28cf6ec177d3f0d1851f9","after":"0c5c8c58b89ae8420d4e8bd5bf3230f808a9de7b","ref":"refs/heads/release","pushedAt":"2024-07-01T18:38:04.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Release 0.14.3","shortMessageHtmlLink":"Release 0.14.3"}},{"before":"edcd717049baef271c15e49e23ef13673103f11d","after":"816c82c207ed6921b69973e088b84ed4d5765b95","ref":"refs/heads/etc-hardlinked","pushedAt":"2024-07-01T17:16:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tar: Handle hardlinks into /etc\n\nBecause we rewrite `etc` -> `usr/etc`, we must also rewrite hardlinks.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tar: Handle hardlinks into /etc"}},{"before":"012f5282a91a08db0b33cdfc4fe501bc9bb789cb","after":"edcd717049baef271c15e49e23ef13673103f11d","ref":"refs/heads/etc-hardlinked","pushedAt":"2024-06-30T16:42:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tar: Handle hardlinks into /etc\n\nBecause we rewrite `etc` -> `usr/etc`, we must also rewrite hardlinks.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tar: Handle hardlinks into /etc"}},{"before":"042aa3e6ce0635f87fc65557921089aa4286f661","after":"012f5282a91a08db0b33cdfc4fe501bc9bb789cb","ref":"refs/heads/etc-hardlinked","pushedAt":"2024-06-30T16:36:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tar: Handle hardlinks into /etc\n\nBecause we rewrite `etc` -> `usr/etc`, we must also rewrite hardlinks.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tar: Handle hardlinks into /etc"}},{"before":null,"after":"042aa3e6ce0635f87fc65557921089aa4286f661","ref":"refs/heads/etc-hardlinked","pushedAt":"2024-06-30T13:38:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tar: Handle hardlinks into /etc\n\nBecause we rewrite `etc` -> `usr/etc`, we must also rewrite hardlinks.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tar: Handle hardlinks into /etc"}},{"before":null,"after":"e66b381359bc7ddc1b45ef12b95c7e21dc5df33a","ref":"refs/heads/fetch-cleanups","pushedAt":"2024-06-27T20:57:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"container: Drop unnecessary &mut\n\nThe proxy uses shared references; prep for some\ninvestigation of parallel unpack.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"container: Drop unnecessary &mut"}},{"before":"aecd8a35c15462e6126b9a57e97b578acebe66b6","after":"0c0e3342f7d321cf8fb28cf6ec177d3f0d1851f9","ref":"refs/heads/release","pushedAt":"2024-06-21T20:22:13.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Release 0.14.2","shortMessageHtmlLink":"Release 0.14.2"}},{"before":"2149e89cdee87320f0a9244cac5970bc223177a2","after":"608bc1908ff02ecce1309853a575f0d97871dee4","ref":"refs/heads/export-progress","pushedAt":"2024-06-21T17:37:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"export: Add progress flag\n\nThis is a very slow operation and it'd be really\nnice to have progress.\n\nUnfortunately we don't have a sane way to propagate status from\n`skopeo copy`, so add an option to just output to stdout,\nwhich is usable now in bootc.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"export: Add progress flag"}},{"before":null,"after":"2149e89cdee87320f0a9244cac5970bc223177a2","ref":"refs/heads/export-progress","pushedAt":"2024-06-21T17:29:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"export-progress","shortMessageHtmlLink":"export-progress"}},{"before":"2d08a863f0a8c75f73fd6aacd8c24bab666ca187","after":"72aa9a15e5404febe7ad71307f5131c51b815d5e","ref":"refs/heads/dedup-testing","pushedAt":"2024-06-21T17:29:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tests: Deduplicate fixture code\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tests: Deduplicate fixture code"}},{"before":"72aa9a15e5404febe7ad71307f5131c51b815d5e","after":"2d08a863f0a8c75f73fd6aacd8c24bab666ca187","ref":"refs/heads/dedup-testing","pushedAt":"2024-06-21T17:29:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"export-progress","shortMessageHtmlLink":"export-progress"}},{"before":null,"after":"72aa9a15e5404febe7ad71307f5131c51b815d5e","ref":"refs/heads/dedup-testing","pushedAt":"2024-06-21T13:33:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tests: Deduplicate fixture code\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tests: Deduplicate fixture code"}},{"before":"d81e489fd2b9746eda01e5bdaf1c5fdcd90c0fea","after":"4374c05b25f2b16a228bc120a97c452c52f1a090","ref":"refs/heads/container-export","pushedAt":"2024-06-19T23:47:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"container: Add support for re-exporting a fetched container\n\nThe status quo today is basically that with a \"pure ostree\"\ncontainer image, one can pull it, and one *can* re-export\nit with `ostree container encapsulate`...but doing so\nloses *all chunking* i.e. you end up with a single\ngiant layer again.\n\nFurther, we don't support exporting derived images at all.\n\nFix both of these with a new CLI and API, for example:\n\n```\n$ ostree container image reexport --repo=/path/to/repo registry:quay.io/exampleos/someos:latest containers-storage:localhost/exampleos\n```\n\nNow...before one gets too excited, this is still suboptimal\nin a bunch of ways:\n\n- Copying to `containers-storage` is super inefficient, we indirect\n through a local `oci` directory because of the lack of \"push\"\n support in containers-image-proxy, *and* we end up with a full\n physical copy of the files even when we *could* reflink;\n cc https://github.com/containers/storage/issues/1849\n- Because we don't currently save tar-split data, the use\n case of pushing to a registry is virtually guaranteed to produce\n changed diffids, and we'll hence end up duplicating layers\n on the registry\n\nNow what is more interesting is that this code is going to help\nus a bit for the use case of \"recommitting\" a derived container\nimage.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"container: Add support for re-exporting a fetched container"}},{"before":"ce8bff8f4cc2ac3f652e979489763d802ba1e5d7","after":"d81e489fd2b9746eda01e5bdaf1c5fdcd90c0fea","ref":"refs/heads/container-export","pushedAt":"2024-06-19T22:15:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"container: Add support for re-exporting a fetched container\n\nThe status quo today is basically that with a \"pure ostree\"\ncontainer image, one can pull it, and one *can* re-export\nit with `ostree container encapsulate`...but doing so\nloses *all chunking* i.e. you end up with a single\ngiant layer again.\n\nFurther, we don't support exporting derived images at all.\n\nFix both of these with a new CLI and API, for example:\n\n```\n$ ostree container image export --repo=/path/to/repo registry:quay.io/exampleos/someos:latest containers-storage:localhost/exampleos\n```\n\nNow...before one gets too excited, this is still suboptimal\nin a bunch of ways:\n\n- Copying to `containers-storage` is super inefficient, we indirect\n through a local `oci` directory because of the lack of \"push\"\n support in containers-image-proxy, *and* we end up with a full\n physical copy of the files even when we *could* reflink;\n cc https://github.com/containers/storage/issues/1849\n- Because we don't currently save tar-split data, the use\n case of pushing to a registry is virtually guaranteed to produce\n changed diffids, and we'll hence end up duplicating layers\n on the registry\n\nNow what is more interesting is that this code is going to help\nus a bit for the use case of \"recommitting\" a derived container\nimage.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"container: Add support for re-exporting a fetched container"}},{"before":"b104a467e9ed06663194c3b60334a5246eb988fb","after":"e4bf8c7273d3d4b7b6ccbc866f85a8f8eb699c2d","ref":"refs/heads/container-export-prep","pushedAt":"2024-06-19T14:03:15.000Z","pushType":"push","commitsCount":79,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"chunking: Factor out helper to make Chunk directly\n\nThe inital `Chunking` only holds one chunk, so make a helper\nto do that.","shortMessageHtmlLink":"chunking: Factor out helper to make Chunk directly"}},{"before":"b5ea32722eb27ff3f527e83237ccdd0ac5d35867","after":"ce8bff8f4cc2ac3f652e979489763d802ba1e5d7","ref":"refs/heads/container-export","pushedAt":"2024-06-19T01:34:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"wip\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"wip"}},{"before":"00428b33e56b3076bb13a0fe01787406e1362e7c","after":"aecd8a35c15462e6126b9a57e97b578acebe66b6","ref":"refs/heads/release","pushedAt":"2024-06-05T21:09:50.000Z","pushType":"push","commitsCount":28,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Release 0.14.1\n\nFixes authenticated pulls; regression from https://github.com/ostreedev/ostree-rs-ext/pull/636\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"Release 0.14.1"}},{"before":"76ba94dfe3f97a65148d9f0c9b17e6df543fdfe5","after":"0f56cb77da80ced6c9192bf046caeb98c971af4d","ref":"refs/heads/main","pushedAt":"2024-06-05T20:46:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tests: auth image test\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"tests: auth image test"}},{"before":"cb9eab9b7d1061bcdc2b797c7370aa8d21375b2f","after":"76ba94dfe3f97a65148d9f0c9b17e6df543fdfe5","ref":"refs/heads/main","pushedAt":"2024-06-05T20:39:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tests: auth image test","shortMessageHtmlLink":"tests: auth image test"}},{"before":null,"after":"72c707be927482e767e19a90c91087f42eaa9ec8","ref":"refs/heads/fix-auth-pulls","pushedAt":"2024-06-05T19:03:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"proxy: Fix logic error with auth_data switch\n\nThe previous change switched to use `auth_data` directly instead\nof passing the file. Update the logic just below which needs\nadjustment to continue to support authenticated pulls.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"proxy: Fix logic error with auth_data switch"}},{"before":"b9c7ff6c7d82de537908be1418da7ee856ff521a","after":"6f4e8c721f21ff8b9d210f0d4b06194cab0b05ac","ref":"refs/heads/pub-authfile","pushedAt":"2024-06-04T17:32:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jeckersb","name":"John Eckersberg","path":"/jeckersb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15802?s=80&v=4"},"commit":{"message":"authfile: add tests for non-root case\n\nSigned-off-by: John Eckersberg ","shortMessageHtmlLink":"authfile: add tests for non-root case"}},{"before":"e43ac9ff2abc08ee05b037884c1a7872d65f7e0a","after":"cf15ee3006d05ff2fe2d1be59a4e5b24c4f2e343","ref":"refs/heads/depend-ocidir","pushedAt":"2024-06-03T20:14:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"0.14: Bump c-i-proxy, use external `ocidir` crate\n\nI moved the code that was in `ocidir` to a new repository\nand crate: https://github.com/containers/ocidir-rs/\n\nIt definitely cleans things up here to use it.\n\nHowever when doing that I also bumped the `oci-spec`\ncrate there, which requires a corresponding bump\nof the containers-image-proxy crate's semver.\n\nAnd because we re-export that, we'll need to\nbump our semver.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"0.14: Bump c-i-proxy, use external ocidir crate"}},{"before":null,"after":"e43ac9ff2abc08ee05b037884c1a7872d65f7e0a","ref":"refs/heads/depend-ocidir","pushedAt":"2024-06-03T18:27:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"Update to use external `ocidir` crate\n\nI moved the code that was in `ocidir` to a new repository\nand crate: https://github.com/containers/ocidir-rs/\n\nIt definitely cleans things up here.\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"Update to use external ocidir crate"}},{"before":"a9b88e4c26d5bb8e97ed8eafa49e43747bef7095","after":"1e023b22cedaec6ed8aaaa8832d0a07fa22de993","ref":"refs/heads/fixture-nul","pushedAt":"2024-06-01T19:17:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"tests: Add some error context\n\nThis helped me debug a recent problem.","shortMessageHtmlLink":"tests: Add some error context"}},{"before":null,"after":"a9b88e4c26d5bb8e97ed8eafa49e43747bef7095","ref":"refs/heads/fixture-nul","pushedAt":"2024-06-01T19:04:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"fixture: Add missing trailing NUL in security.selinux xattr\n\nBecause we were only doing bare-user checkouts in the test\nsuite (and not trying to physically materialize the xattrs)\nand because ostree today doesn't validate xattrs, this\nproblem was silently ignored. But I was looking at\nchanging the tests to do a checkout, and this caused confusing\nfailures.\n\nAdd the missing trailing `NUL`. Also while we're here,\nsplit the xattr function in two; one which returns the\nRust-native value and a wrapper which converts to GVariant.\n\nThis will be useful later.","shortMessageHtmlLink":"fixture: Add missing trailing NUL in security.selinux xattr"}},{"before":null,"after":"4c9ffd675753905a48d81340f127ac5395717079","ref":"refs/heads/container-recommit","pushedAt":"2024-06-01T14:27:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cgwalters","name":"Colin Walters","path":"/cgwalters","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244096?s=80&v=4"},"commit":{"message":"wip\n\nSigned-off-by: Colin Walters ","shortMessageHtmlLink":"wip"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEkGX8tgA","startCursor":null,"endCursor":null}},"title":"Activity ยท cgwalters/ostree-rs-ext"}