Multi-arch controller container (#2037)
create arm64 & amd64 images for central controller
This commit is contained in:
parent
9b7d13476f
commit
0962af5e72
313 changed files with 31474 additions and 20 deletions
|
@ -119,6 +119,9 @@ ifeq ($(CC_MACH),x86_64)
|
|||
override CFLAGS+=-msse -msse2
|
||||
override CXXFLAGS+=-msse -msse2
|
||||
ZT_SSO_SUPPORTED=1
|
||||
ifeq ($(ZT_CONTROLLER),1)
|
||||
EXT_ARCH=amd64
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MACH),amd64)
|
||||
ZT_ARCHITECTURE=2
|
||||
|
@ -127,6 +130,9 @@ ifeq ($(CC_MACH),amd64)
|
|||
override CFLAGS+=-msse -msse2
|
||||
override CXXFLAGS+=-msse -msse2
|
||||
ZT_SSO_SUPPORTED=1
|
||||
ifeq ($(ZT_CONTROLLER),1)
|
||||
EXT_ARCH=amd64
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MACH),powerpc64le)
|
||||
ZT_ARCHITECTURE=8
|
||||
|
@ -229,12 +235,17 @@ endif
|
|||
ifeq ($(CC_MACH),arm64)
|
||||
ZT_ARCHITECTURE=4
|
||||
ZT_SSO_SUPPORTED=1
|
||||
ZT_USE_X64_ASM_ED25519=0
|
||||
override DEFS+=-DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align
|
||||
endif
|
||||
ifeq ($(CC_MACH),aarch64)
|
||||
ZT_ARCHITECTURE=4
|
||||
ZT_SSO_SUPPORTED=1
|
||||
ZT_USE_X64_ASM_ED25519=0
|
||||
override DEFS+=-DZT_NO_TYPE_PUNNING -DZT_ARCH_ARM_HAS_NEON -march=armv8-a+crypto -mtune=generic -mstrict-align
|
||||
ifeq ($(ZT_CONTROLLER),1)
|
||||
EXT_ARCH=arm64
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MACH),mipsel)
|
||||
ZT_ARCHITECTURE=5
|
||||
|
@ -310,9 +321,9 @@ endif
|
|||
|
||||
ifeq ($(ZT_CONTROLLER),1)
|
||||
override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
|
||||
override LDLIBS+=-Lext/libpqxx-7.7.3/install/ubuntu22.04/lib -lpqxx -lpq ext/hiredis-1.0.2/lib/ubuntu22.04/libhiredis.a ext/redis-plus-plus-1.3.3/install/ubuntu22.04/lib/libredis++.a -lssl -lcrypto
|
||||
override LDLIBS+=-Lext/libpqxx-7.7.3/install/ubuntu22.04/$(EXT_ARCH)/lib -lpqxx -lpq ext/hiredis-1.0.2/lib/ubuntu22.04/$(EXT_ARCH)/libhiredis.a ext/redis-plus-plus-1.3.3/install/ubuntu22.04/$(EXT_ARCH)/lib/libredis++.a -lssl -lcrypto
|
||||
override DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_NO_PEER_METRICS
|
||||
override INCLUDES+=-I/usr/include/postgresql -Iext/libpqxx-7.7.3/install/ubuntu22.04/include -Iext/hiredis-1.0.2/include/ -Iext/redis-plus-plus-1.3.3/install/ubuntu22.04/include/sw/
|
||||
override INCLUDES+=-I/usr/include/postgresql -Iext/libpqxx-7.7.3/install/ubuntu22.04/$(EXT_ARCH)/include -Iext/hiredis-1.0.2/include/ -Iext/redis-plus-plus-1.3.3/install/ubuntu22.04/$(EXT_ARCH)/include/sw/
|
||||
endif
|
||||
|
||||
# ARM32 hell -- use conservative CFLAGS
|
||||
|
@ -397,11 +408,19 @@ official: FORCE
|
|||
docker: FORCE
|
||||
docker build --no-cache -f ext/installfiles/linux/zerotier-containerized/Dockerfile -t zerotier-containerized .
|
||||
|
||||
central-controller: FORCE
|
||||
make -j4 ZT_CONTROLLER=1 ZT_USE_X64_ASM_ED25519=1 one
|
||||
_buildx:
|
||||
@echo "docker buildx create"
|
||||
# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
docker run --privileged --rm tonistiigi/binfmt --install all
|
||||
@echo docker buildx create --name multiarch --driver docker-container --use
|
||||
@echo docker buildx inspect --bootstrap
|
||||
|
||||
central-controller-docker: FORCE
|
||||
docker build --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` .
|
||||
central-controller: FORCE
|
||||
make -j4 ZT_CONTROLLER=1 one
|
||||
|
||||
central-controller-docker: _buildx FORCE
|
||||
docker buildx build --platform linux/amd64,linux/arm64 --no-cache -t us-central1-docker.pkg.dev/zerotier-central/zerotier/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=`git name-rev --name-only HEAD` . --push
|
||||
@echo Image: us-central1-docker.pkg.dev/zerotier-central/zerotier/ztcentral-controller:${TIMESTAMP}
|
||||
|
||||
debug: FORCE
|
||||
make ZT_DEBUG=1 one
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue