-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't evaluate edge rules if property is set by constraints #952
Conversation
Also don't apply edge rules if a property sets a value explicitly via constraints
we need a way to then signal if an edge rule is critical if we want to guarantee correctness, otherwise we cant make that guarantee. We could say that validation is that method also but thats a lot more work for us to bake this in then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nothing blocking really just a few questions
// NOTE(gg): does operator even matter here? If it's not a collection, | ||
// what does an 'add' mean? Should it allow edges to overwrite? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if its not a collection yeah im not sure that it would matter
// Check to see if the whole path is valid before adding phantoms and edges. | ||
// It's a miniscule performance benefit, and is mostly done for clarity in the debug graph output. | ||
validPath := true | ||
for i, res := range path { | ||
if i == 0 { | ||
continue | ||
} | ||
edgeTemplate := kb.GetEdgeTemplate(path[i-1].Id(), res.Id()) | ||
if edgeTemplate == nil || edgeTemplate.DirectEdgeOnly { | ||
validPath = false | ||
break | ||
} | ||
} | ||
if !validPath { | ||
continue | ||
} | ||
|
||
satisfied_paths++ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dont we already do this when building the path selection graph? Isnt this redundant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, yeah, I meant to move it instead of duplicate it. The main impact of this is that it removed resources used in paths that never connected to the target. Per the comment, it's mostly to support the kb
tool to prevent extra irrelevant resources.
I agree, added #953 to track |
Edge Rules
This is required for
gitea
StackPack to change HealthCheck protocol on an NLB to beHTTP
(and others, I don't remember).kb
Also adds
kb
tool to help inspect the knowledgebase.Example
Support EnableExecuteCommand on ECS Service
For debugging ECS services
Standard checks