Rinse the chicken well under cool running water and remove skin if present.
Place all ingredients in a large stockpot or Dutch oven.
Bring to a boil, cover and reduce heat to a simmer. Cook for 1 hour; at that point, the chicken should easily pull away from the bones.
Using tongs, remove the chicken from the stock and set aside until cool enough to handle.
Strain the cooking liquid through a fine-mesh strainer, discarding the vegetables.
Pull the chicken meat off the bones, discarding the bones, and any fat.
Shred and reserve the meat, and refrigerate until needed.
Cool the stock, then store in an airtight container in the refrigerator for up to 4 days or in the freezer for 6 months.