Add nil checks to envoy for compose_chart

Fix panics while exporting namespace with invalid compose chart
This commit is contained in:
Vivek Patel
2022-06-15 18:20:23 +05:30
parent aef3171a23
commit fc271a2acb
3 changed files with 10 additions and 1 deletions
+3
View File
@@ -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)
+4 -1
View File
@@ -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
+3
View File
@@ -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)