This section describes the core concepts of
MPAS and what Kubernetes controllers and custom resources are contained.
To learn more about the
A Product is a package of software that can be deployed to target environments such as Kubernetes clusters, virtual machines or bare-metal devices.
Products are made available to the
MPAS system as OCM Components via a
Multiple instances of a Product may be installed that refer to the same Subscription.
ProductDeployment is a Kubernetes Custom Resource that represents a product to
be deployed to a target. The
ProductDeployment is reconciled by the MPAS Product Controller which will generate the necessary Kubernetes resources to deploy the product to the cluster.
ProductDeploymentGenerator is a Kubernetes Custom Resource that represents a
ProductDeployment to be deployed to a Kubernetes cluster. The
is reconciled by the
MPAS Product Controller in order to generate the
ProductDescription is a manifest that describes a product. It specifies the set
of resources that are needed to deploy the product in a form of pipeline steps.
ProductDescription is retrieved by the
MPAS Product Controller in order to
ProductDeployment resource during a
ProductDeploymentPipeline is a Kubernetes Custom Resource that defines a resource
that needs to be deployed as part of the
reconciled by the
MPAS Product Controller as part of the
Project is a Kubernetes Custom Resource that is used to manage the lifecycle of
MPAS project. A
Project is reconciled by the
MPAS Project Controller which
will generate a project namespace and a git repository for the project containing
the project folder structure. The controller will also generate the necessary
Flux kustomization resources in the
mpas-system namespace in order to update
the cluster with the project resources from the git repository. All items that the
MPAS Project Controller created during reconcile, are visible in the
The project git repository is designed to be used as a GitOps repository for the project. It contains all the product custom resources in order to be deployed to the cluster.
The purpose of a Subscription is to replicate
OCM components containing a particular
product from a delivery registry into a target registry in the
MPAS customer’s environment.
ComponentSubscription is a Kubernetes Custom Resource that represents a subscription
to a component. The
ComponentSubscription is reconciled by the
which will transfer the OCM component into the target registry using the OCM library.
Target is a Kubernetes Custom Resource that represents a target environment where
Product should be deployed. The
MPAS Product Controller controller reconciles the
and creates any necessary prerequisite that needs to exist in the target environment, e.g.
a namespace and a service account.