From 31e730600d796985c34dd6e682115fa41a1b57f7 Mon Sep 17 00:00:00 2001 From: Pablo Carranza Velez Date: Wed, 17 Oct 2018 17:04:14 +0200 Subject: [PATCH 1/3] Use the DOCKER_SOCKET env var for the user container's balena socket mount Instead of hardcoding balena.sock we use this variable since the path changes with the balena -> balenaEngine rename. We keep also mounting into balena.sock for backwards compatibility (even though most tools should transparently use the DOCKER_HOST env var). Change-type: minor Signed-off-by: Pablo Carranza Velez --- src/compose/utils.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/compose/utils.ts b/src/compose/utils.ts index 3f854961..2dc2c9aa 100644 --- a/src/compose/utils.ts +++ b/src/compose/utils.ts @@ -323,9 +323,13 @@ export function addFeaturesFromLabels( } if (checkTruthy(service.config.labels['io.balena.features.balena-socket'])) { - service.config.volumes.push('/var/run/balena.sock:/var/run/balena.sock'); + service.config.volumes.push(`${constants.dockerSocket}:${constants.dockerSocket}`); if (service.config.environment['DOCKER_HOST'] == null) { - service.config.environment['DOCKER_HOST'] = 'unix:///var/run/balena.sock'; + service.config.environment['DOCKER_HOST'] = `unix://${constants.dockerSocket}`; + } + // We keep balena.sock for backwards compatibility + if (constants.dockerSocket != '/var/run/balena.sock') { + service.config.volumes.push(`${constants.dockerSocket}:/var/run/balena.sock`); } } From 0a4eefa9c67c9acf1f745dd6727a2f74bcc50e5c Mon Sep 17 00:00:00 2001 From: Pablo Carranza Velez Date: Wed, 17 Oct 2018 17:18:07 +0200 Subject: [PATCH 2/3] network: Ignore resin-redsocks and balena-redsocks when reporting IP addresses Change-type: patch Signed-off-by: Pablo Carranza Velez --- src/network.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network.coffee b/src/network.coffee index 620015ce..e90ac483 100644 --- a/src/network.coffee +++ b/src/network.coffee @@ -88,7 +88,7 @@ exports.getIPAddresses = -> # - the docker network for the supervisor API (supervisor0) # - custom docker network bridges (br- + 12 hex characters) _.flatten(_.map(_.omitBy(os.networkInterfaces(), (interfaceFields, interfaceName) -> - /^(?:balena|docker|rce|tun)[0-9]+|tun[0-9]+|resin-vpn|lo|resin-dns|supervisor0|br-[0-9a-f]{12}$/.test(interfaceName)) + /^(?:balena|docker|rce|tun)[0-9]+|tun[0-9]+|resin-vpn|lo|resin-dns|supervisor0|balena-redsocks|resin-redsocks|br-[0-9a-f]{12}$/.test(interfaceName)) , (validInterfaces) -> _.map(_.pickBy(validInterfaces, family: 'IPv4'), 'address')) ) From e17bb5984405e30d5273a3e7101e57f2d2202a4a Mon Sep 17 00:00:00 2001 From: Pablo Carranza Velez Date: Wed, 17 Oct 2018 17:33:51 +0200 Subject: [PATCH 3/3] config: Allow atomic config.json writes on balenaOS Change-type: minor Signed-off-by: Pablo Carranza Velez --- src/config/configJson.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/configJson.ts b/src/config/configJson.ts index 06959dd8..31aeb110 100644 --- a/src/config/configJson.ts +++ b/src/config/configJson.ts @@ -136,7 +136,7 @@ export default class ConfigJsonConfigBackend { if (osVersion == null) { throw new Error('Failed to detect OS version!'); } - if (/^Resin OS (1|2)./.test(osVersion)) { + if (/^(Resin OS|balenaOS)/.test(osVersion)) { // In Resin OS 1.12, $BOOT_MOUNTPOINT was added and it coincides with config.json's path if (constants.bootMountPointFromEnv != null) { return path.join(constants.bootMountPointFromEnv, 'config.json');