Skip to content

Improve Cable Map exports - #20

Open
FloSch62 wants to merge 1 commit into
mainfrom
feat/export-operational-state-timestamps
Open

Improve Cable Map exports#20
FloSch62 wants to merge 1 commit into
mainfrom
feat/export-operational-state-timestamps

Conversation

@FloSch62

Copy link
Copy Markdown
Collaborator

Summary

  • Add interface operational state to XLSX and PDF cable tables alongside LLDP information.
  • Add UTC date and time suffixes to downloaded XLSX and PDF filenames.
  • Harden large PDF exports with serialized Typst renders, a 10-minute render timeout, non-cached job endpoints, and increased runtime resources.

Why

Cable exports previously exposed LLDP status but omitted the interface operational state. For a 1,000-node namespace, PDF generation also exceeded the previous 1 GiB memory limit. The workload restarted, the in-memory job disappeared, and the UI reported that the job had expired or could not be found.

Impact

  • Operational state is optional in the topology contract and is blank when EDA does not report it.
  • XLSX and PDF filenames now include a UTC timestamp in YYYY-MM-DD_HH-mm-ssZ format.
  • Running PDF jobs are not expired, renders are limited to 10 minutes, and completed job data keeps the existing 10-minute retention.
  • PDF renders are serialized to avoid multiplying Typst memory peaks.
  • Runtime requests increase to 250m CPU and 512 MiB memory; limits increase to 2 CPU and 4 GiB memory.
  • A missing job now explains that a service restart may have removed it and suggests retrying.

Validation

  • go test ./...
  • go vet ./...
  • go build ./...
  • pnpm test — 16 tests passed
  • pnpm lint
  • pnpm build
  • Typst render using the 1,000-node fixture — 1,114 pages generated successfully
  • git diff --check

@FloSch62
FloSch62 marked this pull request as ready for review July 28, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant