A little fuzzy on managing policy_group

Hey Folks, I've read through all of the material and had some questions - any guidance would be welcome.

Articles I've covered:

https://docs.chef.io/config_rb_client.html
https://gist.github.com/jkeiser/d823f5feab3d403ed4fft.html
https://docs.chef.io/policyfile.html
https://blog.chef.io/2015/08/18/policyfiles-a-guided-tour/
and many more...

The docs (client.rb) say:

policy_group
The name of a policy, as identified by the name setting in a Policyfile.rb file. policy_name must also be specified.
policy_name
The name of a policy group that exists on the Chef server. policy_group must also be specified.

So we always need both? Why not just have one and name it the same thing?

Would we set those when bootstrapping to place a node in a given 'environment' (i.e. dev, qa, etc. - I mean physical env not chef's environments). So: policy_group = policy_name = "my_apps_dev__my_apps_policy"?

Also, I did not see the attributes to set those on bootstrap? Do we need to write another process to update the client.rb file and then resync?

Do we just push a new policyfile lock using the same name but new revision, apply it to the aforementioned policy_group, and tell the nodes to sync up?

Any guidance is welcome,
Bryce

Found the bootstrap commands - still need to try them for windows but for anyone else:

knife zero bootstrap HOST_NAME --policy-name POLICY_NAME --policy-group POLICY_GROUP_NAME -N NODE_NAME

In a Chef Server policyfile setup your policy groups represent the stages of your code's lifecycle (e.g., dev/stage/prod), each of which can have different revisions (versions) of a policy. So it makes sense for this to be a separate setting.

I'm not sure how that would best translate to your setup with knife zero. If you don't find policy groups helpful, you can just set them all to a default.