Não é tanto como "empurrar" um catálogo. (Não há nada no lado do cliente escutando uma conexão de entrada.) O que ela está fazendo é disparar remotamente um agente de marionete executado fora da banda.
Você pode fazer isso com um simples script Bash e SSH, mas a maioria das pessoas que o fazem com frequência vai querer envolvê-lo com uma ferramenta de orquestração como Bolt ou Ansible. (O que acontece com o trabalho via SSH, mas são soluções mais refinadas.) Acho que o Puppet Enterprise ainda usa o Mcollective, mas isso não é a coisa mais fácil de integrar ao Puppet open-source. (YMMV)