79 lines
2.7 KiB
Makefile
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"
|