I'm kinda surprised that an SMF module for Solaris wasnt made before.(that is to say, yes there is support for enabling a pre-existing SMF service... but there isnt one for creating one from scratch)So here's an announcement of a new puppet forge module:It lets you take any existing demon binary, and use puppet to make an SMF wrapper for it.All you have to do is:smf::service { "yourservicename":service_command => "/usr/sbin/somename -optional args"}and the module takes care of creating svc:/site/yourservicename for youYou can use either the autogenerated SMF config, or provide your own custom one.
Ideally, someone should extend the puppet 'service' handler to take arguments for this stuff, when the provider is solaris.