{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":605353794,"defaultBranch":"master","name":"resonance","ownerLogin":"fornellas","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-02-23T01:19:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1386232?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724702214.0","currentOid":""},"activityList":{"items":[{"before":"08261c5ee392ad4d2a657fa51391819c89c73a5c","after":"5e215f08205fec1773bd87fd8b6b56f6a23a3017","ref":"refs/heads/spr/master/fa07229c","pushedAt":"2024-08-26T21:44:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add internal/plan\n\nThis PR adds the inner mechanics of planning changes. A follow up PR will deal with its inputs:\n\n- The original version of resources.\n- The last applied version of resources.\n- The target resources.\n\nAs a function of these, diffirent things must happen when applying:\n\n- If resource exist on target, but not on last, apply target (over original).\n- If resource does not exist on target, but exist on last, apply original (stop managing it).\n- If resource exist in target and on last, apply target (over last).\n\nIn terms of actions:\n\n- If no change required (following #106 rules), โœ… no action, no diff.\n- If changes required, and coming from absent to present, ๐Ÿ”ง create action, with diff from `nil` to target.\n- If changes required, and coming from present to absent, ๐Ÿ—‘ remove action, diff from previous state (either original or last) to `nil`.\n- If changes required, and coming from present to also present, ๐Ÿ”„ update action, diff from previous state (either original or last) to target.\n\ncommit-id:fa07229c","shortMessageHtmlLink":"Add internal/plan"}},{"before":"2eac8cbe17032449793791fb6f62d20a24f0baca","after":"9eb9205826c33e9587bd2569c7d6be76e6cf4489","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T21:44:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\nThis PR finally adds the plan command, building on top of all previous PRs on the stack.\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":"767e73163c114c7dbd24d30db6aceafce7d22282","after":"2eac8cbe17032449793791fb6f62d20a24f0baca","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T20:06:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\nThis PR finally adds the plan command, building on top of all previous PRs on the stack.\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":"3aef4bfc3749d6fc5c33db94cdb9dc9e46759720","after":"08261c5ee392ad4d2a657fa51391819c89c73a5c","ref":"refs/heads/spr/master/fa07229c","pushedAt":"2024-08-26T20:05:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add internal/plan\n\nThis PR adds the inner mechanics of planning changes. A follow up PR will deal with its inputs:\n\n- The original version of resources.\n- The last applied version of resources.\n- The target resources.\n\nAs a function of these, diffirent things must happen when applying:\n\n- If resource exist on target, but not on last, apply target (over original).\n- If resource does not exist on target, but exist on last, apply original (stop managing it).\n- If resource exist in target and on last, apply target (over last).\n\nIn terms of actions:\n\n- If no change required (following #106 rules), โœ… no action, no diff.\n- If changes required, and coming from absent to present, ๐Ÿ”ง create action, with diff from `nil` to target.\n- If changes required, and coming from present to absent, ๐Ÿ—‘ remove action, diff from previous state (either original or last) to `nil`.\n- If changes required, and coming from present to also present, ๐Ÿ”„ update action, diff from previous state (either original or last) to target.\n\ncommit-id:fa07229c","shortMessageHtmlLink":"Add internal/plan"}},{"before":"78749ac2f0cca9e12a3a0eb7a84db7b935893a99","after":"767e73163c114c7dbd24d30db6aceafce7d22282","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T20:05:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\nThis PR finally adds the plan command, building on top of all previous PRs on the stack.\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":null,"after":"3aef4bfc3749d6fc5c33db94cdb9dc9e46759720","ref":"refs/heads/spr/master/fa07229c","pushedAt":"2024-08-26T19:56:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add internal/plan\n\nThis PR adds the inner mechanics of planning changes. A follow up PR will deal with its inputs:\n\n- The original version of resources.\n- The last applied version of resources.\n- The target resources.\n\nAs a function of these, diffirent things must happen when applying:\n\n- If resource exist on target, but not on last, apply target (over original).\n- If resource does not exist on target, but exist on last, apply original (stop managing it).\n- If resource exist in target and on last, apply target (over last).\n\ncommit-id:fa07229c","shortMessageHtmlLink":"Add internal/plan"}},{"before":"93462746d8ca5fbc951936d74e5f347db97bfed1","after":"78749ac2f0cca9e12a3a0eb7a84db7b935893a99","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T19:56:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\nThis PR finally adds the plan command, building on top of all previous PRs on the stack.\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":"dcc0523560a1e234749053a26a9be65a9afb7501","after":"93462746d8ca5fbc951936d74e5f347db97bfed1","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T19:47:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":"ce40734ac7d45f1f0027ef9b6c7a74d978223c56","after":"dcc0523560a1e234749053a26a9be65a9afb7501","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T19:40:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":"cbfe5e9982c60445c9d1011ceffa5f480f8a47f1","after":"6f1d47516601b8293b77df120747793baabb6b8d","ref":"refs/heads/spr/master/b6dad582","pushedAt":"2024-08-26T18:21:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Resources: Add Satisfies\n\nWhen comparing some resources, it is not enough to just look \"is it the name values\". Eg: for a File, if all attributes are the same for 2 resources, then it is the same state. Eg: for APTPackage, if (a) does not require any specific version, but (b) does, then (b) satisfies (a), but (a) does not satisfy (b).\n\nThis PR implements this interface, which is required for planning to work.\n\ncommit-id:b6dad582","shortMessageHtmlLink":"Resources: Add Satisfies"}},{"before":"884cd8ee0429191f1bede7e205edd170050af505","after":"ce40734ac7d45f1f0027ef9b6c7a74d978223c56","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T18:21:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":null,"after":"1c054ea1e28d2f68e24bc930a85ed049f6a040fb","ref":"refs/heads/spr/master/d1ea523e","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Drop ad-hoc resource validation on remove=true\n\nThis code is redundant, as we had this logic moved to `resources/resources.go:ValidateResource()`, so it is universally applied to all resource types, no code duplication required.\n\ncommit-id:d1ea523e","shortMessageHtmlLink":"Drop ad-hoc resource validation on remove=true"}},{"before":null,"after":"72e4c5a4acaf5447c23975e6717dee010b4e8440","ref":"refs/heads/spr/master/b9f8188e","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Fix resource validation\n\nWe now have a method that has extra logic for resource validation, we should not be calling it directly.\n\ncommit-id:b9f8188e","shortMessageHtmlLink":"Fix resource validation"}},{"before":null,"after":"884cd8ee0429191f1bede7e205edd170050af505","ref":"refs/heads/spr/master/a754da6a","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:a754da6a","shortMessageHtmlLink":"Add plan command"}},{"before":null,"after":"b00523382b31f812bddc2321eb8b9d3816d6b60d","ref":"refs/heads/spr/master/4d62c05f","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Refactor Blueprint interface\n\nThis PR does some small refactoring of the Blueprint interface, to support subsequent PRs which will implement plan, apply commands.\n\ncommit-id:4d62c05f","shortMessageHtmlLink":"Refactor Blueprint interface"}},{"before":null,"after":"cbfe5e9982c60445c9d1011ceffa5f480f8a47f1","ref":"refs/heads/spr/master/b6dad582","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Resources: Add Satisfies\n\nWhen comparing some resources, it is not enough to just look \"is it the name values\". Eg: for a File, if all attributes are the same for 2 resources, then it is the same state. Eg: for APTPackage, if (a) does not require any specific version, but (b) does, then (b) satisfies (a), but (a) does not satisfy (b).\n\nThis PR implements this interface, which is required for planning to work.\n\ncommit-id:b6dad582","shortMessageHtmlLink":"Resources: Add Satisfies"}},{"before":null,"after":"f596bd824be52192fa45e9ba183db2552d40d301","ref":"refs/heads/spr/master/aa4f43b2","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Simplify id & remove resource fields\n\nAll resource types must have both an \"id\" field, that uniquely identifies the resource at a host, and a \"remove\" field, to inform whether it should be... removed.\n\nAs of now, both fields are mandatory, but they can live anywhere in the struct, and the Id field, requires a special tag.\n\nThis PR simplifies that, enforcing instead that all resources have the first 2 fields as such:\n\n```go\ntype Foo struct {\n\tFooName string `yaml:\"foo_name\"`\n\tRemove bool `yaml:\"remove,omitempty\"`\n}\n```\n\nwhich simplifies things quite a bit.\n\nIn particular, when marshaling yamls, the id field will be guaranteed to be the first one, which eases understanding.\n\ncommit-id:aa4f43b2","shortMessageHtmlLink":"Simplify id & remove resource fields"}},{"before":null,"after":"ff87c342b6eee409a905f5f07b47bc60876ba287","ref":"refs/heads/spr/master/de54cdec","pushedAt":"2024-08-26T17:56:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Update store interface\n\nThis PR implements a new interface for storing state, which will be used by subsequent PRs that will implement plan, apply etc commands.\n\nThis PR also completely deletes the old broken `plan.go' as it'll be almost entirely rewritten: no point in fixing build errors here.\n\ncommit-id:de54cdec","shortMessageHtmlLink":"Update store interface"}},{"before":"9186df15119ccd0058d18d634bd29e09a04a7029","after":null,"ref":"refs/heads/spr/master/c492da2b","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"3ea02787f2a46cc2a8ee0f7ecd40d87d7c29fc8c","after":null,"ref":"refs/heads/spr/master/9a999b86","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"ad9198a596dbbab97dc7e202e25928bcc931059d","after":null,"ref":"refs/heads/spr/master/920d61a3","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"bce5ede79ca746f93e0c1318e50b7b9b36a8515d","after":null,"ref":"refs/heads/spr/master/72d9e48d","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"7d4682e41d400f5767a7adb73ebd7deb1274e844","after":null,"ref":"refs/heads/spr/master/4ad6b946","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"9d1ff94e44d12f43aeea3dd1d38725d14428e83b","after":null,"ref":"refs/heads/spr/master/393afd1d","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"926f94e3306dc778d533dd0d0039e8ad3bbfa11d","after":null,"ref":"refs/heads/spr/master/314d8635","pushedAt":"2024-08-26T17:53:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"}},{"before":"205fcb6e99594e3af87484b045ab17641e818074","after":"e1e6169fd724d9d8bf5c03c4a6fa7687654e16d1","ref":"refs/heads/issue-31/docker-flags","pushedAt":"2024-08-26T17:53:21.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"gfechio","name":"Gfechio","path":"/gfechio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4141544?s=80&v=4"},"commit":{"message":"Merge branch 'master' into issue-31/docker-flags","shortMessageHtmlLink":"Merge branch 'master' into issue-31/docker-flags"}},{"before":"661c73b22e7900a88aff2ab02cbf672163745143","after":"205fcb6e99594e3af87484b045ab17641e818074","ref":"refs/heads/issue-31/docker-flags","pushedAt":"2024-08-26T17:53:10.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"gfechio","name":"Gfechio","path":"/gfechio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4141544?s=80&v=4"},"commit":{"message":"fix: Docker and ssh options","shortMessageHtmlLink":"fix: Docker and ssh options"}},{"before":"a13b6b66de79efa72ada87380e24f9e2486c3d9e","after":"9186df15119ccd0058d18d634bd29e09a04a7029","ref":"refs/heads/spr/master/c492da2b","pushedAt":"2024-08-26T17:51:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add Satisfies\n\ncommit-id:c492da2b","shortMessageHtmlLink":"Add Satisfies"}},{"before":"35566bafd5db9c98c215b41fb8b38cc92b6da73a","after":"9d1ff94e44d12f43aeea3dd1d38725d14428e83b","ref":"refs/heads/spr/master/393afd1d","pushedAt":"2024-08-26T17:51:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:393afd1d","shortMessageHtmlLink":"Add plan command"}},{"before":"97b0766b9248b0485074a51812c0608f1f68f187","after":"35566bafd5db9c98c215b41fb8b38cc92b6da73a","ref":"refs/heads/spr/master/393afd1d","pushedAt":"2024-08-26T17:49:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fornellas","name":"Fabio Pugliese Ornellas","path":"/fornellas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1386232?s=80&v=4"},"commit":{"message":"Add plan command\n\ncommit-id:393afd1d","shortMessageHtmlLink":"Add plan command"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpLbbXgA","startCursor":null,"endCursor":null}},"title":"Activity ยท fornellas/resonance"}