Files
infra/Makefile
2026-04-09 13:26:46 +03:00

79 lines
2.7 KiB
Makefile

KUBECONFIG ?= $(HOME)/.kube/config-nodeup
export KUBECONFIG
.PHONY: all dns k3s core kubevela gitea monitoring stackops test-app
all: dns k3s core kubevela gitea monitoring stackops test-app
dns:
bash 00-dns/cloudflare-records.sh
k3s:
bash 01-k3s/install.sh
core: nginx-ingress cert-manager clusterissuer
nginx-ingress:
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace \
--set controller.service.type=LoadBalancer \
--set controller.kind=DaemonSet \
--set controller.hostPort.enabled=true \
--set controller.service.externalTrafficPolicy=Local \
--timeout 10m --wait
cert-manager:
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager --create-namespace \
--set crds.enabled=true \
--timeout 10m --wait
clusterissuer:
@source ../../.cloudflare && \
sed "s|\$${CF_API_TOKEN}|$$CF_API_TOKEN|g" 02-core/clusterissuer.yaml | \
kubectl apply -f -
kubevela:
helm upgrade --install kubevela kubevela/vela-core \
--namespace vela-system --create-namespace \
--timeout 8m --wait
kubectl apply --server-side \
-f https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/release-1.23/releases/cnpg-1.23.0.yaml
helm upgrade --install redis-operator ot-helm/redis-operator \
--namespace redis-operator --create-namespace --wait
kubectl apply -f ../kubevela/components/
gitea:
helm repo add gitea-charts https://dl.gitea.com/charts/ || true
helm repo update gitea-charts
helm upgrade --install gitea gitea-charts/gitea \
--namespace gitea --create-namespace \
-f 04-gitea/values.yaml \
--timeout 10m --wait
monitoring:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts || true
helm repo add grafana https://grafana.github.io/helm-charts || true
helm repo update prometheus-community grafana
helm upgrade --install monitoring prometheus-community/kube-prometheus-stack \
--namespace monitoring --create-namespace \
-f 05-monitoring/values-prometheus.yaml \
--timeout 10m --wait
helm upgrade --install loki grafana/loki-stack \
--namespace monitoring \
-f 05-monitoring/values-loki.yaml \
--timeout 5m --wait
stackops:
kubectl apply -f 06-stackops/rbac.yaml
kubectl create secret generic stackops-secrets \
--namespace stackops \
--from-literal=api-token=dev-secret-token \
--dry-run=client -o yaml | kubectl apply -f -
kubectl apply -f 06-stackops/deployment.yaml
test-app:
@echo "Deploy test app via StackOps API or manually:"
@echo " cd ../toml-converter && go run ./cmd/main.go -f ../infra/07-test-app/stackfile.toml -o /tmp/whoami.yaml"
@echo " kubectl create namespace whoami && kubectl apply -f /tmp/whoami.yaml -n whoami"