Alternatives to node-name based configuration and manifests
I just recently read an interesting article on provisioning an autoscaling infrastructure using Ansible. I think I'm largely behind the times on the newest developments with Puppet, I haven't began using Hiera or any of the new tools with Puppet 3 other than the new resource ordering syntax (
I know that Puppet Enterprise ships with MCollective or something like it to make it easy to query hosts based on Facter facts and optionally apply classes based on those facts. I'm also aware that I can do the same thing manually by setting up MCollective on all of my instances, managing a AMPQ message queue somewhere as well.
Is there a way that I can provision hosts without defining their names in node definitions? I'd like a way to write definitions based on facts instead of based on host name and retain the ability to do manual Puppet apply operations in addition to the ability to use a master.