diff --git a/hassio/addons/data.py b/hassio/addons/data.py index 4228c053a..c9e134823 100644 --- a/hassio/addons/data.py +++ b/hassio/addons/data.py @@ -16,7 +16,7 @@ from ..const import ( FILE_HASSIO_ADDONS, ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, ATTR_STARTUP, ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, BOOT_AUTO, ATTR_SCHEMA, ATTR_IMAGE, ATTR_REPOSITORY, ATTR_URL, ATTR_ARCH, - ATTR_LOCATON, ATTR_DEVICES) + ATTR_LOCATON, ATTR_DEVICES, ATTR_ENVIRONMENT) from ..config import Config from ..tools import read_json_file, write_json_file @@ -298,6 +298,10 @@ class AddonsData(Config): """Return devices of addon.""" return self._system_data[addon].get(ATTR_DEVICES) + def get_environment(self, addon): + """Return environment of addon.""" + return self._system_data[addon].get(ATTR_ENVIRONMENT) + def get_url(self, addon): """Return url of addon.""" if addon in self._addons_cache: diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 39d8f3c1a..d7499c563 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -5,8 +5,8 @@ from ..const import ( ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, ATTR_STARTUP, ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, STARTUP_ONCE, STARTUP_AFTER, STARTUP_BEFORE, BOOT_AUTO, BOOT_MANUAL, ATTR_SCHEMA, ATTR_IMAGE, - ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, ARCH_ARMHF, - ARCH_AARCH64, ARCH_AMD64, ARCH_I386) + ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, ATTR_ENVIRONMENT, + ARCH_ARMHF, ARCH_AARCH64, ARCH_AMD64, ARCH_I386) MAP_VOLUME = r"^(config|ssl|addons|backup)(?::(rw|:ro))?$" @@ -39,6 +39,7 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ vol.Optional(ATTR_PORTS): dict, vol.Optional(ATTR_DEVICES): [vol.Match(r"^(.*):(.*):([rwm]{1,3})$")], vol.Optional(ATTR_MAP, default=[]): [vol.Match(MAP_VOLUME)], + vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)}, vol.Required(ATTR_OPTIONS): dict, vol.Required(ATTR_SCHEMA): { vol.Coerce(str): vol.Any(ADDON_ELEMENT, [ diff --git a/hassio/const.py b/hassio/const.py index 61aed2c40..6f2aeb6c8 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -76,6 +76,7 @@ ATTR_SESSION = 'session' ATTR_LOCATON = 'location' ATTR_BUILD = 'build' ATTR_DEVICES = 'devices' +ATTR_ENVIRONMENT = 'environment' STARTUP_BEFORE = 'before' STARTUP_AFTER = 'after' diff --git a/hassio/dock/addon.py b/hassio/dock/addon.py index 813890119..e406e8c9f 100644 --- a/hassio/dock/addon.py +++ b/hassio/dock/addon.py @@ -82,6 +82,7 @@ class DockerAddon(DockerBase): network_mode='bridge', ports=self.addons_data.get_ports(self.addon), devices=self.addons_data.get_devices(self.addon), + environment=self.addons_data.get_environment(self.addon), volumes=self.volumes, )