Cook red onion in 1 tablespoon canola oil in a saucepan over high heat until soft. Stir in grated peeled ginger and serrano chile; cook 30 seconds. Add water and sugar; cook until the sugar dissolves. Add half a 12-ounce bag cranberries; cook until the berries pop and the sauce thickens, about 10 minutes. Add the rest of the cranberries; cook 1 minute. Off the heat, stir in honey, the grated zest of lime, and salt and pepper. Let cool slightly, then stir in chopped cilantro.