From 7ac94bbf5fe5bcf287233e6e73f2ca99aafc671c Mon Sep 17 00:00:00 2001 From: James Shubin Date: Wed, 7 Jun 2017 03:15:06 -0400 Subject: [PATCH] resources: Panic if attempting to register a duplicate resource Don't silently let this overwrite pass. It would mean a mistake. --- resources/resources.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/resources.go b/resources/resources.go index aee007e4..665b0507 100644 --- a/resources/resources.go +++ b/resources/resources.go @@ -45,6 +45,9 @@ var registeredResources = map[string]func() Res{} // RegisterResource registers a new resource by providing a constructor // function that returns a resource object ready to be unmarshalled from YAML. func RegisterResource(kind string, fn func() Res) { + if _, ok := registeredResources[kind]; ok { + panic(fmt.Sprintf("a resource kind of %s is already registered", kind)) + } gob.Register(fn()) registeredResources[kind] = fn }