Skip to content
GitHub

ReportArtefact

ReportArtefact manifests define top-level report outputs. Each artefact typically corresponds to one PDF file.

apiVersion: bino.bi/v1alpha1
kind: ReportArtefact
metadata:
  name: sales_report
spec:
  format: xga              # logical page size (e.g. xga, a4, letter)
  orientation: landscape   # portrait | landscape
  language: en             # de | en
  layoutPages:             # optional: LayoutPage selection patterns
    - cover                # exact name match
    - sales-*              # glob pattern
  filename: sales-report.pdf
  title: "Sales Overview"
  description: "Quarterly sales overview for the group."
  subject: "Sales report"
  author: "Group Controlling"
  keywords: ["sales", "quarterly", "internal"]
  signingProfile: corporateSigner

Fields:

  • spec.format – logical page size, default xga.
  • spec.orientationportrait or landscape, default landscape.
  • spec.language – current options: de or en.
  • spec.layoutPages – optional list of patterns to select LayoutPages by metadata.name. Supports glob syntax (*, ?, [abc]). Pages appear in pattern order; within each pattern, pages are sorted alphabetically. Default: ["*"] (all pages matching format).
  • spec.filename – required output filename (relative to output directory).
  • spec.title – required human-readable title; also used in PDF metadata.
  • spec.description – optional description.
  • spec.subject – optional subject stored in PDF metadata.
  • spec.author – optional author name.
  • spec.keywords – optional list of metadata keywords.
  • spec.signingProfile – optional reference to a SigningProfile manifest.
---
apiVersion: bino.bi/v1alpha1
kind: ReportArtefact
metadata:
  name: monthly_sales
spec:
  filename: monthly-sales.pdf
  title: "Monthly Sales Report"
---
apiVersion: bino.bi/v1alpha1
kind: SigningProfile
metadata:
  name: corporateSigner
spec:
  certificate:
    path: ./certs/corporate-cert.pem
  privateKey:
    path: ./certs/corporate-key.pem
  signer:
    name: "Group Controlling"
    location: "Headquarters"
    reason: "Approved financial report"
---
apiVersion: bino.bi/v1alpha1
kind: ReportArtefact
metadata:
  name: annual_sales
spec:
  format: a4
  orientation: portrait
  language: en
  filename: annual-sales.pdf
  title: "Annual Sales Report"
  description: "Yearly consolidated sales figures."
  author: "Group Controlling"
  signingProfile: corporateSigner

By default, a ReportArtefact includes all LayoutPages that match its spec.format. Use spec.layoutPages to explicitly select which pages to include and control their order.

---
apiVersion: bino.bi/v1alpha1
kind: ReportArtefact
metadata:
  name: quarterly-report
spec:
  format: xga
  layoutPages:
    - cover              # cover page first
    - executive-summary  # then summary
    - detail-*           # all detail pages (alphabetically)
    - appendix-*         # appendices last
  filename: quarterly-report.pdf
  title: "Quarterly Report"

Pattern syntax:

  • * matches any sequence of characters
  • ? matches a single character
  • [abc] matches any character in the set

Pages are rendered in the order their patterns appear. Within each pattern, matching pages are sorted alphabetically by name.

Use placeholder screenshots in your docs to illustrate final PDFs, then replace them with real examples later.