According to the docs for metadata.rb, it should be okay to have the following line:
Unfortunately, my Chef 11 server disagrees. When I attempt to upload a cookbook with a similar line, I get an error:
I've found the tests for this bit of functionality in chef_cookbook_tests.erl:198
I think the test to be added should be:
Digging in, it seems that the constraint is being set in chef_cookbook:cookbook_spec, which checks the value against chef_regex:regex_for(recipe_name), which essentially allows "snuggle" and "snuggle::server".
It looks like this will also fail for specifying definitions with provides like:
I'm going to try for a patch, but I'm having a hard time building due to an issue with mini_s3's automation scripts. That'll be in a separate ticket.