in pkg/virtualnode/resource_manager.go [63:96]
func (m *defaultResourceManager) Reconcile(ctx context.Context, vn *appmesh.VirtualNode) error {
ms, err := m.findMeshDependency(ctx, vn)
if err != nil {
return err
}
if err := m.validateMeshDependencies(ctx, ms); err != nil {
return err
}
vsByKey, err := m.findVirtualServiceDependencies(ctx, vn)
if err != nil {
return err
}
if err := m.validateVirtualServiceDependencies(ctx, ms, vsByKey); err != nil {
return err
}
sdkVN, err := m.findSDKVirtualNode(ctx, ms, vn)
if err != nil {
return err
}
if sdkVN == nil {
sdkVN, err = m.createSDKVirtualNode(ctx, ms, vn, vsByKey)
if err != nil {
return err
}
} else {
sdkVN, err = m.updateSDKVirtualNode(ctx, sdkVN, ms, vn, vsByKey)
if err != nil {
return err
}
}
return m.updateCRDVirtualNode(ctx, vn, sdkVN)
}