Skip to content

Commit 81e1227

Browse files
authored
Merge pull request #59 from home-assistant/dev
Release 0.29
2 parents 3eac6a3 + 75be866 commit 81e1227

File tree

8 files changed

+59
-18
lines changed

8 files changed

+59
-18
lines changed

hassio/addons/data.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
FILE_HASSIO_ADDONS, ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON,
1717
ATTR_STARTUP, ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, BOOT_AUTO,
1818
ATTR_SCHEMA, ATTR_IMAGE, ATTR_REPOSITORY, ATTR_URL, ATTR_ARCH,
19-
ATTR_LOCATON, ATTR_DEVICES)
19+
ATTR_LOCATON, ATTR_DEVICES, ATTR_ENVIRONMENT)
2020
from ..config import Config
2121
from ..tools import read_json_file, write_json_file
2222

@@ -298,6 +298,10 @@ def get_devices(self, addon):
298298
"""Return devices of addon."""
299299
return self._system_data[addon].get(ATTR_DEVICES)
300300

301+
def get_environment(self, addon):
302+
"""Return environment of addon."""
303+
return self._system_data[addon].get(ATTR_ENVIRONMENT)
304+
301305
def get_url(self, addon):
302306
"""Return url of addon."""
303307
if addon in self._addons_cache:

hassio/addons/validate.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, ATTR_STARTUP,
66
ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, STARTUP_ONCE, STARTUP_AFTER,
77
STARTUP_BEFORE, BOOT_AUTO, BOOT_MANUAL, ATTR_SCHEMA, ATTR_IMAGE,
8-
ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, ARCH_ARMHF,
9-
ARCH_AARCH64, ARCH_AMD64, ARCH_I386)
8+
ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, ATTR_ENVIRONMENT,
9+
ARCH_ARMHF, ARCH_AARCH64, ARCH_AMD64, ARCH_I386)
1010

1111

12-
MAP_VOLUME = r"^(config|ssl|addons|backup)(?::(rw|:ro))?$"
12+
MAP_VOLUME = r"^(config|ssl|addons|backup|share|mnt)(?::(rw|:ro))?$"
1313

1414
V_STR = 'str'
1515
V_INT = 'int'
@@ -39,6 +39,7 @@
3939
vol.Optional(ATTR_PORTS): dict,
4040
vol.Optional(ATTR_DEVICES): [vol.Match(r"^(.*):(.*):([rwm]{1,3})$")],
4141
vol.Optional(ATTR_MAP, default=[]): [vol.Match(MAP_VOLUME)],
42+
vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)},
4243
vol.Required(ATTR_OPTIONS): dict,
4344
vol.Required(ATTR_SCHEMA): {
4445
vol.Coerce(str): vol.Any(ADDON_ELEMENT, [

hassio/bootstrap.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,24 @@ def initialize_system_data(websession):
2121
"Create Home-Assistant config folder %s", config.path_config)
2222
config.path_config.mkdir()
2323

24-
# homeassistant ssl folder
24+
# hassio ssl folder
2525
if not config.path_ssl.is_dir():
26-
_LOGGER.info("Create Home-Assistant ssl folder %s", config.path_ssl)
26+
_LOGGER.info("Create hassio ssl folder %s", config.path_ssl)
2727
config.path_ssl.mkdir()
2828

29-
# homeassistant addon data folder
29+
# hassio addon data folder
3030
if not config.path_addons_data.is_dir():
31-
_LOGGER.info("Create Home-Assistant addon data folder %s",
32-
config.path_addons_data)
31+
_LOGGER.info(
32+
"Create hassio addon data folder %s", config.path_addons_data)
3333
config.path_addons_data.mkdir(parents=True)
3434

3535
if not config.path_addons_local.is_dir():
36-
_LOGGER.info("Create Home-Assistant addon local repository folder %s",
36+
_LOGGER.info("Create hassio addon local repository folder %s",
3737
config.path_addons_local)
3838
config.path_addons_local.mkdir(parents=True)
3939

4040
if not config.path_addons_git.is_dir():
41-
_LOGGER.info("Create Home-Assistant addon git repositories folder %s",
41+
_LOGGER.info("Create hassio addon git repositories folder %s",
4242
config.path_addons_git)
4343
config.path_addons_git.mkdir(parents=True)
4444

@@ -47,12 +47,16 @@ def initialize_system_data(websession):
4747
config.path_addons_build)
4848
config.path_addons_build.mkdir(parents=True)
4949

50-
# homeassistant backup folder
50+
# hassio backup folder
5151
if not config.path_backup.is_dir():
52-
_LOGGER.info("Create Home-Assistant backup folder %s",
53-
config.path_backup)
52+
_LOGGER.info("Create hassio backup folder %s", config.path_backup)
5453
config.path_backup.mkdir()
5554

55+
# share folder
56+
if not config.path_share.is_dir():
57+
_LOGGER.info("Create hassio share folder %s", config.path_share)
58+
config.path_share.mkdir()
59+
5660
return config
5761

5862

hassio/config.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232

3333
BACKUP_DATA = PurePath("backup")
3434

35+
SHARE_DATA = PurePath("share")
36+
3537
UPSTREAM_BETA = 'upstream_beta'
3638

3739
API_ENDPOINT = 'api_endpoint'
@@ -233,6 +235,16 @@ def path_extern_backup(self):
233235
"""Return root backup data folder extern for docker."""
234236
return PurePath(self.path_extern_hassio, BACKUP_DATA)
235237

238+
@property
239+
def path_share(self):
240+
"""Return root share data folder."""
241+
return Path(HASSIO_SHARE, SHARE_DATA)
242+
243+
@property
244+
def path_extern_share(self):
245+
"""Return root share data folder extern for docker."""
246+
return PurePath(self.path_extern_hassio, SHARE_DATA)
247+
236248
@property
237249
def addons_repositories(self):
238250
"""Return list of addons custom repositories."""

hassio/const.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Const file for HassIO."""
22
from pathlib import Path
33

4-
HASSIO_VERSION = '0.28'
4+
HASSIO_VERSION = '0.29'
55

66
URL_HASSIO_VERSION = ('https://raw.githubusercontent.com/home-assistant/'
77
'hassio/master/version.json')
@@ -76,6 +76,7 @@
7676
ATTR_LOCATON = 'location'
7777
ATTR_BUILD = 'build'
7878
ATTR_DEVICES = 'devices'
79+
ATTR_ENVIRONMENT = 'environment'
7980

8081
STARTUP_BEFORE = 'before'
8182
STARTUP_AFTER = 'after'
@@ -91,6 +92,8 @@
9192
MAP_SSL = 'ssl'
9293
MAP_ADDONS = 'addons'
9394
MAP_BACKUP = 'backup'
95+
MAP_SHARE = 'share'
96+
MAP_MNT = 'mnt'
9497

9598
ARCH_ARMHF = 'armhf'
9699
ARCH_AARCH64 = 'aarch64'

hassio/dock/addon.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
from . import DockerBase
99
from .util import dockerfile_template
10-
from ..const import META_ADDON, MAP_CONFIG, MAP_SSL, MAP_ADDONS, MAP_BACKUP
10+
from ..const import (
11+
META_ADDON, MAP_CONFIG, MAP_SSL, MAP_ADDONS, MAP_BACKUP, MAP_SHARE,
12+
MAP_MNT)
1113

1214
_LOGGER = logging.getLogger(__name__)
1315

@@ -61,6 +63,18 @@ def volumes(self):
6163
'bind': '/backup', 'mode': addon_mapping[MAP_BACKUP]
6264
}})
6365

66+
if MAP_SHARE in addon_mapping:
67+
volumes.update({
68+
str(self.config.path_extern_share): {
69+
'bind': '/share', 'mode': addon_mapping[MAP_SHARE]
70+
}})
71+
72+
if MAP_MNT in addon_mapping:
73+
volumes.update({
74+
'/mnt': {
75+
'bind': '/mnt', 'mode': addon_mapping[MAP_MNT]
76+
}})
77+
6478
return volumes
6579

6680
def _run(self):
@@ -82,6 +96,7 @@ def _run(self):
8296
network_mode='bridge',
8397
ports=self.addons_data.get_ports(self.addon),
8498
devices=self.addons_data.get_devices(self.addon),
99+
environment=self.addons_data.get_environment(self.addon),
85100
volumes=self.volumes,
86101
)
87102

hassio/dock/homeassistant.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ def _run(self):
4747
str(self.config.path_extern_config):
4848
{'bind': '/config', 'mode': 'rw'},
4949
str(self.config.path_extern_ssl):
50-
{'bind': '/ssl', 'mode': 'rw'},
50+
{'bind': '/ssl', 'mode': 'ro'},
51+
str(self.config.path_extern_share):
52+
{'bind': '/share', 'mode': 'rw'},
5153
})
5254

5355
self.process_metadata()

version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"hassio": "0.28",
2+
"hassio": "0.29",
33
"homeassistant": "0.44.2",
44
"resinos": "0.7",
55
"resinhup": "0.1",

0 commit comments

Comments
 (0)