61 lines
2.1 KiB
Makefile
61 lines
2.1 KiB
Makefile
export PATH := /sloptrap-tools/bin:$(PATH)
|
|
export PACKER_CONFIG_DIR := /sloptrap-tools/packer-config
|
|
export TF_PLUGIN_CACHE_DIR := /sloptrap-tools/terraform-plugin-cache
|
|
export CLOUDSDK_CONFIG := /sloptrap-tools/gcloud-config
|
|
|
|
OPACK_TARGET= skz-void-server-test
|
|
OPACK_SYS_VERSION= snapshots
|
|
OPACK_SYS_RELEASE= 79
|
|
OPACK_SYS_CPU= 2
|
|
OPACK_SYS_MEMORY= 1024
|
|
OPACK_SYS_DISK_SIZE= 10000
|
|
OPACK_SYS_SETS= +* -x* +xbase* -game* -comp* +bsd.rd
|
|
OPACK_SYS_HOSTNAME= test.void.sk4.nz
|
|
OPACK_SYS_USER= sk4nz
|
|
OPACK_SYS_SSH_PRIVATE_KEY= id_ed25519
|
|
OPACK_GCE_MACHINE= e2-micro
|
|
OPACK_AUTODISKLABEL_FILE= $(shell realpath ./autodisklabel)
|
|
OPACK_PROVISION_FILE= $(shell realpath void-provision.sh)
|
|
OPACK_GCE_PROJECT= skz-void
|
|
OPACK_GCE_JSON_KEY= ../server/skz-void-bbb88f038188.json
|
|
OPACK_COMMIT= $(shell git -C .. log --oneline -n 1 --abbrev-commit --date=short --pretty=format:"%h %ad %s" 2>/dev/null || echo latest)
|
|
OPACK_SHORT_REV= latest
|
|
OPACK_DEBUG=y
|
|
|
|
include ../skz-opack/src/opack.mk
|
|
|
|
$(OPACK_PACKER_HTTP_DIR)/install-cloud.conf: $(OPACK_SYS_SSH_PRIVATE_KEY)
|
|
|
|
SSH_OPTS= -i $(OPACK_SYS_SSH_PRIVATE_KEY) -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
|
|
FW_TF= $(OPACK_TERRAFORM_DIR)/opack-module/firewall.tf
|
|
|
|
IN_TCP= ssh
|
|
VPN_TCP= ssh domain http https 1024:65535
|
|
VPN_UDP= domain ntp 1024:65535
|
|
|
|
VOID_CLIENTS= psychopomp skzphone miri
|
|
WG_SRC= ../skz-wg
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
all: void
|
|
|
|
$(FW_TF): | opack-cloud
|
|
cp firewall.tf $@
|
|
cd $(OPACK_TERRAFORM_DIR) && terraform apply \
|
|
-target=module.opack-module.google_compute_firewall.icmp_test \
|
|
-target=module.opack-module.google_compute_firewall.wireguard_test \
|
|
-target=module.opack-module.google_compute_firewall.ssh_test \
|
|
-auto-approve > /dev/null
|
|
echo GCP Firewall configured
|
|
|
|
void: | $(FW_TF)
|
|
ssh $(SSH_OPTS) root@$(shell cat opack-cloud) \
|
|
"uname -a; sysctl kern.version;" 2> /dev/null
|
|
scp -q -r $(SSH_OPTS) \
|
|
$(WG_SRC) root@$(shell cat opack-cloud):/root/skz-wg
|
|
ssh $(SSH_OPTS) root@$(shell cat opack-cloud) \
|
|
"sh -c 'IN_TCP=\"$(IN_TCP)\" VPN_TCP=\"$(VPN_TCP)\" VPN_UDP=\"$(VPN_UDP)\" CLIENTS=\"$(VOID_CLIENTS)\" make -C /root/skz-wg'" 2> /dev/null
|
|
|
|
clean: opack-clean
|