The deal has a team option for the 2021 season, the source said.
The news was first reported by MLB.com.
Iglesias, 30, became a free agent when the Cincinnati Reds didn’t tender him a contract in December.
He set career highs with 11 home runs and 59 RBIs this past season and also hit .288, starting 144 games at shortstop with a .980 fielding percentage and appearing in 146 games overall.
He was an All-Star with the Detroit Tigers in 2015 and is a career .273 hitter with 32 home runs and 247 RBIs.
Freddy Galvis will be the Reds’ starting shortstop in 2020 after the Reds picked up Galvis’ $5.5 million option in November. Galvis, acquired in a trade with the Blue Jays last season, set career highs with 23 home runs and 70 RBIs last season.
ESPN’s Jeff Passan contributed to this report.