Add nil checks to envoy for compose_chart
Fix panics while exporting namespace with invalid compose chart
This commit is contained in:
@@ -131,6 +131,9 @@ func (b *builder) buildGraph(rr []resource.Interface) *graph {
|
||||
|
||||
// Attempt to connect all available nodes
|
||||
for _, ref := range refs {
|
||||
if ref == nil {
|
||||
continue
|
||||
}
|
||||
// Handle wildcard references
|
||||
if ref.IsWildcard() {
|
||||
nn := nIndex.GetResourceType(ref.ResourceType)
|
||||
|
||||
@@ -31,7 +31,10 @@ func NewComposeChart(res *types.Chart, nsRef *Ref, mmRef RefSet) *ComposeChart {
|
||||
|
||||
r.RefNs = r.addRef(nsRef)
|
||||
for i, mRef := range mmRef {
|
||||
r.RefMods[i] = r.addRef(mRef).Constraint(r.RefNs)
|
||||
ref := r.addRef(mRef)
|
||||
if ref != nil {
|
||||
r.RefMods[i] = ref.Constraint(r.RefNs)
|
||||
}
|
||||
}
|
||||
|
||||
// Initial timestamps
|
||||
|
||||
@@ -38,6 +38,9 @@ func (n *composeChart) Prepare(ctx context.Context, state *envoy.ResourceState)
|
||||
|
||||
for i, r := range chr.Res.Config.Reports {
|
||||
refMod := chr.RefMods[i]
|
||||
if refMod == nil {
|
||||
continue
|
||||
}
|
||||
relMod := resource.FindComposeModule(state.ParentResources, refMod.Identifiers)
|
||||
if relMod == nil {
|
||||
return resource.ComposeModuleErrUnresolved(refMod.Identifiers)
|
||||
|
||||
Reference in New Issue
Block a user