skeet
Version:
Full-stack TypeScript Serverless Framework
68 lines • 1.61 kB
JSON
{
"api": {
"appName": "skeet-test",
"projectId": "skeet-test",
"region": "europe-west4",
"hasLoadBalancer": true,
"cloudRun": {
"name": "",
"url": "",
"cpu": 1,
"maxConcurrency": 80,
"maxInstances": 100,
"minInstances": 0,
"memory": "4Gi"
},
"db": {
"databaseVersion": "POSTGRES_14",
"cpu": 1,
"memory": "4Gi",
"maxStorage": 10,
"whiteList": ""
}
},
"workers": [
{
"workerName": "solana-transfer",
"cloudRun": {
"name": "skeet-skeet-test-worker-solana-transfer",
"url": "",
"cpu": 1,
"maxConcurrency": 80,
"maxInstances": 100,
"minInstances": 0,
"memory": "4Gi"
}
}
],
"taskQueues": [],
"cloudArmor": [
{
"securityPolicyName": "skeet-armor",
"rules": [
{
"priority": "1000",
"description": "ban 300sec if exceed 50 access in 60sec",
"options": {
"action": "rate-based-ban",
"src-ip-ranges": "*",
"rate-limit-threshold-count": "50",
"rate-limit-threshold-interval-sec": "60",
"ban-duration-sec": "300",
"conform-action": "allow",
"exceed-action": "deny-404",
"enforce-on-key": "IP"
}
},
{
"priority": "1100",
"description": "Diffence from SQLi attack",
"options": {
"action": "deny-403",
"expression": "evaluatePreconfiguredExpr('sqli-stable')"
}
}
]
}
]
}