Skip to main content

Uninstall Global View

Global View is the central management layer of the Virtana Platform. It runs as a set of Helm-managed releases in the controlplane namespace and depends on PostgreSQL (for persistent data) and Kafka (for event streaming), both of which are installed as Kubernetes operators via CustomResourceDefinitions (CRDs).

The uninstall process is split into three phases: removing the application charts, cleaning up CRDs and cluster-level resources, and optionally deleting persistent data and the namespace.

Caution

The PostgreSQL PVC, which stores all Global View configuration, organization data, and platform state, is deleted when the namespace is removed. If you plan to reinstall Global View and retain existing data, back up or retain the PVCs before proceeding.

If you migrated to Global View 2026.2.1 from version 2025.10.1, 2025.9.1, 2025.8.1, or 2025.7.1, an additional controlplane-migrations chart was installed and must also be uninstalled (see Step 3).

Remove the Helm charts

Perform the steps:

  1. Uninstall the controlplane-service chart.

    The controlplane-service chart contains the core Global View application workloads, including the API server and UI backend. Uninstalling it stops all user-facing Global View services.

    helm uninstall controlplane-service -n controlplane
  2. Uninstall the controlplane-infra chart.

    The controlplane-infra chart manages the underlying infrastructure that Global View depends on, including the Kafka broker cluster and the PostgreSQL database cluster. Uninstalling it removes these workloads but leaves the CRDs and PVCs intact.

    helm uninstall controlplane-infra -n controlplane
  3. (Optional) Uninstall the controlplane-migrations chart.

    This chart was installed during a version upgrade to 2026.2.1 to run database schema migrations. Run this step only if you upgraded from one of the affected versions.

    If you performed a fresh installation, skip this step.

    helm uninstall controlplane-migrations -n controlplane
  4. Uninstall the controlplane-crds chart.

    The controlplane-crds chart installs the CustomResourceDefinition (CRD) manifests for the Strimzi Kafka operator and the CloudNativePG PostgreSQL operator. Uninstalling the chart removes the Helm-managed wrapper, but the CRDs themselves remain registered in the cluster until you delete them explicitly in the next step.

    helm uninstall controlplane-crds -n controlplane

Remove CRDs and cluster-level resources

Perform the steps:

  1. Delete Kafka and PostgreSQL CRDs.

    CRDs are cluster-scoped resources and are not removed by Helm when a chart is uninstalled. You must delete them manually. This command removes all CRDs registered by the Strimzi Kafka operator and the CloudNativePG PostgreSQL operator. The --ignore-not-found flag prevents errors if some CRDs were already removed.

    Warning

    Deleting CRDs removes all custom resources of those types cluster-wide. Any Kafka or PostgreSQL instances managed by these operators, including those outside the controlplane namespace, will be affected. Verify no other workloads are using these CRDs before proceeding.

    kubectl delete crd \
      kafkabridges.kafka.strimzi.io \
      kafkaconnectors.kafka.strimzi.io \
      kafkaconnects.kafka.strimzi.io \
      kafkamirrormaker2s.kafka.strimzi.io \
      kafkanodepools.kafka.strimzi.io \
      kafkarebalances.kafka.strimzi.io \
      kafkas.kafka.strimzi.io \
      kafkatopics.kafka.strimzi.io \
      kafkausers.kafka.strimzi.io \
      strimzipodsets.core.strimzi.io \
      backups.postgresql.cnpg.io \
      clusterimagecatalogs.postgresql.cnpg.io \
      clusters.postgresql.cnpg.io \
      databases.postgresql.cnpg.io \
      failoverquorums.postgresql.cnpg.io \
      imagecatalogs.postgresql.cnpg.io \
      poolers.postgresql.cnpg.io \
      publications.postgresql.cnpg.io \
      scheduledbackups.postgresql.cnpg.io \
      subscriptions.postgresql.cnpg.io \
      --ignore-not-found
  2. Delete the Keycloak organization secret.

    The keycloakorgsecret secret in the controlplane namespace stores the organization-specific credentials used by Global View to communicate with Keycloak. This secret is not managed by the Helm charts and must be removed manually.

    kubectl delete secret keycloakorgsecret -n controlplane

Clean up persistent data and namespace (optional)

The steps in this phase permanently delete stored data. If you want to reinstall Global View later and restore the platform to its previous state, skip Steps 1 and 2 and retain the PVCs and jobs until you are ready for a fresh start.

Perform the steps:

  1. Delete all PVCs in the controlplane namespace.

    Persistent Volume Claims (PVCs) are not deleted when a Helm chart is uninstalled. Run this command to delete all PVCs in the controlplane namespace. This permanently removes all PostgreSQL and Kafka data. The underlying Persistent Volumes (PVs) may also be released depending on your storage class reclaim policy.

    Skip this step if you want to retain the data for a future re-installation.

    kubectl delete pvc $(kubectl get pvc -n controlplane --no-headers \
      -o custom-columns=":metadata.name") -n controlplane
  2. Delete the completed or failed Kubernetes Jobs left after uninstallation.

    Kubernetes Jobs created by Helm hooks during installation or upgrade may persist after the chart is uninstalled. The following command removes all jobs from the controlplane namespace.

    kubectl delete job $(kubectl get jobs -n controlplane --no-headers \
      -o custom-columns=":metadata.name") -n controlplane
  3. Delete the controlplane namespace.

    Deleting the namespace removes every remaining Kubernetes resource it contains, including any resources not previously deleted. Only run this step after you have completed all earlier steps and confirmed that no data needs to be retained.

    kubectl delete namespace controlplane