Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: daf_butler
-
Story Points:10
-
Epic Link:
-
Team:Data Access and Database
-
Urgent?:No
Description
Dimensions.yaml should be locked in and read-only as soon as the schema is created during the makeRepo phase. At the moment there is nothing stopping a repository from breaking if dimensions.yaml is updated in daf_butler and there is nothing stopping a user editing the config file after repository creation and breaking things.
We propose to remove dimensions.yaml from ButlerConfig and have it as an explicit argument for makeRepo (defaulting to pkg://lsst.daf.butler/configs/dimensions.yaml) which will then ensure that the dimensions configuration is locked in for that repository.
We will still require that it be possible to migrate a registry to a new dimensions definition but that migration should be by explicit request.
Is JSON better than YAML? Are you worried about line breaks? With YAML you can at least dump that into dimension.yaml without going through Config class.