VMware Cloud Foundation (VCF) Services is the packaging and lifecycle management framework for deploying software services across the VCF Automation fleet. A VCF Service bundles all configuration, OCI artifacts, and platform integration declarations needed to install, operate, and upgrade a service across one or more vSphere Supervisor clusters - in multiple regions and for multiple tenant organisations - from a single control plane inside VCF Automation.
VCF Automation sits at the top of the VMware Cloud Foundation stack. It provisions and orchestrates the fleet of vSphere Supervisor clusters that run below it. A VCF Service lives at this level:
┌──────────────────────────────────────────────────────────────────┐
│ VMware Cloud Foundation │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ VCF Automation (VCF-A) │ │
│ │ │ │
│ │ Service Manager │ │
│ │ ┌─────────────────────────────────────────────────────┐ │ │
│ │ │ VCF Service │ │ │
│ │ │ - RBAC, UI plugin, API endpoints, RDEs, OAuth │ │ │
│ │ │ - Deployed across all target Supervisors │ │ │
│ │ └─────────────────────────────────────────────────────┘ │ │
│ └──────────────────────┬──────────────────────────────────────┘ │
│ │ manages fleet │
│ ┌───────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Supervisor │ │ Supervisor │ │ Supervisor │ │
│ │ us-west-1 │ │ us-east-1 │ │ eu-west-1 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└──────────────────────────────────────────────────────────────────┘
When a VCF Service is activated, Service Manager:
A VCF Service is therefore not just a Kubernetes package: it is a complete extensibility contract with VCF Automation that covers fleet-scale deployment, multi-tenancy, RBAC, UI integration, and lifecycle management.
VCF Services and Supervisor Services serve related but distinct purposes.
| VCF Services | Supervisor Services | |
|---|---|---|
| Scope | Fleet - multiple Supervisor clusters across multiple regions and tenants | Single Supervisor cluster |
| Control plane | VCF Automation Service Manager | vSphere / Supervisor control plane directly |
| Packaging format | Carvel package with services.vcfa.broadcom.com/v2 CRs |
Carvel package deployed via SupervisorService CR |
| Platform integration | Full (RBAC, UI, API, OAuth, RDE, multi-tenancy) | Kubernetes workloads on the Supervisor cluster only |
| Lifecycle management | Install, upgrade, rollback, delete managed by Service Manager | Managed by vSphere or external tooling |
If your goal is to deploy a workload on a single Supervisor cluster and you do not need multi-Supervisor cluster orchestration or VCF Automation platform integration, start with the Supervisor Services Development Guide (vSphere Supervisor Services documentation).
If your Supervisor Service needs to participate in VCF Automation - to be discoverable and lifecycle-managed across a fleet, to integrate with VCF Automation RBAC, UI, or API, or to be offered to tenants - follow this guide. The SupervisorService CR is one of the element types a VCF Service can declare; packaging it inside a VCF Service is what brings it under VCF Automation management.
The documentation is structured in three sections, each building on the one below it.
The VCF Automation platform provides a set of low-level extensibility primitives that any VCF Service can use independently of the VCF Services framework:
| Capability | Description |
|---|---|
| UI Extensibility | Angular plugins and iFrame integrations that extend the VCF Automation web UI |
| API Extensibility | Custom REST API endpoints backed by MQTT services or HTTP proxy pass-through |
| Runtime Defined Entities | Custom object types persisted in the VCF Automation database, with Webhook and MQTT behaviors |
| Message Broker | MQTT message bus for event-driven extension backends |
| Custom Rights | Fine-grained access control integrated with VCF Automation RBAC |
| Object Metadata | User-defined properties on core VCF Automation objects |
Understanding these primitives is important, because VCF Service authors can use them by declaring them through element types (Section 2).
Element types are the Kubernetes Custom Resources (services.vcfa.broadcom.com/v2) that a VCF Service bundle declares. Each CR type enables a specific VCF extensibility capability or operation:
| Category | Element types |
|---|---|
| Supervisor | SupervisorService, SupervisorRegistry |
| Configuration | Overlay |
| RBAC | GlobalRole, Role, RightBundle |
| Identity | VcfaServiceAccount, VcServiceAccount, RelyingParty |
| API | ApiExtension, ApiExtensionProxy |
| UI | UserInterfacePlugin |
| Data | RdeBundle |
Service Manager reconciles each CR against its target system (VCF Automation, vCenter, or Supervisor cluster) and reports status through a common status structure.
The lifecycle section describes how to create, distribute, and operate a VCF Service end-to-end:
| Document | Description |
|---|---|
| VCF Service Lifecycle Overview | Service lifecycle states and architecture |
| Filesystem Layout | VCF Service bundle directory structure |
| Packaging and Distribution | Build workflow and Carvel toolchain |
| Runtime Spec and Overlay | Dynamic configuration injection using the Overlay CR and ytt |
| Upgrade and Deletion | Post-installation lifecycle: upgrade, rollback, and deletion |
| Service API Reference | REST API for managing VCF Services programmatically |
spec.package field (or a selector pointing to a ConfigMap) inside a SupervisorService CR.Read the Runtime Spec and Overlay guide, which explains how selector-based fields are resolved at reconciliation time and how Overlay CRs inject runtime values (such as a live IP address or a generated certificate) into other CRs.
Start with the Extensibility Platform Overview. If you are authoring a VCF Service, the corresponding element type documents cross-reference the relevant platform primitive.