Catalog Package Filter
The CATALOG_PACKAGE_FILTER environment variable controls which RGDs appear in the Knodex catalog by filtering on the knodex.io/package label. This is useful in multi-team environments where each Knodex instance should only show relevant RGDs.
Configuration
Helm Values
server:
config:
CATALOG_PACKAGE_FILTER: "platform-team"
Kubernetes Manifest
Set the environment variable directly on the Knodex deployment:
env:
- name: CATALOG_PACKAGE_FILTER
value: "platform-team"
Labeling RGDs
Add the knodex.io/package label to your RGDs:
apiVersion: kro.run/v1alpha1
kind: ResourceGraphDefinition
metadata:
name: webapp
labels:
knodex.io/package: "platform-team"
annotations:
knodex.io/catalog: "true"
spec:
# ...
Behavior Matrix
CATALOG_PACKAGE_FILTER | RGD knodex.io/package label | Visible in catalog? |
|---|---|---|
| Not set (empty) | Any value or missing | Yes |
| Not set (empty) | platform-team | Yes |
platform-team | platform-team | Yes |
platform-team | other-team | No |
platform-team | Missing | No |
Backward Compatibility
When CATALOG_PACKAGE_FILTER is not set or empty, the filter is disabled and all RGDs with the knodex.io/catalog: "true" annotation are visible. This preserves backward compatibility with existing deployments.
Startup Logging
When the filter is active, the server logs the configured package filter at startup:
INFO catalog package filter enabled filter=platform-team
When the filter is not set:
INFO catalog package filter disabled (showing all packages)
The filter currently supports a single package value. To expose RGDs from multiple packages, either leave the filter empty (show all) or run separate Knodex instances per package.