mirror of
https://github.com/devplayer0/docker-net-dhcp
synced 2024-10-30 09:20:28 +00:00
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
PLUGIN_NAME = ghcr.io/devplayer0/docker-net-dhcp
|
|
PLUGIN_TAG ?= golang
|
|
PLATFORMS ?= linux/amd64,linux/arm64
|
|
|
|
SOURCES = $(shell find pkg/ cmd/ -name '*.go')
|
|
BINARY = bin/net-dhcp
|
|
|
|
.PHONY: all debug build create enable disable pdebug push clean
|
|
|
|
all: create enable
|
|
|
|
bin/%: $(SOURCES)
|
|
go build -o $@ ./cmd/$(shell basename $@)
|
|
|
|
debug: $(BINARY)
|
|
sudo $< -log debug
|
|
|
|
build: $(SOURCES)
|
|
docker build -t $(PLUGIN_NAME):rootfs .
|
|
|
|
plugin/rootfs: build
|
|
mkdir -p plugin/rootfs
|
|
docker create --name tmp $(PLUGIN_NAME):rootfs
|
|
docker export tmp | tar xC plugin/rootfs
|
|
docker rm -vf tmp
|
|
|
|
plugin: plugin/rootfs config.json
|
|
cp config.json $@/
|
|
|
|
create: plugin
|
|
docker plugin rm -f $(PLUGIN_NAME):$(PLUGIN_TAG) || true
|
|
docker plugin create $(PLUGIN_NAME):$(PLUGIN_TAG) $<
|
|
docker plugin set $(PLUGIN_NAME):$(PLUGIN_TAG) LOG_LEVEL=trace
|
|
|
|
enable: plugin
|
|
docker plugin enable $(PLUGIN_NAME):$(PLUGIN_TAG)
|
|
disable:
|
|
docker plugin disable $(PLUGIN_NAME):$(PLUGIN_TAG)
|
|
|
|
pdebug: create enable
|
|
sudo sh -c 'tail -f /var/lib/docker/plugins/*/rootfs/var/log/net-dhcp.log'
|
|
|
|
push: create
|
|
docker plugin push $(PLUGIN_NAME):$(PLUGIN_TAG)
|
|
|
|
multiarch: $(SOURCES)
|
|
docker buildx build --platform=$(PLATFORMS) -o type=local,dest=$@ .
|
|
|
|
push-multiarch: multiarch config.json
|
|
scripts/push_multiarch_plugin.py -p $(PLATFORMS) config.json multiarch $(PLUGIN_NAME):$(PLUGIN_TAG)
|
|
|
|
clean:
|
|
-rm -rf multiarch/
|
|
-rm -rf plugin/
|
|
-rm bin/*
|