khuedoan-homelab/Makefile

67 lines
1.5 KiB
Makefile
Raw Normal View History

2021-02-08 14:13:40 +07:00
.POSIX:
.PHONY: *
.EXPORT_ALL_VARIABLES:
KUBECONFIG = $(shell pwd)/metal/kubeconfig.yaml
KUBE_CONFIG_PATH = $(KUBECONFIG)
2021-02-08 14:13:40 +07:00
default: metal system external smoke-test post-install clean
configure:
./scripts/configure
git status
2021-05-23 12:24:32 +07:00
metal:
2021-04-25 13:24:26 +07:00
make -C metal
2021-05-23 12:24:32 +07:00
system:
make -C system
2021-04-19 22:35:05 +07:00
external:
make -C external
smoke-test:
make -C test filter=Smoke
post-install:
@./scripts/hacks
2021-05-16 13:20:27 +07:00
tools:
@docker run \
--rm \
--interactive \
--tty \
--network host \
--env "KUBECONFIG=${KUBECONFIG}" \
--volume "/var/run/docker.sock:/var/run/docker.sock" \
--volume $(shell pwd):$(shell pwd) \
--volume ${HOME}/.ssh:/root/.ssh \
--volume ${HOME}/.terraform.d:/root/.terraform.d \
--volume homelab-tools-cache:/root/.cache \
--volume homelab-tools-nix:/nix \
--workdir $(shell pwd) \
docker.io/nixos/nix nix --experimental-features 'nix-command flakes' develop
2021-05-16 13:20:27 +07:00
2024-11-22 15:26:43 +07:00
# TODO maybe there's a better way to manage backup with GitOps?
backup:
./scripts/backup --action setup --namespace=actualbudget --pvc=actualbudget-data
./scripts/backup --action setup --namespace=wireguard --pvc=wireguard-data
./scripts/backup --action setup --namespace=jellyfin --pvc=jellyfin-data
restore:
./scripts/backup --action restore --namespace=actualbudget --pvc=actualbudget-data
./scripts/backup --action restore --namespace=wireguard --pvc=wireguard-data
./scripts/backup --action restore --namespace=jellyfin --pvc=jellyfin-data
test:
make -C test
2022-10-14 21:19:13 +07:00
clean:
docker compose --project-directory ./metal/roles/pxe_server/files down
docs:
mkdocs serve
2022-07-19 21:16:19 +07:00
git-hooks:
pre-commit install