Dr. Pranay Jha

VMware • Cloud • AI • Enterprise Architecture

FORMERLY
VMware Insight & Cloud Pathshala
What began over a decade ago as a passion for sharing knowledge has evolved into a unified platform for Enterprise AI, VMware, Cloud Architecture, Research, and Modern Infrastructure.
, ,

Content Sources and Content Sharing in VCF Automation: Feeding the Catalog (VCF Automation 9 Series, Part 40)

Authoring a template and delivering it are two different jobs. This is the content-source and content-sharing model that gets templates into the VCF Automation catalog and in front of the right projects, plus the 9.1 Project Content Library.

VCF Automation 9 Series · Part 40 of 41
TL;DR · Key Takeaways
  • Authoring a template and delivering it are separate jobs. A content source imports authored templates and workflows; content sharing puts them in front of a project.
  • The Content Sources page discovers and imports items and shows the counts. Nothing reaches a consumer until it is both imported and shared.
  • Sharing is project-scoped: share to all members of a project, or to selected users and groups. The catalog a consumer sees is the sum of what their project was shared.
  • VCF 9.1 adds the Project Content Library for sharing artifacts like ISO images, OVF files and VM templates within a project or between selected projects.
  • My recommendation: treat content delivery as a pipeline with an owner. The two silent failures are imported-but-not-shared and shared-but-never-resynced.
Who this is for: cloud and platform admins who own the VCF Automation catalog and need authored templates to actually reach the right teams.
Prerequisites: a VCF Automation 9.x organization, at least one authored cloud template or Orchestrator workflow, and projects with members to share to.

A team spends a week perfecting a cloud template, and a month later nobody has used it. It is not broken. It was never imported as a content source, and it was never shared to a project, so it does not exist anywhere a consumer can see it. Authoring content and delivering content are two different jobs in VCF Automation, and the second one is where good templates quietly go to die. Part 14 covered publishing a single catalog item; this is the content-source and sharing machinery that feeds the catalog at scale.

Content does not reach the catalog by magic

There is a chain between a template someone authored and a consumer clicking request, and every link has to be in place. A template is authored in Automation Assembler. A content source imports it, discovering and importing the items it contains. The imported content is then shared to one or more projects. Only then does it appear in the catalog for the members of those projects. Break any link and the symptom is identical: an empty or incomplete catalog, with no error to explain why.

From authored template to request Every link must be in place; a missing one shows as an empty catalog Author Assembler template Content source discovers and imports items Share to project(s) Catalog visible to members Request consumer
Author, import, share, then it is in the catalog. The middle two steps are the ones teams forget.

Content sources: the import side

A content source connects the catalog to a place where content is authored. When you add one, it discovers the items available and imports them, and the Content Sources page reports the number of discovered and imported items so you can see at a glance whether a source is pulling what you expect. The two content sources you will use most are Automation Assembler cloud templates and VCF Operations Orchestrator workflows. A content source is the unit you re-sync when content changes, which matters: editing the underlying template does not update the catalog until the source is synced again.

# What a content source imports: an Automation Assembler cloud template
formatVersion: 1
inputs:
  size:
    type: string
    enum: [small, medium]
    default: small
resources:
  app-vm:
    type: Cloud.vSphere.Machine
    properties:
      flavor: '${input.size}'
      image: ubuntu-2204

Expected result: after the source syncs, this template shows as an imported item, ready to share. Failure mode: you edit the template, the catalog still serves the old version, and you waste an afternoon before remembering the source needs a re-sync. Make re-sync part of your content release process, not a thing you remember to do.

Content sourceWhat it importsAuthored in
Cloud templatesVM and application blueprintsAutomation Assembler
Orchestrator workflowsWorkflow-backed catalog itemsVCF Operations Orchestrator
Other source typesAdditional item types per buildVaries; verify in docs

Content sharing: the delivery side

Importing makes content available to share; it does not show it to anyone. Sharing is what puts an item in a catalog, and it is scoped to the project. You can share content with all users and groups in a project, or with selected users and groups, which is how you keep a sensitive or expensive template in front of only the teams allowed to use it. The catalog any one consumer sees is simply the sum of what their projects have been shared. That is the whole access model, and it is cleaner than it sounds once you stop thinking about a single global catalog and start thinking per project.

Sharing is per project All members, or selected users and groups Imported content ready to share Project A: all members broad, standard templates Project B: selected groups sensitive or costly items
The same item can be broadly shared to one project and tightly scoped in another. The catalog is per project, not global.

The Project Content Library in 9.1

Content sources and sharing handle catalog items. VCF 9.1 adds a different sharing primitive for raw artifacts: the Project Content Library. It exists to share content within a project or between selected projects, and it can hold ISO images, OVF files, VM templates, vApps, scripts, applications and more. The point is to stop every project duplicating the same base images and templates, which reduces both storage and administrator overhead. Think of it as the difference between sharing a finished catalog item and sharing the building blocks teams assemble from.

In practice: keep one curated Project Content Library of approved base images and templates and share it to the projects that need it, rather than letting each team upload its own ISOs. One golden image shared widely beats ten near-identical copies you cannot patch in step.
Two kinds of sharing Finished items versus the building blocks Content source + sharing Imports catalog items Templates, workflows Shared to projects, requested Project Content Library (9.1) Shares raw artifacts ISO, OVF, VM templates, scripts Within or between projects
Content sources deliver finished catalog items; the Project Content Library shares the artifacts teams build from.
Worked example
A platform team maintains five cloud templates in Automation Assembler. They add one content source pointing at Assembler; the Content Sources page shows five discovered and five imported. They share three general templates to all members of every project, and two regulated-workload templates only to the security-cleared group inside the Payments project. A base RHEL image and a hardened OVF live in one Project Content Library shared to the three projects that need them. When a template changes, the release step is one re-sync of the content source. A consumer in the Marketing project sees three items; a cleared engineer in Payments sees five. Same content store, different catalogs, all controlled by sharing.
Gotcha
Two silent failures dominate. Imported-but-not-shared: the item is in the content store, the source is green, and yet no consumer can see it because no project was shared. Shared-but-stale: the template was edited but the content source was never re-synced, so the catalog serves an old version. Neither throws an error. Both waste an afternoon. Bake sharing and re-sync into a content release checklist.
Disclaimer
Content sources, sharing scopes and the Project Content Library affect what tenants can see and deploy. Validate sharing in a non-production project, confirm who a content item is shared to before broad release, and follow the current Broadcom documentation for your exact VCF Automation build.

The Short Version

Treat content delivery as a pipeline with a named owner, not a one-time setup. The chain is author, import as a content source, share to projects, and re-sync on change, and the platform will not warn you when a link is missing. My recommendation is to standardize on a small set of content sources, share broadly for general templates and narrowly for sensitive ones, and keep approved base artifacts in a shared Project Content Library so teams stop duplicating images. When would I do less? For a tiny single-team org, one content source shared to one project is all the ceremony you need. For anything multi-tenant, the discipline of a content release checklist is what keeps the catalog trustworthy. The catalog is a product surface; treat stale or missing content as a defect, because to the consumer that is exactly what it is. When did you last re-sync your content sources, and do you know what is shared to whom?

References

VCF Automation 9 Series · Part 40 of 41
« Previous: Part 39  |  VCF Automation Guide  |  Next: Part 41 »

About The Author


Discover more from Dr. Pranay Jha

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Architect’s Toolkit

About the Author

Dr. Pranay Jha is a Cloud and AI Consultant with 18+ years of experience in hybrid cloud, virtualization, and enterprise infrastructure transformation. He specializes in VMware technologies, multi-cloud strategy, and Generative AI solutions. He holds a PhD in Computer Applications with research focused on Cloud and AI, has published multiple research papers, and has been a VMware vExpert since 2016 and a VMUG Community Leader.

VCF Automation 9 Series

Discover more from Dr. Pranay Jha

Subscribe now to keep reading and get access to the full archive.

Continue reading