Debone the duck. Cut the meat into bite sized pieces.
Gently use a sharp knife to remove the fat underneath the crispy duck skin. Place the duck skin, skin side up, on a baking tray and crisp up in a toaster oven. Once cooled, finely chop the duck skin. Set aside.
Put the duck bones into a dutch oven or large pot, cover with cold water, and bring to a simmer. Let simmer for 30-45 minutes, then discard the bones. Reserve 1 1/2 cups of the stock.
Reduce 3/4 cup of the coconut milk in a medium pot over medium heat until very thick and the clear coconut oil starts to seperate from the white portion, 10-15 minutes.
Add the curry paste to the reduced coconut milk and cook over medium heat for 3-4 minutes, stirring constantly, until the curry paste is thick. Add the remaining 1 1/4 cups of coconut milk and stir to mix. Turn the heat up to medium high and add the reserved duck stock, 2 tbsp brown sugar and half of the fish sauce. Bring to a boil.
Add the duck meat, pineapple, longbeans, and chili then simmer gently for 3-4 minutes so they absorb the curry. While the curry simmer, pierce the grape tomatoes with the tip of a pairing knife.
Adjust the seasoning with remaining brown sugar and fish sauce. Remove from the heat, then stir in the tomatoes and Thai basil.
Garnish the curry with Thai basil and crispy duck skin. Serve with steamed jasmine rice.