aboutsummaryrefslogtreecommitdiff
path: root/net/wgsd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'net/wgsd/Makefile')
-rw-r--r--net/wgsd/Makefile87
1 files changed, 87 insertions, 0 deletions
diff --git a/net/wgsd/Makefile b/net/wgsd/Makefile
new file mode 100644
index 000000000..3b0c5dbc8
--- /dev/null
+++ b/net/wgsd/Makefile
@@ -0,0 +1,87 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=wgsd
+PKG_VERSION:=0.3.6
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/jwhited/wgsd/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=b64e7c93a98e444e6ef46871fb73349c485c501469758e459e10188d7abfec28
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Vladimir Ermakov <vooon341@gmail.com>
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=no-mips16
+
+GO_PKG:=github.com/jwhited/wgsd
+GO_PKG_EXCLUDES:=test
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/wgsd/Default
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=VPN
+ TITLE:=WireGuard Service Discovery
+ URL:=https://github.com/jwhited/wgsd
+ DEPENDS:=+kmod-wireguard
+endef
+
+define Package/wgsd-coredns
+ $(call Package/wgsd/Default)
+ TITLE+= DNS-SD server
+endef
+
+define Package/wgsd-client
+ $(call Package/wgsd/Default)
+ TITLE+= Client
+endef
+
+define Package/wgsd/Default/description
+ wgsd is a CoreDNS plugin that serves WireGuard peer information via DNS-SD (RFC6763) semantics.
+ This enables use cases such as:
+
+ - Building a mesh of WireGuard peers from a central registry
+ - Dynamic discovery of WireGuard Endpoint addressing (both IP address and port number)
+ - NAT-to-NAT WireGuard connectivity where UDP hole punching is supported.
+endef
+
+define Package/wgsd-coredns/description
+ $(call Package/wgsd/Default/description)
+
+ CoreDNS binary.
+endef
+
+define Package/wgsd-client/description
+ $(call Package/wgsd/Default/description)
+
+ Client binary.
+endef
+
+define Package/wgsd-coredns/conffiles
+/etc/Corefile
+endef
+
+define Package/wgsd-coredns/install
+ $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/coredns $(1)/usr/bin/wgsd-coredns
+
+ $(INSTALL_DIR) $(1)/etc/
+ $(INSTALL_CONF) $(CURDIR)/files/Corefile $(1)/etc/Corefile
+ $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_BIN) $(CURDIR)/files/wgsd-coredns.init $(1)/etc/init.d/wgsd-coredns
+endef
+
+define Package/wgsd-client/install
+ $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wgsd-client $(1)/usr/bin/wgsd-client
+endef
+
+$(eval $(call BuildPackage,wgsd-coredns))
+$(eval $(call BuildPackage,wgsd-client))