This is an interesting idea -- instead of running puppet in traditional client-server mode where the configuration is pushed from the server, replacing the puppetmaster server with a git repository, and let the managed servers pull their configs from git.