The best way to deliver profiles to your systems depends on how configuration information is controlled in your organization. Common ways of dividing the information into different packages is by site, by network, and by system function. For example, DNS and NTP configuration might be the same for all systems in a DMZ, but would be different from the configurations used in internal development groups. In that same DMZ environment, the systems that act as web servers might all share a common configuration, which might be different from the configuration of systems serving other functions.
Dependencies can be used to build complete configurations out of smaller sets of configuration information. Using dependencies reduces duplication of information across packages.
Create at least one package for each group of systems that require the same configuration. A package can deliver multiple profiles.
Configuration for different SMF layers must be delivered in different profile files in different directories.
Within a single layer, you probably want to deliver configuration for different services in different profile files.
Different groups of systems require different configuration and therefore different profiles.
You might want multiple profile packages per system group, for example to separately deliver configuration that you expect to change more frequently. Multiple profile packages for the same group of systems could be group dependencies in one package. A group package also is an easy way to deliver new profile packages for that group.
When a profile needs to change, rebuild the package with the updated profile and increment the package version number. If you are using a group package, update the group package as well. The updated configuration is then installed by pkg update.
See Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.4 for information about how to create your profile packages. The following instructions are specific to SMF profile packages:
Do not package the /etc, /etc/svc, or /etc/svc/profile directories or any of the standard subdirectories of the /etc/svc/profile directory: Those directories are already delivered by system packages.
Include a restart_fmri actuator on each profile or manifest file action.
Consider using a periodic service to check whether updates are available for installed profile packages. See Developing System Services in Oracle Solaris 11.4 for information about creating a periodic service.
If you want to provide individual system administrators with a choice of configuration, deliver mediated links into the /etc/svc/profile directories and the target profiles elsewhere. See Delivering Multiple Implementations of an Application in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.4 for more information.