diff --git a/snapcraft/defaults/staticd.conf.default b/snapcraft/defaults/staticd.conf.default new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/snapcraft/scripts/Makefile b/snapcraft/scripts/Makefile index 110f4b2878f6..9a476c6e58d6 100644 --- a/snapcraft/scripts/Makefile +++ b/snapcraft/scripts/Makefile @@ -15,6 +15,7 @@ install: install -D -m 0755 babeld-service $(DESTDIR)/bin/ install -D -m 0755 eigrpd-service $(DESTDIR)/bin/ install -D -m 0755 pbrd-service $(DESTDIR)/bin/ + install -D -m 0755 staticd-service $(DESTDIR)/bin/ install -D -m 0755 set-options $(DESTDIR)/bin/ install -D -m 0755 show_version $(DESTDIR)/bin/ diff --git a/snapcraft/scripts/staticd-service b/snapcraft/scripts/staticd-service new file mode 100644 index 000000000000..3b22881640ef --- /dev/null +++ b/snapcraft/scripts/staticd-service @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e -x + +if ! [ -e $SNAP_DATA/staticd.conf ]; then + if [ -e $SNAP_DATA/zebra.conf ]; then + # if we have a zebra.conf, but no staticd conf, then we use + # this file as the default config for staticd + cp $SNAP_DATA/zebra.conf $SNAP_DATA/staticd.conf + else + # new config, start with template + cp $SNAP/etc/frr/staticd.conf $SNAP_DATA/staticd.conf + fi +fi +exec $SNAP/sbin/staticd \ + -f $SNAP_DATA/staticd.conf \ + --pid_file $SNAP_DATA/staticd.pid \ + --socket $SNAP_DATA/zsock \ + --vty_socket $SNAP_DATA + diff --git a/snapcraft/snapcraft.yaml.in b/snapcraft/snapcraft.yaml.in index b4e1812c86e0..48dc69278b62 100644 --- a/snapcraft/snapcraft.yaml.in +++ b/snapcraft/snapcraft.yaml.in @@ -113,6 +113,13 @@ apps: - network - network-bind - network-control + staticd: + command: bin/staticd-service + daemon: simple + plugs: + - network + - network-bind + - network-control set: command: bin/set-options zebra-debug: @@ -193,6 +200,8 @@ apps: - network - network-bind - network-control + staticd-debug: + command: sbin/staticd -f $SNAP_DATA/staticd.conf --pid_file $SNAP_DATA/staticd.pid --socket $SNAP_DATA/zsock --vty_socket $SNAP_DATA parts: frr: