Dice the onions. Finely chop the garlic and ginger.
Cut up the beef into 3/4 inch or 1 inch cubes roughly. Add most of the salt (reserving some for frying onions) and the chili powder, curry powder and turmeric. Mix until pieces are mostly coated in spices.
You can add the cloves, cardamon and fenugreek whole like it's traditionally done. I prefer to smash them up into a powder in a mortar and pestle so you don't taste pesky pieces of spices in your curry.
Turn on your Instapot to the Sauté setting.
Add coconut oil. Sauté onions with the remaining salt for a couple minutes. Then garlic and ginger and curry leaves sauté until the onion is softened. Then add the tomato and fry another couple minutes.
Add the meat and keep stirring till the meat looks mostly cooked on the outside. This is a quick way of searing it. Once it looks seared add 1/2 cup of coconut milk. Add about 1/2 cup water until the meat is about 3/4 covered in liquid. The meat will release liquid as it cooks and unlike a regular pan nothing evaporates in an Instapot - so don't add too much.
Press Cancel on your Instapot. Close the lid. Switch to the Meat/Stew setting and set it for 10 minutes.
It cooks pretty fast since it was already heated with all the sautéing. Let it natural release at least 20 minutes.
Check that the meat is soft enough for your liking and that the curry has enough salt. (If you prefer a thicker gravy switch it to sauté and let some of the liquid evaporate.)