diff --git a/src/pages/ipa/resources/events.mdx b/src/pages/ipa/resources/events.mdx
index 1b677b12..7ed3f7a4 100644
--- a/src/pages/ipa/resources/events.mdx
+++ b/src/pages/ipa/resources/events.mdx
@@ -809,7 +809,14 @@ echo $response;
"subdivision_code": "CA",
"bytes_upload": 1024,
"bytes_download": 8192,
- "protocol": "http"
+ "protocol": "http",
+ "metadata": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Extra context about the request (e.g. crowdsec_verdict)"
+ }
}
],
"page": 1,
@@ -839,7 +846,12 @@ echo $response;
"subdivision_code": "string",
"bytes_upload": "integer",
"bytes_download": "integer",
- "protocol": "string"
+ "protocol": "string",
+ "metadata": {
+ "type": "object",
+ "additionalProperties": "string",
+ "description": "Extra context about the request (e.g. crowdsec_verdict)"
+ }
}
],
"page": "integer",
diff --git a/src/pages/ipa/resources/services.mdx b/src/pages/ipa/resources/services.mdx
index afee5e81..4161ba5e 100644
--- a/src/pages/ipa/resources/services.mdx
+++ b/src/pages/ipa/resources/services.mdx
@@ -414,7 +414,17 @@ echo $response;
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
},
"meta": {
"created_at": "2024-02-03T10:30:00Z",
@@ -503,7 +513,8 @@ echo $response;
],
"blocked_countries": [
"string"
- ]
+ ],
+ "crowdsec_mode": "string"
},
"meta": {
"created_at": "string",
@@ -801,6 +812,11 @@ echo $response;
ISO 3166-1 alpha-2 country codes to block.
+
+
+
+ CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec.
+
@@ -887,7 +903,17 @@ curl -X POST https://api.netbird.io/api/reverse-proxies/services \
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}'
```
@@ -961,7 +987,17 @@ let data = JSON.stringify({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
});
let config = {
@@ -1057,7 +1093,17 @@ payload = json.dumps({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
})
headers = {
@@ -1153,7 +1199,17 @@ func main() {
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}`)
client := &http.Client {
@@ -1267,7 +1323,17 @@ request.body = JSON.dump({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
})
response = https.request(request)
@@ -1345,7 +1411,17 @@ RequestBody body = RequestBody.create(mediaType, '{
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}');
Request request = new Request.Builder()
@@ -1439,7 +1515,17 @@ curl_setopt_array($curl, array(
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}',
CURLOPT_HTTPHEADER => array(
@@ -1531,7 +1617,17 @@ echo $response;
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
},
"meta": {
"created_at": "2024-02-03T10:30:00Z",
@@ -1618,7 +1714,8 @@ echo $response;
],
"blocked_countries": [
"string"
- ]
+ ],
+ "crowdsec_mode": "string"
},
"meta": {
"created_at": "string",
@@ -1873,7 +1970,17 @@ echo $response;
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
},
"meta": {
"created_at": "2024-02-03T10:30:00Z",
@@ -1960,7 +2067,8 @@ echo $response;
],
"blocked_countries": [
"string"
- ]
+ ],
+ "crowdsec_mode": "string"
},
"meta": {
"created_at": "string",
@@ -2265,6 +2373,11 @@ echo $response;
ISO 3166-1 alpha-2 country codes to block.
+
+
+
+ CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec.
+
@@ -2351,7 +2464,17 @@ curl -X PUT https://api.netbird.io/api/reverse-proxies/services/{serviceId} \
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}'
```
@@ -2425,7 +2548,17 @@ let data = JSON.stringify({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
});
let config = {
@@ -2521,7 +2654,17 @@ payload = json.dumps({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
})
headers = {
@@ -2617,7 +2760,17 @@ func main() {
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}`)
client := &http.Client {
@@ -2731,7 +2884,17 @@ request.body = JSON.dump({
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
})
response = https.request(request)
@@ -2809,7 +2972,17 @@ RequestBody body = RequestBody.create(mediaType, '{
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}');
Request request = new Request.Builder()
@@ -2903,7 +3076,17 @@ curl_setopt_array($curl, array(
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
}
}',
CURLOPT_HTTPHEADER => array(
@@ -2995,7 +3178,17 @@ echo $response;
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
},
"meta": {
"created_at": "2024-02-03T10:30:00Z",
@@ -3082,7 +3275,8 @@ echo $response;
],
"blocked_countries": [
"string"
- ]
+ ],
+ "crowdsec_mode": "string"
},
"meta": {
"created_at": "string",
@@ -3430,7 +3624,8 @@ echo $response;
"type": "free",
"target_cluster": "eu.proxy.netbird.io",
"supports_custom_ports": true,
- "require_subdomain": false
+ "require_subdomain": false,
+ "supports_crowdsec": false
}
]
```
@@ -3443,7 +3638,8 @@ echo $response;
"type": "string",
"target_cluster": "string",
"supports_custom_ports": "boolean",
- "require_subdomain": "boolean"
+ "require_subdomain": "boolean",
+ "supports_crowdsec": "boolean"
}
]
```
@@ -3735,7 +3931,17 @@ echo $response;
],
"blocked_countries": [
"DE"
- ]
+ ],
+ "crowdsec_mode": {
+ "type": "string",
+ "enum": [
+ "off",
+ "enforce",
+ "observe"
+ ],
+ "default": "off",
+ "description": "CrowdSec IP reputation mode. Only available when the proxy cluster supports CrowdSec."
+ }
},
"meta": {
"created_at": "2024-02-03T10:30:00Z",
@@ -3822,7 +4028,8 @@ echo $response;
],
"blocked_countries": [
"string"
- ]
+ ],
+ "crowdsec_mode": "string"
},
"meta": {
"created_at": "string",