Bundle Lifecycle

A bundle is an internal resource used for the orchestration of resources from git. When a GitRepo is scanned it will produce one or more bundles.

To demonstrate the life cycle of a SUSE® Rancher Prime Continuous Delivery bundle, we will use multi-cluster/helm as a case study.

  1. User will create a GitRepo that points to the multi-cluster/helm repository.

  2. The gitjob-controller will sync changes from the GitRepo and detect changes from the polling or webhook event. With every commit change, the gitjob-controller will create a job that clones the git repository, reads content from the repo such as fleet.yaml and other manifests, and creates the SUSE® Rancher Prime Continuous Delivery bundle.

The job pod with the image name rancher/tekton-utils will be under the same namespace as the GitRepo.
  1. The fleet-controller then syncs changes from the bundle. According to the targets, the fleet-controller will create BundleDeployment resources, which are a combination of a bundle and a target cluster.

  2. The fleet-agent will then pull the BundleDeployment from the SUSE® Rancher Prime Continuous Delivery controlplane. The agent deploys bundle manifests as a Helm chart from the BundleDeployment into the downstream clusters.

  3. The fleet-agent will continue to monitor the application bundle and report statuses back in the following order: bundledeployment > bundle > GitRepo > cluster.

This diagram shows the different rendering stages a bundle goes through until deployment.

Bundle Stages