Skip to content

Commit 6e53b6d

Browse files
kubestellar-hive[bot]github-actions[bot]Copilot
authored
✨ Add Netlify functions for 8 compliance dashboards (#16215)
* 🐛 Add Netlify function backends for 8 compliance dashboards Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * ✨ Fix compliance dashboard Netlify handlers Replace the incomplete compliance Netlify implementation with 23 static demo handlers that follow the identity dashboard pattern, rename the ERM handlers to match the production endpoint mapping, remove the unused compliance demo helper, and update redirects for all production routes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * 🌱 Add comprehensive tests for 23 compliance Netlify functions Adds test coverage for all 23 compliance dashboard Netlify functions added in PR #16215. Tests validate: - Happy path: 200 responses with correct data shape validation - CORS preflight: OPTIONS returns 204 with proper headers - Invalid cluster parameter: 400 error response - Unsupported HTTP methods: 405 with Allow header - Upstream/serialization errors: 502 when JSON.stringify fails - Security: No forbidden identity fields (secrets, tokens) in responses Functions tested: - SIEM: events, alerts, summary (3 functions) - Incidents: incidents, metrics, playbooks (3 functions) - Threat Intel: feeds, iocs, summary (3 functions) - Risk Matrix: risks, heatmap, summary (3 functions) - Risk Register: risks, categories, summary (3 functions) - Risk Appetite: thresholds, kris, summary (3 functions) - SBOM: documents, summary (2 functions) - Licenses: packages, categories, summary (3 functions) All 177 tests pass, covering 23 functions with 93 test cases. Fixes #16215 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> --------- Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 7e50a2f commit 6e53b6d

26 files changed

Lines changed: 1241 additions & 0 deletions

netlify.toml

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,129 @@
206206
to = "/.netlify/functions/identity-sessions-policies"
207207
status = 200
208208

209+
# Compliance SIEM API — proxy to Netlify Functions (enterprise SIEM dashboard)
210+
[[redirects]]
211+
from = "/api/v1/compliance/siem/events"
212+
to = "/.netlify/functions/compliance-siem-events"
213+
status = 200
214+
215+
[[redirects]]
216+
from = "/api/v1/compliance/siem/alerts"
217+
to = "/.netlify/functions/compliance-siem-alerts"
218+
status = 200
219+
220+
[[redirects]]
221+
from = "/api/v1/compliance/siem/summary"
222+
to = "/.netlify/functions/compliance-siem-summary"
223+
status = 200
224+
225+
# Compliance Incident Response API — proxy to Netlify Functions (enterprise incident response dashboard)
226+
[[redirects]]
227+
from = "/api/v1/compliance/incidents"
228+
to = "/.netlify/functions/compliance-incidents"
229+
status = 200
230+
231+
[[redirects]]
232+
from = "/api/v1/compliance/incidents/metrics"
233+
to = "/.netlify/functions/compliance-incidents-metrics"
234+
status = 200
235+
236+
[[redirects]]
237+
from = "/api/v1/compliance/incidents/playbooks"
238+
to = "/.netlify/functions/compliance-incidents-playbooks"
239+
status = 200
240+
241+
# Compliance Threat Intel API — proxy to Netlify Functions (enterprise threat intel dashboard)
242+
[[redirects]]
243+
from = "/api/v1/compliance/threat-intel/feeds"
244+
to = "/.netlify/functions/compliance-threat-intel-feeds"
245+
status = 200
246+
247+
[[redirects]]
248+
from = "/api/v1/compliance/threat-intel/iocs"
249+
to = "/.netlify/functions/compliance-threat-intel-iocs"
250+
status = 200
251+
252+
[[redirects]]
253+
from = "/api/v1/compliance/threat-intel/summary"
254+
to = "/.netlify/functions/compliance-threat-intel-summary"
255+
status = 200
256+
257+
# Compliance ERM Risk Matrix API — proxy to Netlify Functions (enterprise risk matrix dashboard)
258+
[[redirects]]
259+
from = "/api/v1/compliance/erm/risk-matrix/risks"
260+
to = "/.netlify/functions/compliance-erm-risk-matrix-risks"
261+
status = 200
262+
263+
[[redirects]]
264+
from = "/api/v1/compliance/erm/risk-matrix/heatmap"
265+
to = "/.netlify/functions/compliance-erm-risk-matrix-heatmap"
266+
status = 200
267+
268+
[[redirects]]
269+
from = "/api/v1/compliance/erm/risk-matrix/summary"
270+
to = "/.netlify/functions/compliance-erm-risk-matrix-summary"
271+
status = 200
272+
273+
# Compliance ERM Risk Register API — proxy to Netlify Functions (enterprise risk register dashboard)
274+
[[redirects]]
275+
from = "/api/v1/compliance/erm/risk-register/risks"
276+
to = "/.netlify/functions/compliance-erm-risk-register-risks"
277+
status = 200
278+
279+
[[redirects]]
280+
from = "/api/v1/compliance/erm/risk-register/categories"
281+
to = "/.netlify/functions/compliance-erm-risk-register-categories"
282+
status = 200
283+
284+
[[redirects]]
285+
from = "/api/v1/compliance/erm/risk-register/summary"
286+
to = "/.netlify/functions/compliance-erm-risk-register-summary"
287+
status = 200
288+
289+
# Compliance ERM Risk Appetite API — proxy to Netlify Functions (enterprise risk appetite dashboard)
290+
[[redirects]]
291+
from = "/api/v1/compliance/erm/risk-appetite/thresholds"
292+
to = "/.netlify/functions/compliance-erm-risk-appetite-thresholds"
293+
status = 200
294+
295+
[[redirects]]
296+
from = "/api/v1/compliance/erm/risk-appetite/kris"
297+
to = "/.netlify/functions/compliance-erm-risk-appetite-kris"
298+
status = 200
299+
300+
[[redirects]]
301+
from = "/api/v1/compliance/erm/risk-appetite/summary"
302+
to = "/.netlify/functions/compliance-erm-risk-appetite-summary"
303+
status = 200
304+
305+
# Supply Chain SBOM API — proxy to Netlify Functions (enterprise SBOM dashboard)
306+
[[redirects]]
307+
from = "/api/supply-chain/sbom/documents"
308+
to = "/.netlify/functions/supply-chain-sbom-documents"
309+
status = 200
310+
311+
[[redirects]]
312+
from = "/api/supply-chain/sbom/summary"
313+
to = "/.netlify/functions/supply-chain-sbom-summary"
314+
status = 200
315+
316+
# Supply Chain License Compliance API — proxy to Netlify Functions (enterprise license dashboard)
317+
[[redirects]]
318+
from = "/api/supply-chain/licenses/packages"
319+
to = "/.netlify/functions/supply-chain-licenses-packages"
320+
status = 200
321+
322+
[[redirects]]
323+
from = "/api/supply-chain/licenses/categories"
324+
to = "/.netlify/functions/supply-chain-licenses-categories"
325+
status = 200
326+
327+
[[redirects]]
328+
from = "/api/supply-chain/licenses/summary"
329+
to = "/.netlify/functions/supply-chain-licenses-summary"
330+
status = 200
331+
209332
# ACMM maturity scan API
210333
[[redirects]]
211334
from = "/api/acmm/scan"

0 commit comments

Comments
 (0)