engine: resources: Detect simple self-referential frags

It would be a likely mistake to create a self-referential frag, and mgmt
would spin forever updating the file... We probably don't want this, so
let's just catch this case in Validate.

Of course you could get around this with multiple files, and a fancier
search could statically check the graph, but the goal isn't to prevent
any bad code, since that's not likely to be possible.
This commit is contained in:
James Shubin
2025-02-15 06:58:15 -05:00
parent 5d63376087
commit d80ec4aaa7
2 changed files with 23 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
-- main.mcl --
file "/tmp/frags/" {
state => "exists",
}
file "/tmp/frags/f1" {
state => "exists",
content => "f1 contents\n",
}
file "/tmp/frags/all" {
state => "exists",
fragments => [
"/tmp/frags/",
],
}
-- OUTPUT --
# err: errValidate: file[/tmp/frags/all] did not Validate: inside a frag (`/tmp/frags/`)