{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":639788284,"defaultBranch":"master","name":"docker-on-top","ownerLogin":"kolayne","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-12T08:22:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/23319866?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1686250055.071861","currentOid":""},"activityList":{"items":[{"before":"321ee970cfbabe62b045dd0eb3c667ce45ea862d","after":"1bfffce2ff8960b549a9d5fb0a894895163e5ca6","ref":"refs/heads/master","pushedAt":"2024-06-19T08:49:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"driver.go comments fixes","shortMessageHtmlLink":"driver.go comments fixes"}},{"before":"27375a15cb9cce67b28c0c966cb83d13b63e84e9","after":"321ee970cfbabe62b045dd0eb3c667ce45ea862d","ref":"refs/heads/master","pushedAt":"2024-04-17T07:55:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Bump dependencies","shortMessageHtmlLink":"Bump dependencies"}},{"before":"3100b05c16b36d15d5fe6c0bb69e6ab289c9a4d7","after":"27375a15cb9cce67b28c0c966cb83d13b63e84e9","ref":"refs/heads/master","pushedAt":"2023-06-08T18:51:05.934Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Fix code block type in readme\n\nThe `shell` blocks should contain shell code, not shell output","shortMessageHtmlLink":"Fix code block type in readme"}},{"before":"9c7b6a411242e290d9a3be3e6e7c3bed6212d1d2","after":null,"ref":"refs/heads/readme","pushedAt":"2023-06-08T18:47:35.071Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"}},{"before":"c8108ab283efb172c89e7f235ca7edf99793bced","after":"3100b05c16b36d15d5fe6c0bb69e6ab289c9a4d7","ref":"refs/heads/master","pushedAt":"2023-06-08T18:47:29.615Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Merge pull request #17 from kolayne/readme\n\nWrite a detailed README.md","shortMessageHtmlLink":"Merge pull request #17 from kolayne/readme"}},{"before":"bb0a3b3e1901db068ec13c910da15dd64d196eab","after":"9c7b6a411242e290d9a3be3e6e7c3bed6212d1d2","ref":"refs/heads/readme","pushedAt":"2023-06-05T11:27:05.083Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Write a detailed README.md\n\nAlso added images/demo_preview.jpg and docker-on-top.service","shortMessageHtmlLink":"Write a detailed README.md"}},{"before":"958447fa5e2f3bf6bbcfe3d6b40a5a6eaafaacce","after":"bb0a3b3e1901db068ec13c910da15dd64d196eab","ref":"refs/heads/readme","pushedAt":"2023-06-05T11:24:16.289Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Write a detailed README.md\n\nAlso added images/demo_preview.jpg and docker-on-top.service","shortMessageHtmlLink":"Write a detailed README.md"}},{"before":"0231928502eca622a51a93306a3d3eb3e2d54300","after":"958447fa5e2f3bf6bbcfe3d6b40a5a6eaafaacce","ref":"refs/heads/readme","pushedAt":"2023-06-05T10:50:46.427Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Write a detailed README.md\n\nAlso added images/demo_preview.jpg and docker-on-top.service","shortMessageHtmlLink":"Write a detailed README.md"}},{"before":"a4080862379283bb391b50948ecb99814043a587","after":null,"ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-05T08:47:19.834Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"}},{"before":"c84043266ecd83a71a3418c5576eae7925fa1744","after":"c8108ab283efb172c89e7f235ca7edf99793bced","ref":"refs/heads/master","pushedAt":"2023-06-05T08:47:16.228Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Merge pull request #16 from kolayne/preserve-volumes-list\n\nRewrite volume storage, refactor some of the old code","shortMessageHtmlLink":"Merge pull request #16 from kolayne/preserve-volumes-list"}},{"before":"adf712057151299584208d89a489a7efae640868","after":"a4080862379283bb391b50948ecb99814043a587","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-05T08:40:41.841Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"af0bde2b3416edea9899fda445e55d2d6f117692","after":"adf712057151299584208d89a489a7efae640868","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-05T08:40:32.757Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"9f47c5ec0c2345c07da26058bffcc7112b6ff5c4","after":"af0bde2b3416edea9899fda445e55d2d6f117692","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-05T08:38:42.456Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"4c9d685cb794eaab6c5fe7699f8cf0ab7405624b","after":"9f47c5ec0c2345c07da26058bffcc7112b6ff5c4","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-05T07:41:47.895Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"2a106336ba4ecee2ab57426fa14978aa208dc2ba","after":"4c9d685cb794eaab6c5fe7699f8cf0ab7405624b","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-04T19:26:06.844Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"b8db6105bd92d20cfd78ac11f3b57a57d57bc617","after":"2a106336ba4ecee2ab57426fa14978aa208dc2ba","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-04T19:16:48.493Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"6c0496d40c7b45066a93b9ef51361ac50a090520","after":"b8db6105bd92d20cfd78ac11f3b57a57d57bc617","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-04T17:52:05.771Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Numerous miscellaneous fixes\n\nFixed some docs/comments, variables names, log messages, code style issues","shortMessageHtmlLink":"Numerous miscellaneous fixes"}},{"before":"b0f83da0248a8b8d4258db9a313f981185e95701","after":"6c0496d40c7b45066a93b9ef51361ac50a090520","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-04T17:51:43.154Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Improved volume discovery on plugin start\n\nWhen starting, the plugin now checks for each volume whether its state is clean, dirty but overlay-unmounted, or overlay-mounted. Info logs describe all the detected volumes, a detailed warning log message is issued if there's at least one overlay-mounted volume to explain which consequences it might have.","shortMessageHtmlLink":"Improved volume discovery on plugin start"}},{"before":"1836389061d9615f540043078b6cf6b3eb8eb224","after":"b0f83da0248a8b8d4258db9a313f981185e95701","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-03T16:51:00.247Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Implement volume reset on plugin restart + minor docs\n\nWhen creating a `DockerOnTop` object, go through the existing volumes with some sort of a health check: if an overlay is mounted for the volume, do nothing with it, otherwise ensure the active mounts and the workdir/ directory are clean - this protects from a case when the machine is rebooted without giving the docker daemon enough time to properly clean up.","shortMessageHtmlLink":"Implement volume reset on plugin restart + minor docs"}},{"before":"1527ef2139ee05edac935a95d37795e023e1452d","after":"1836389061d9615f540043078b6cf6b3eb8eb224","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-02T19:09:52.039Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Refactored & restructured the code, fixed some bugs\n\nA large refactoring! Created several files and restructured the code between them, renamed a couple of entities, wrote documentation for some non-trivial functions/methods.\n\nAlso fixed a few minor bugs:\n- A file descriptor leak in `lockedFile.Open` if an error occurs in `syscall.Flock`\n- An error returned on every unmount, even when no actual error occurred","shortMessageHtmlLink":"Refactored & restructured the code, fixed some bugs"}},{"before":"79655c93803e25d19346039b51a1a2c0f867ce48","after":"1527ef2139ee05edac935a95d37795e023e1452d","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-02T19:01:47.786Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Refactored & restructured the code, fixed some bugs\n\nA large refactoring! Created several files and restructured the code between them, renamed a couple of entities, wrote documentation for some non-trivial functions/methods.\n\nAlso fixed a few minor bugs:\n- A file descriptor leak in `lockedFile.Open` if an error occurs in `syscall.Flock`\n- An error returned on every unmount, even when no actual error occurred","shortMessageHtmlLink":"Refactored & restructured the code, fixed some bugs"}},{"before":"a35fdc26f9cfd8438fcb1141e403b93fa82e26d9","after":null,"ref":"refs/heads/proper_mount_formatting","pushedAt":"2023-06-02T18:57:11.845Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"}},{"before":"03958b1858275bbe736b4793d8469269ad4440d1","after":null,"ref":"refs/heads/plugging_dev","pushedAt":"2023-06-02T18:57:10.435Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"}},{"before":"5a82275c02106932867dd45c67d651748dbeb42c","after":"79655c93803e25d19346039b51a1a2c0f867ce48","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-02T14:54:06.857Z","pushType":"push","commitsCount":1,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"[poorly structured] Got rid of in-memory volume storage + dotRootDir\n\n- Removed the `volumes` field of `Driver`, instead introduced the metadata.json per-volume internal file, which currently stores the base directory path and the volatility.\n- Rewrote the methods that used the in-memory volume storage to use the filesystem instead.\n- Renamed dotBaseDir to `dotRootDir` and turned it into a field of `Driver`.\n\nFixes #7.\nAs far as I can see, fixes #15!\n\nThe code is starting to get bulky, probably, restructuring is needed...","shortMessageHtmlLink":"[poorly structured] Got rid of in-memory volume storage + dotRootDir"}},{"before":"b771dad240633bf534cef6da9bca0e6f69f395b2","after":"5a82275c02106932867dd45c67d651748dbeb42c","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-06-02T14:53:32.948Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Implemented the activemounts/ logic\n\nThe plugin now determines the active mounts for a volume (not overlay) using the activemounts/ subdirectory corresponding to the volume. It resolves the race condition problem with parallel mounts/unmounts on the same volume.\n\nGets us closer to fixing #15! However, not there yet, as we are still using go's `map`, which is thread-unsafe.","shortMessageHtmlLink":"Implemented the activemounts/ logic"}},{"before":null,"after":"b771dad240633bf534cef6da9bca0e6f69f395b2","ref":"refs/heads/preserve-volumes-list","pushedAt":"2023-05-31T18:12:09.589Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Implemented the activemounts/ logic\n\nThe plugin now determines the active mounts for a volume (not overlay) using the activemounts/ subdirectory corresponding to the volume. It resolves the race condition problem with parallel mounts/unmounts on the same volume.\n\nGets us closer to fixing #7! However, not there yet, as we are still using go's `map`, which is thread-unsafe.","shortMessageHtmlLink":"Implemented the activemounts/ logic"}},{"before":"e078c5c42083da5816d46a7b83d2e0f012305608","after":null,"ref":"refs/heads/volatile-volumes","pushedAt":"2023-05-30T10:28:19.633Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"}},{"before":"a65f02781adf2d36e20418293cbf38128328509c","after":"c84043266ecd83a71a3418c5576eae7925fa1744","ref":"refs/heads/master","pushedAt":"2023-05-30T10:28:15.806Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Merge pull request #14 from kolayne/volatile-volumes\n\nAdded `volatile` volume option","shortMessageHtmlLink":"Merge pull request #14 from kolayne/volatile-volumes"}},{"before":"cd4091dd51d733f3d88145678958adf56d8de648","after":"e078c5c42083da5816d46a7b83d2e0f012305608","ref":"refs/heads/volatile-volumes","pushedAt":"2023-05-30T10:26:33.693Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Minor: fix imports order","shortMessageHtmlLink":"Minor: fix imports order"}},{"before":"e793eda7cc535f9d9ac943b78c250ff8a31aa969","after":"cd4091dd51d733f3d88145678958adf56d8de648","ref":"refs/heads/volatile-volumes","pushedAt":"2023-05-30T10:26:10.296Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kolayne","name":"Nikolay Nechaev","path":"/kolayne","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23319866?s=80&v=4"},"commit":{"message":"Minor: fix imports order","shortMessageHtmlLink":"Minor: fix imports order"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEaVFz9QA","startCursor":null,"endCursor":null}},"title":"Activity ยท kolayne/docker-on-top"}