From f716624f89c208c834ef8e39c763e2b7be4498ec Mon Sep 17 00:00:00 2001 From: Heds Simons Date: Fri, 27 Jul 2018 14:18:13 +0100 Subject: [PATCH 1/2] network: Add MDNS support for `.local` domains This requires the initialisation of both DBus and Avahi in the `entry.sh` script to allow resolution via libc. Due to issues with Avahi's `init.d` script, the previous PIDfile is explicitly removed. Connects-to: #712 Change-type: minor Signed-off-by: Heds Simons --- Dockerfile | 5 +++- avahi-daemon.conf | 67 +++++++++++++++++++++++++++++++++++++++++++++++ entry.sh | 6 +++++ 3 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 avahi-daemon.conf diff --git a/Dockerfile b/Dockerfile index 64899962..5ec1e78e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -98,7 +98,7 @@ RUN [ "cross-build-end" ] ############################################################################## # Minimal runtime image -FROM resin/$ARCH-supervisor-base:v1.2.0 +FROM resin/$ARCH-supervisor-base:v1.3.0 ARG ARCH ARG VERSION=master ARG DEFAULT_MIXPANEL_TOKEN=bananasbananas @@ -109,6 +109,9 @@ COPY --from=node-build /usr/src/app/dist ./dist COPY --from=node-deps /build/node_modules ./node_modules COPY --from=node-deps /build/rootfs-overlay/ / +# Remove default nproc limit for Avahi for it to work in-container +COPY avahi-daemon.conf /etc/avahi/avahi-daemon.conf + VOLUME /data ENV CONFIG_MOUNT_POINT=/boot/config.json \ diff --git a/avahi-daemon.conf b/avahi-daemon.conf new file mode 100644 index 00000000..3d5b7a65 --- /dev/null +++ b/avahi-daemon.conf @@ -0,0 +1,67 @@ +# This file is part of avahi. +# +# avahi is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# avahi is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with avahi; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +# See avahi-daemon.conf(5) for more information on this configuration +# file! + +[server] +#host-name=foo +#domain-name=local +#browse-domains=0pointer.de, zeroconf.org +use-ipv4=yes +use-ipv6=yes +#allow-interfaces=eth0 +#deny-interfaces=eth1 +#check-response-ttl=no +#use-iff-running=no +#enable-dbus=yes +#disallow-other-stacks=no +#allow-point-to-point=no +#cache-entries-max=4096 +#clients-max=4096 +#objects-per-client-max=1024 +#entries-per-entry-group-max=32 +ratelimit-interval-usec=1000000 +ratelimit-burst=1000 + +[wide-area] +enable-wide-area=yes + +[publish] +#disable-publishing=no +#disable-user-service-publishing=no +#add-service-cookie=no +#publish-addresses=yes +publish-hinfo=no +publish-workstation=no +#publish-domain=yes +#publish-dns-servers=192.168.50.1, 192.168.50.2 +#publish-resolv-conf-dns-servers=yes +#publish-aaaa-on-ipv4=yes +#publish-a-on-ipv6=no + +[reflector] +#enable-reflector=no +#reflect-ipv=no + +[rlimits] +#rlimit-as= +rlimit-core=0 +rlimit-data=4194304 +rlimit-fsize=0 +rlimit-nofile=768 +rlimit-stack=4194304 diff --git a/entry.sh b/entry.sh index 877385d1..93fd195f 100755 --- a/entry.sh +++ b/entry.sh @@ -2,6 +2,12 @@ set -o errexit +# Start Avahi to allow MDNS lookups +mkdir -p /var/run/dbus +rm -f /var/run/avahi-daemon/pid +/etc/init.d/dbus-1 start +/etc/init.d/avahi-daemon start + [ -d /mnt/root/tmp/resin-supervisor ] || mkdir -p /mnt/root/tmp/resin-supervisor From 01db7c448fbcc9e17bb270eb97d7b96e369e061c Mon Sep 17 00:00:00 2001 From: "resin-io-versionbot[bot]" Date: Fri, 24 Aug 2018 15:35:56 +0000 Subject: [PATCH 2/2] v7.18.0 --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 818567a6..39ff8f3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## v7.18.0 - 2018-08-24 + +* Network: Add MDNS support for `.local` domains #713 [Heds Simons] + ## v7.17.1 - 2018-08-17 * Ux: Warn on invalid device name when trying to start a service #729 [Cameron Diver] diff --git a/package.json b/package.json index a47dfa1a..fab04f9f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "resin-supervisor", "description": "This is resin.io's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as Resin's API informs it to.", - "version": "7.17.1", + "version": "7.18.0", "license": "Apache-2.0", "repository": { "type": "git",