Skip to content

TPI Export#

Workflows → TETPI Exports

Exports EDA objects into a TPI workbook file. The generated file is always available as a workflow artifact. When tpiStorage is set and the referenced TPIStorage CR exists in the workflow namespace, the file is also uploaded there and -- when the path can be sanitized into a valid Kubernetes DNS-1123 name -- a TPI object is created in the workflow namespace, named <storage-name>-<sanitized-path> (path lowercased; any character outside [a-z0-9.-] replaced with -; leading and trailing - and . trimmed). If the TPIStorage CR is missing, the workbook is still written to the workflow artifact, then the export fails, so the run is visibly unsuccessful; no upload occurs.

Filter refinement#

The typical export cycle is iterative: export, review, refine the filter, and re-export until the TPI content matches expectations.

  1. Create a TPIFilter selecting the desired API groups, kinds, and optionally label selectors and column exclusions.
  2. Trigger a TPIExport referencing that filter, a target path, and optionally a TPIStorage.
  3. Download and review the exported TPI -- either from the TPIStorage server or directly from the workflow artifact.
  4. Adjust the TPIFilter (add/remove kinds, exclude columns, reorder columns, narrow label selectors) and re-export until the result is satisfactory.

Child resources#

By default, TPIExport does not include child resources -- objects EDA manages under a parent resource. Enable Include child resources on the TPIFilter (set includeChildResources: true on the TPIFilter spec) when you need those rows in the workbook.

If the TPIFilter selects only kinds where every matching instance in the cluster is a child resource, the export can end up empty for those resource types: by default, each matching instance is omitted, so there are no data rows. An example is exporting only BridgeDomain when each bridge domain is part of a parent VirtualNetwork. To change that, enable includeChildResources on the filter, or widen the filter to include the parent kind (for example VirtualNetwork) so matching parent objects appear as normal rows in the workbook.

Dependencies#

The TPIExport workflow has no dependencies.

Referenced resources#

The TPIExport workflow optionally references:

  • TPIFilter via spec.tpifilter. When unset, all API resources visible to the workflow's service account are exported.
  • TPIStorage via spec.tpiStorage. When unset, the workbook is only available as a workflow artifact (no upload, no TPI CR created).

Both must live in the same namespace as the TPIExport workflow.

Examples#

apiVersion: tpi.eda.nokia.com/v1
kind: TPIExport
metadata:
  name: example-export
  namespace: eda
spec:
  path: example-export.xlsx
  tpiStorage: example-storage
  tpifilter: example-filter
cat << 'EOF' | kubectl apply -f -
apiVersion: tpi.eda.nokia.com/v1
kind: TPIExport
metadata:
  name: example-export
  namespace: eda
spec:
  path: example-export.xlsx
  tpiStorage: example-storage
  tpifilter: example-filter

EOF

Custom Resource Definition#

To browse the Custom Resource Definition go to crd.eda.dev.

TPIExport

tpi.eda.nokia.com / v1

SPEC

TPIExportSpec defines the desired state of TPIExport

  • #
  • #
  • #

STATUS

TPIExportStatus defines the observed state of TPIExport

  • #
  • #
  • #
  • #