ZoneKind currently has five different methods converting &self to &'static str, each of which is slightly different and is used in different contexts. This is confusing at best. Some examples of differences:
zone_prefix uses underscores. These strings are used by sled-agent both to name zones and to find the {zone_prefix}.tar.gz filenames in the install dataset.
service_prefix is almost the same, except crucible pantry is crucible/pantry instead of crucible_pantry (presumably due to SMF namespace organization?)
name_prefix is zone_prefix with all the underscores swapped to dashes
report_str is zone_prefix except it has separate boundary_ntp and internal_ntp values, instead of using ntp for both
artifact_name matches the ArtifactId::name values from the unpacked composite control plane artifact in a TUF repo. These come from the oxide.json's pkg value inside each zone's tarball, and are an eclectic bunch that don't map neatly to the other methods (some use underscores, some use dashes, and some append a -zone suffix)
Can we collapse some of these (with work to make the users of them use more consistent names)?
ZoneKindcurrently has five different methods converting&selfto&'static str, each of which is slightly different and is used in different contexts. This is confusing at best. Some examples of differences:zone_prefixuses underscores. These strings are used by sled-agent both to name zones and to find the{zone_prefix}.tar.gzfilenames in the install dataset.service_prefixis almost the same, except crucible pantry iscrucible/pantryinstead ofcrucible_pantry(presumably due to SMF namespace organization?)name_prefixiszone_prefixwith all the underscores swapped to dashesreport_striszone_prefixexcept it has separateboundary_ntpandinternal_ntpvalues, instead of usingntpfor bothartifact_namematches theArtifactId::namevalues from the unpacked composite control plane artifact in a TUF repo. These come from theoxide.json'spkgvalue inside each zone's tarball, and are an eclectic bunch that don't map neatly to the other methods (some use underscores, some use dashes, and some append a-zonesuffix)Can we collapse some of these (with work to make the users of them use more consistent names)?