Skip to content

Commit b4fb5ac

Browse files
committed
Fix merge conflict
2 parents 64c5e20 + 4b7201d commit b4fb5ac

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

hassio/addons/addon.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, ATTR_BOOT, ATTR_MAP,
1818
ATTR_OPTIONS, ATTR_PORTS, ATTR_SCHEMA, ATTR_IMAGE, ATTR_REPOSITORY,
1919
ATTR_URL, ATTR_ARCH, ATTR_LOCATON, ATTR_DEVICES, ATTR_ENVIRONMENT,
20-
ATTR_HOST_NETWORK, ATTR_TMPFS, ATTR_PRIVILEGED, ATTR_STARTUP,
20+
ATTR_HOST_NETWORK, ATTR_TMPFS, ATTR_PRIVILEGED, ATTR_STARTUP, ATTR_UUID,
2121
STATE_STARTED, STATE_STOPPED, STATE_NONE, ATTR_USER, ATTR_SYSTEM,
2222
ATTR_STATE, ATTR_TIMEOUT, ATTR_AUTO_UPDATE, ATTR_NETWORK, ATTR_WEBUI,
2323
ATTR_HASSIO_API, ATTR_AUDIO, ATTR_AUDIO_OUTPUT, ATTR_AUDIO_INPUT,
@@ -153,6 +153,12 @@ def timeout(self):
153153
"""Return timeout of addon for docker stop."""
154154
return self._mesh[ATTR_TIMEOUT]
155155

156+
@property
157+
def api_token(self):
158+
"""Return a API token for this add-on."""
159+
if self.is_installed:
160+
return self.data.user[self._id][ATTR_UUID]
161+
156162
@property
157163
def description(self):
158164
"""Return description of addon."""

hassio/addons/validate.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Validate addons options schema."""
22
import logging
33
import re
4+
import uuid
45

56
import voluptuous as vol
67

@@ -12,7 +13,7 @@
1213
ATTR_ARCH, ATTR_DEVICES, ATTR_ENVIRONMENT, ATTR_HOST_NETWORK, ARCH_ARMHF,
1314
ARCH_AARCH64, ARCH_AMD64, ARCH_I386, ATTR_TMPFS, ATTR_PRIVILEGED,
1415
ATTR_USER, ATTR_STATE, ATTR_SYSTEM, STATE_STARTED, STATE_STOPPED,
15-
ATTR_LOCATON, ATTR_REPOSITORY, ATTR_TIMEOUT, ATTR_NETWORK,
16+
ATTR_LOCATON, ATTR_REPOSITORY, ATTR_TIMEOUT, ATTR_NETWORK, ATTR_UUID,
1617
ATTR_AUTO_UPDATE, ATTR_WEBUI, ATTR_AUDIO, ATTR_AUDIO_INPUT,
1718
ATTR_AUDIO_OUTPUT, ATTR_HASSIO_API, ATTR_BUILD_FROM, ATTR_SQUASH,
1819
ATTR_ARGS, ATTR_GPIO, ATTR_HOMEASSISTANT_API, ATTR_STDIN, ATTR_LEGACY)
@@ -116,7 +117,7 @@ def _simple_startup(value):
116117
}), False),
117118
vol.Optional(ATTR_IMAGE): vol.Match(r"^[\w{}]+/[\-\w{}]+$"),
118119
vol.Optional(ATTR_TIMEOUT, default=10):
119-
vol.All(vol.Coerce(int), vol.Range(min=10, max=120))
120+
vol.All(vol.Coerce(int), vol.Range(min=10, max=120)),
120121
}, extra=vol.REMOVE_EXTRA)
121122

122123

@@ -137,20 +138,22 @@ def _simple_startup(value):
137138
vol.Optional(ATTR_ARGS, default={}): vol.Schema({
138139
vol.Coerce(str): vol.Coerce(str)
139140
}),
140-
})
141+
}, extra=vol.REMOVE_EXTRA)
141142

142143

143144
# pylint: disable=no-value-for-parameter
144145
SCHEMA_ADDON_USER = vol.Schema({
145146
vol.Required(ATTR_VERSION): vol.Coerce(str),
147+
vol.Optional(ATTR_UUID, default=lambda: uuid.uuid4().hex):
148+
vol.Match(r"^[0-9a-f]{32}$"),
146149
vol.Optional(ATTR_OPTIONS, default={}): dict,
147150
vol.Optional(ATTR_AUTO_UPDATE, default=False): vol.Boolean(),
148151
vol.Optional(ATTR_BOOT):
149152
vol.In([BOOT_AUTO, BOOT_MANUAL]),
150153
vol.Optional(ATTR_NETWORK): DOCKER_PORTS,
151154
vol.Optional(ATTR_AUDIO_OUTPUT): ALSA_CHANNEL,
152155
vol.Optional(ATTR_AUDIO_INPUT): ALSA_CHANNEL,
153-
})
156+
}, extra=vol.REMOVE_EXTRA)
154157

155158

156159
SCHEMA_ADDON_SYSTEM = SCHEMA_ADDON_CONFIG.extend({

hassio/const.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from pathlib import Path
33
from ipaddress import ip_network
44

5-
HASSIO_VERSION = '0.73'
5+
HASSIO_VERSION = '0.74'
66

77
URL_HASSIO_VERSION = ('https://raw.githubusercontent.com/home-assistant/'
88
'hassio/{}/version.json')
@@ -110,6 +110,7 @@
110110
ATTR_HASSIO = 'hassio'
111111
ATTR_HASSIO_API = 'hassio_api'
112112
ATTR_HOMEASSISTANT_API = 'homeassistant_api'
113+
ATTR_UUID = 'uuid'
113114
ATTR_FOLDERS = 'folders'
114115
ATTR_SIZE = 'size'
115116
ATTR_TYPE = 'type'
@@ -127,7 +128,7 @@
127128
ATTR_BUILD_FROM = 'build_from'
128129
ATTR_SQUASH = 'squash'
129130
ATTR_GPIO = 'gpio'
130-
ATTR_LEGACY = 'ATTR_LEGACY'
131+
ATTR_LEGACY = 'legacy'
131132
ATTR_ADDONS_CUSTOM_LIST = 'addons_custom_list'
132133

133134
STARTUP_INITIALIZE = 'initialize'

hassio/dock/addon.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ def environment(self):
6060
'ALSA_INPUT': self.addon.audio_input,
6161
})
6262

63+
# Set api token if any API access is needed
64+
if self.addon.access_hassio_api or self.addon.access_homeassistant_api:
65+
addon_env['API_TOKEN'] = self.addon.api_token
66+
6367
return {
6468
**addon_env,
6569
'TZ': self.config.timezone,
@@ -188,6 +192,7 @@ def _run(self):
188192
name=self.name,
189193
hostname=self.hostname,
190194
detach=True,
195+
init=True,
191196
stdin_open=self.addon.with_stdin,
192197
network_mode=self.network_mode,
193198
ports=self.ports,

version.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"hassio": "0.73",
3-
"homeassistant": "0.57",
2+
"hassio": "0.74",
3+
"homeassistant": "0.57.1",
44
"resinos": "1.1",
55
"resinhup": "0.3",
66
"generic": "0.3",

0 commit comments

Comments
 (0)