Expose config options for cleartext stratum port
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Kamado Pool — StartOS 0.4.0 package.
|
||||
#
|
||||
# Prerequisites: node/npm, docker (with buildx), start-cli, rsync.
|
||||
# First run `npm ci`, then:
|
||||
# make -> kamado-pool.s9pk, the universal package (x86_64 +
|
||||
# aarch64 in one file) — this is what to ship.
|
||||
# make x86 / arm -> single-arch packages, for faster dev iteration.
|
||||
#
|
||||
# Building the aarch64 image on an x86 host needs qemu binfmt handlers and
|
||||
# a builder that advertises linux/arm64 — `make setup` registers both.
|
||||
#
|
||||
# KamadoPool source is expected in a sibling checkout at ../KamadoPool
|
||||
# (override with `make KAMADO_SRC=/path/to/KamadoPool`). It is synced into
|
||||
# ./kamado-src before packing, because `start-cli s9pk pack` builds the
|
||||
# Dockerfile with this directory as the only build context.
|
||||
|
||||
ARCHES := x86 arm
|
||||
# Ship one universal s9pk by default rather than a per-arch pair.
|
||||
TARGETS := universal
|
||||
|
||||
# Buildx builder used by `make setup`. Must advertise linux/amd64 and
|
||||
# linux/arm64; network=host works around container-DNS breakage on hosts
|
||||
# running systemd-resolved.
|
||||
BUILDER ?= kamado-hostnet
|
||||
KAMADO_SRC ?= ../KamadoPool
|
||||
|
||||
# Source files whose changes should trigger a re-sync + repack (excludes
|
||||
# node_modules/dist build artifacts).
|
||||
KAMADO_DEPS := $(shell find "$(KAMADO_SRC)/api" "$(KAMADO_SRC)/ui" "$(KAMADO_SRC)/ckpool" \
|
||||
\( -name node_modules -o -name dist \) -prune -o -type f -print 2>/dev/null)
|
||||
|
||||
ifeq (,$(wildcard node_modules/@start9labs/start-sdk/s9pk.mk))
|
||||
$(error node_modules missing — run 'npm ci' first)
|
||||
endif
|
||||
|
||||
# overrides to s9pk.mk must precede the include statement
|
||||
include node_modules/@start9labs/start-sdk/s9pk.mk
|
||||
|
||||
kamado-src: $(KAMADO_DEPS)
|
||||
@test -d "$(KAMADO_SRC)/api" || { echo "Error: KamadoPool source not found at '$(KAMADO_SRC)'. Set KAMADO_SRC=/path/to/KamadoPool"; exit 1; }
|
||||
@echo " Syncing KamadoPool source from '$(KAMADO_SRC)'..."
|
||||
@rsync -a --delete --exclude node_modules --exclude dist \
|
||||
"$(KAMADO_SRC)/api" "$(KAMADO_SRC)/ui" "$(KAMADO_SRC)/ckpool" kamado-src/
|
||||
@touch kamado-src
|
||||
|
||||
# Extra prerequisites for the pack targets defined in s9pk.mk: the Docker
|
||||
# image build consumes ./kamado-src, so keep it fresh.
|
||||
$(BASE_NAME).s9pk: kamado-src
|
||||
$(BASE_NAME)_x86_64.s9pk: kamado-src
|
||||
$(BASE_NAME)_aarch64.s9pk: kamado-src
|
||||
|
||||
# One-time (per boot) cross-arch build setup: register qemu binfmt
|
||||
# handlers so the emulated aarch64 ckpool stage can run, and create a
|
||||
# buildx builder that advertises both platforms.
|
||||
setup:
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
-docker buildx rm $(BUILDER) 2>/dev/null
|
||||
docker buildx create --name $(BUILDER) --driver docker-container \
|
||||
--driver-opt network=host \
|
||||
--platform linux/amd64,linux/arm64 --use
|
||||
docker buildx inspect --bootstrap $(BUILDER)
|
||||
@echo "Ready. 'make' will now build the universal package."
|
||||
|
||||
clean-src:
|
||||
rm -rf kamado-src
|
||||
|
||||
.PHONY: clean-src setup
|
||||
Reference in New Issue
Block a user