docs: add automated compose documentation generation pipeline
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys,yaml,glob
|
||||
out=sys.argv[1]
|
||||
patterns=["monitoring/prometheus/rules/**/*.yml","monitoring/prometheus/rules/**/*.yaml","**/prometheus/rules/**/*.yml","**/prometheus/rules/**/*.yaml"]
|
||||
files=sorted({f for p in patterns for f in glob.glob(p,recursive=True)})
|
||||
lines=["# Prometheus Rules","", "| File | Group | Alert | Expr | For | Labels | Annotations |","|---|---|---|---|---|---|---|"]
|
||||
if not files:
|
||||
open(out,'w').write("# Prometheus Rules\n\nNo Prometheus rule files were found.\n"); sys.exit(0)
|
||||
for fp in files:
|
||||
try:data=yaml.safe_load(open(fp)) or {}
|
||||
except Exception as e: raise SystemExit(f"Malformed YAML in {fp}: {e}")
|
||||
for g in data.get('groups',[]) or []:
|
||||
for r in g.get('rules',[]) or []:
|
||||
lines.append(f"| {fp} | {g.get('name','')} | {r.get('alert','')} | {str(r.get('expr','')).replace('|','\\|')} | {r.get('for','')} | {r.get('labels',{})} | {r.get('annotations',{})} |")
|
||||
open(out,'w').write('\n'.join(lines)+'\n')
|
||||
Reference in New Issue
Block a user