Scale OKF bundles across an organization with Knowledge Catalog
Google Cloud introduces a method to publish and govern Open Knowledge Format bundles across organizations using Knowledge Catalog, replacing scattered git repositories with a centralized, searchable index governed by IAM policies.
The Open Knowledge Format (OKF) v0.2 provides a portable, machine-readable bundle format with trust signals such as provenance, verification, and freshness, enabling teams to publish reliable context for AI agents. However, sharing these bundles across an organization has been challenging, as git repositories lack searchability, governance, and integration with existing data metadata. To address this, Google Cloud’s Knowledge Catalog now supports publishing OKF bundles as governed entries, making them discoverable and accessible alongside technical metadata like schemas and lineage.
Publishing an OKF bundle into Knowledge Catalog requires a one-time setup and a single push using provided sample code. The setup registers an EntryGroup, an EntryType named okf-bundle, and an AspectType named okf, while the push creates Entries for each concept with overview and okf Aspects. The bundle’s directory structure, including index.md and log.md files, is preserved as a browsable hierarchy, and all entries inherit Knowledge Catalog’s search, IAM, and lineage capabilities.
The okf AspectType schema defines 13 fields aligned with OKF v0.2, including document type, actor, timestamp, materials, verification events, lifecycle state, and runtime details. These fields are annotated for display and search, allowing agents to filter entries using predicates like aspect:okf.okf_type=Metric. Datetime fields support bare dates or range comparisons for queries, while array fields require client-side filtering after retrieval.
The process uses kcmd, the Metadata-as-Code CLI, to read an OKF bundle from git and write each concept as an Entry in Knowledge Catalog. The bundle must follow the Documents Layout, with markdown files under a catalog/ subdirectory and a catalog.yaml at the root. The sample code’s setup.ts automates catalog.yaml generation, simplifying deployment for new bundles without manual editing.