Browse Source

build updates

Grant Limberg 1 month ago
parent
commit
8e5522647a

+ 2 - 2
ext/central-controller-docker/Dockerfile

@@ -1,12 +1,12 @@
 # Dockerfile for ZeroTier Central Controllers
 # Dockerfile for ZeroTier Central Controllers
-FROM registry.zerotier.com/zerotier/ctlbuild:2025-05-13-01 AS builder
+FROM registry.zerotier.com/zerotier/ctlbuild:2025-07-14 AS builder
 ADD . /ZeroTierOne
 ADD . /ZeroTierOne
 RUN export PATH=$PATH:~/.cargo/bin && cd ZeroTierOne && make clean && make central-controller -j8
 RUN export PATH=$PATH:~/.cargo/bin && cd ZeroTierOne && make clean && make central-controller -j8
 
 
 FROM golang:bookworm AS go_base
 FROM golang:bookworm AS go_base
 RUN go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
 RUN go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
 
 
-FROM registry.zerotier.com/zerotier/ctlrun:2025-05-13-01
+FROM registry.zerotier.com/zerotier/ctlrun:2025-07-14 AS run_base
 COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
 COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
 COPY --from=go_base /go/bin/migrate /usr/local/bin/migrate
 COPY --from=go_base /go/bin/migrate /usr/local/bin/migrate
 COPY ext/central-controller-docker/migrations /migrations
 COPY ext/central-controller-docker/migrations /migrations

+ 2 - 2
ext/central-controller-docker/Makefile

@@ -10,7 +10,7 @@ buildx:
 	@echo docker buildx inspect --bootstrap
 	@echo docker buildx inspect --bootstrap
 
 
 controller-builder:	buildx
 controller-builder:	buildx
-	docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlbuild:latest -f Dockerfile.builder . --push
+	docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlbuild:$(shell date +"%Y-%m-%d") -f Dockerfile.builder . --push
 
 
 controller-runbase: buildx
 controller-runbase: buildx
-	docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlrun:latest -f Dockerfile.run_base . --push
+	docker buildx build --no-cache --platform linux/amd64,linux/arm64 -t $(registry)/ctlrun:$(shell date +"%Y-%m-%d") -f Dockerfile.run_base . --push

+ 7 - 5
make-linux.mk

@@ -394,13 +394,13 @@ override LDFLAGS+=-Wl,-z,noexecstack
 all:	one
 all:	one
 
 
 .PHONY: one
 .PHONY: one
-one: zerotier-one zerotier-idtool zerotier-cli
+one: otel zerotier-one zerotier-idtool zerotier-cli
 
 
 from_builder:	FORCE
 from_builder:	FORCE
 	ln -sf zerotier-one zerotier-idtool
 	ln -sf zerotier-one zerotier-idtool
 	ln -sf zerotier-one zerotier-cli
 	ln -sf zerotier-one zerotier-cli
 
 
-zerotier-one: otel $(CORE_OBJS) $(ONE_OBJS) one.o
+zerotier-one: $(CORE_OBJS) $(ONE_OBJS) one.o ext/${OTEL_INSTALL_DIR}/include/opentelemetry/version.h
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o zerotier-one $(CORE_OBJS) $(ONE_OBJS) one.o $(LDLIBS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o zerotier-one $(CORE_OBJS) $(ONE_OBJS) one.o $(LDLIBS)
 
 
 zerotier-idtool: zerotier-one
 zerotier-idtool: zerotier-one
@@ -431,12 +431,14 @@ doc:	manpages
 ifeq (${ZT_OTEL},1)
 ifeq (${ZT_OTEL},1)
 otel:
 otel:
 	cd ext/opentelemetry-cpp-1.21.0 && mkdir -p localinstall && cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(shell pwd)/ext/opentelemetry-cpp-1.21.0/localinstall -DBUILD_TESTING=OFF -DOPENTELEMETRY_INSTALL=ON -DWITH_BENCHMARK=OFF -DWITH_EXAMPLES=OFF -DWITH_FUNC_TESTS=OFF -DUSE_THIRDPARTY_LIBRARIES=ON -DWITH_OTLP_GRPC=ON -DWITH_OTLP_HTTP=OFF -DWITH_PROMETHEUS=OFF
 	cd ext/opentelemetry-cpp-1.21.0 && mkdir -p localinstall && cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(shell pwd)/ext/opentelemetry-cpp-1.21.0/localinstall -DBUILD_TESTING=OFF -DOPENTELEMETRY_INSTALL=ON -DWITH_BENCHMARK=OFF -DWITH_EXAMPLES=OFF -DWITH_FUNC_TESTS=OFF -DUSE_THIRDPARTY_LIBRARIES=ON -DWITH_OTLP_GRPC=ON -DWITH_OTLP_HTTP=OFF -DWITH_PROMETHEUS=OFF
-	cd ext/opentelemetry-cpp-1.21.0/build && make install
+	cd ext/opentelemetry-cpp-1.21.0/build && make -j4 install
 else
 else
 otel:
 otel:
-	@echo "OpenTelemetry not enabled, skipping build."
+	@echo "OpenTelemetry exporter not enabled, skipping build."
 endif
 endif
 
 
+ext/${OTEL_INSTALL_DIR}/include/opentelemetry/version.h: otel
+
 clean: FORCE
 clean: FORCE
 	rm -rf *.a *.so *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm .depend debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one doc/node_modules ext/misc/*.o debian/.debhelper debian/debhelper-build-stamp docker/zerotier-one rustybits/target ext/opentelemetry-cpp-${OTEL_VERSION}/localinstall ext/opentelemetry-cpp-${OTEL_VERSION}/build
 	rm -rf *.a *.so *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(CORE_OBJS) $(ONE_OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm .depend debian/files debian/zerotier-one*.debhelper debian/zerotier-one.substvars debian/*.log debian/zerotier-one doc/node_modules ext/misc/*.o debian/.debhelper debian/debhelper-build-stamp docker/zerotier-one rustybits/target ext/opentelemetry-cpp-${OTEL_VERSION}/localinstall ext/opentelemetry-cpp-${OTEL_VERSION}/build
 
 
@@ -458,7 +460,7 @@ _buildx:
 	@echo docker buildx inspect --bootstrap
 	@echo docker buildx inspect --bootstrap
 
 
 central-controller:	FORCE
 central-controller:	FORCE
-	make -j4 ZT_CONTROLLER=1 ZT_OTEL=1 one
+	make ZT_OTEL=1 otel && make -j4 ZT_CONTROLLER=1 ZT_OTEL=1 one
 
 
 central-controller-docker: _buildx FORCE
 central-controller-docker: _buildx FORCE
 	docker buildx build --platform linux/amd64,linux/arm64 --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` . --push
 	docker buildx build --platform linux/amd64,linux/arm64 --no-cache -t registry.zerotier.com/zerotier-central/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` . --push