diff --git a/generate/container.py b/generate/container.py index 7846e8a..8e829c8 100644 --- a/generate/container.py +++ b/generate/container.py @@ -720,17 +720,30 @@ class Container: name = maybe(json, "name") if name is None: logger.log_error("No container name set, aborting!") - return + raise ConfigError("Container has no name") image = maybe(json, "image") if image is None: logger.log_error("No image set, aborting!") - return - if image.name == "" or image.registry == "" or image.tag == "": - logger.log_error("Image config is missing required keys!") - return + raise ConfigError("Container has no image") + + self.image = Image.from_json(image, logger) + image_valid = True + if self.image.image == "": + logger.log_error("Image has no image set!") + image_valid = False + if self.image.registry == "": + logger.log_error("Image has no registry set!") + image_valid = False + if self.image.tag == "": + logger.log_error("Image has no tag set!") + image_valid = False + if not image_valid: + raise ConfigError("Image is missing required keys!") + + self.name = name ct_opts = ContainerOptions.from_json(json, logger) if not ct_opts.is_valid: - return + raise ConfigError("Config seems to be invalid?") env = maybe(json, "env") secrets = maybe(json, "secrets") volumes = maybe(json, "volumes")