add infrastructure manifests
This commit is contained in:
78
Makefile
Normal file
78
Makefile
Normal file
@@ -0,0 +1,78 @@
|
||||
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"
|
||||
Reference in New Issue
Block a user