#!/bin/bash set -e cd "$(dirname "$0")" NS=default S3_KEY=0GLQRD38H4I6RBDB0EWJ S3_SECRET=eTFibiHmBd96IApj9PYsboTR6OBoD7osxoarHykw echo "=== PVCs ===" kubectl apply -f pvc-local.yaml kubectl apply -f pvc-vcd.yaml echo "=== S3 Secret ===" kubectl create secret generic bench-s3-secret \ --from-literal=access-key="$S3_KEY" \ --from-literal=secret-key="$S3_SECRET" \ -n $NS 2>/dev/null || echo "secret already exists" echo "=== Environment (no resource limits to avoid quota) ===" fission env create --name bench-py --image naeel/fission-python-env:v1.1 \ --mincpu 0 --maxcpu 0 --minmemory 0 --maxmemory 0 \ --poolsize 1 --namespace $NS 2>/dev/null || echo "env already exists" echo "=== Functions ===" # check-local и check-vcd используют newdeploy: 1 под = 1 PVC (RWO работает) fission fn create --name check-local --env bench-py --code check_pv.py \ --executortype newdeploy --minscale 1 --maxscale 1 --namespace $NS 2>/dev/null || \ fission fn update --name check-local --code check_pv.py --namespace $NS fission fn create --name check-vcd --env bench-py --code check_pv.py \ --executortype newdeploy --minscale 1 --maxscale 1 --namespace $NS 2>/dev/null || \ fission fn update --name check-vcd --code check_pv.py --namespace $NS # check-s3 использует poolmgr fission fn create --name check-s3 --env bench-py --code check_s3.py \ --namespace $NS --secret bench-s3-secret 2>/dev/null || \ fission fn update --name check-s3 --code check_s3.py --namespace $NS --secret bench-s3-secret echo "=== Patching podspec (PVC mounts) ===" kubectl patch function check-local -n $NS --type=merge -p "$(cat patch-local.json)" kubectl patch function check-vcd -n $NS --type=merge -p "$(cat patch-vcd.json)" echo "=== HTTP Triggers ===" fission httptrigger create --name check-local-t --url /check/local --function check-local --method GET --namespace $NS 2>/dev/null || true fission httptrigger create --name check-vcd-t --url /check/vcd --function check-vcd --method GET --namespace $NS 2>/dev/null || true fission httptrigger create --name check-s3-t --url /check/s3 --function check-s3 --method GET --namespace $NS 2>/dev/null || true echo "" echo "Done! Жди ~60s (newdeploy pods + PVC binding), затем: ./test.sh"