Hi Chad,
In Ansible I use this kind of inventory for “mixed” nodes:
[the_farm]
192.168.33.20
192.168.33.21
192.168.33.22
[windowze]
192.168.1.84 ansible_shell_type=powershell
[the_farm:vars]
ansible_user=vagrant
[windowze:vars]
ansible_user=administrator
ansible_password=win_passord
ansible_port=5985
ansible_connection=winrm
ansible_winrm_scheme=http
ansible_winrm_server_cert_validation=ignore
In that way, you can dispatch “agnostic” commands/jobs using Rundeck.
In addition, take a look at this thread if you want to do the same using a Rundeck file model source. Using the node-executor attribute you can define the node executor of each node in your XML/YAML node definition.
Hope it helps!