Skip to main content

Global View upgrade (2026.4.1)

Global View is one of the core components of the Virtana Platform (VP). It provides a centralized, unified dashboard to monitor and manage performance across your entire infrastructure, consolidating insights from multiple sources into a single pane of glass.

Prerequisities

  • An existing Virtana Platform installation running version 2025.12.1.

  • A Kubernetes cluster with Helm 3.x installed is required. 

  • Access to the Virtana Helm repository.

  • Valid Docker registry credentials.

  • DNS records configured for Global View, Keycloak, and GrowthBook hostnames.

Prepare the Helm Values File

Create a new file named global-view-values.yaml. Replace all placeholder values with your environment-specific settings.

Global Configuration

global:
  controlplane:
    ingress:
      annotations:
        nginx.ingress.kubernetes.io/ssl-redirect: "false"
        nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
  postgresql:
    migration:
      enabled: false
    storage:
      size: 50Gi        
  environment: app
  secret_source: valuesfile
  storageClass: &defaultStorageClass ""
  dockerRegistryCredentials:
    DOCKER_SERVER: "https://index.docker.io/v2/"
    DOCKER_USERNAME: "username"
    DOCKER_PASSWORD: "password"
  keycloak:
    hostname: <KEYCLOAK_HOSTNAME>
    adminUser: "vpadmin"
    adminPassword: "P@ssW0rd@123"
  public_dns_host_name: <global_view_hostname>
  public_dns_host_am_suffix: -oc-<global_view_hostname>
  organization_details:
    organization_name: "<TENANT_NAME>"
    first_name: "John"
    last_name: "Doe"
    contact_email: "xxxx.xxxx@domain.com"
  create_tls_selfsigned_certs: true
  affinity: &affinity {}
  nodeSelector: &nodeSelector {}
  tolerations: &tolerations []

The following table describes each field in the configuration file.

Table 10.

Field

Description

Default value

global.controlplane.ingress.annotations

Controls the behavior of the NGINX Ingress for the control plane.

nginx.ingress.kubernetes.io/ssl-redirect

Controls automatic HTTP to HTTPS redirection. The default value decides the outcome.

false

nginx.ingress.kubernetes.io/force-ssl-redirect

Diables all incoming traffic to be served via HTTPS.

false

global.postgresql

The PostgreSQL database backing the platform.

migration.enabled

Controls whether database migration jobs run automatically. If customer is running GV version 2026.12.1 or above, then this value must always be false.

false

storage.size

Size of the persistent volume for PostgreSQL.

50 Gib

global.environment

Represents the deployment environment name or type.

app

global.secret_source

Specifies where secrets should come from.

valuesfile/none

global.storageClass

Default Kubernetes StorageClass name for PVCs.

&defaultStorageClass ""

global.dockerRegistryCredentials

Credentials to pull container images from a Docker registry.

DOCKER_SERVER

If you are deploying in an air gapped environment and using a private docker registry to pull container images then use private registry URL.

https://index.docker.io/v2/

DOCKER_USERNAME

Private registry username.

"username"

DOCKER_PASSWORD

Private registry password

"password"

DOCKER_SERVER

If you are not using the private registry and pulling container images directly from Docker Hub, then do not change the list of servers.

"https://index.docker.io/v2/"

"https://dhi.io/"

DOCKER_USERNAME

Docker hub username.

"username"

DOCKER_PASSWORD

Docker hub password.

"password"

global.keycloak

Integrates the platform with a Keycloak identity provider.

keycloak.hostname

Public hostname where Keycloak is accessible

<KEYCLOAK_HOSTNAME>

adminUser and adminPassword

Credentials for the Keycloak admin account used to configure realms, clients, or users for this platform.

global.public_dns_host_name

Main DNS name for accessing the Virtana Global View UI.

<GLOBAL_VIEW_HOSTNAME>

global.public_dns_host_am_suffix

Suffix used to construct additional hostnames, likely for auxiliary or AM services.

-oc-<global_view_hostname>

global.organization_details

Metadata about the tenant or organization

organization_name

Tenant or company name

<TENANT_NAME>

first_name / last_name

Primary contact person

contact_email

Contact email for notifications or support

xxxx.xxxx@domain.com

global.create_tls_selfsigned_certs

Controls TLS certificate handling

true

affinity

Kubernetes pod affinity/anti‑affinity rules. Empty {} means pods can be scheduled anywhere.

&affinity {}

nodeSelector

Simple mapping of labels > nodes. Empty {} means no node label constraints.

&nodeSelector {}

tolerations

Allows pods to be scheduled onto tainted nodes. Empty [] means no special tolerations.

&tolerations []



SMTP configuration

cp-configs:
  smtp:
    smtpHost: smtp.gmail.com
    smtpPort: "587"
    smtpUsername: ""
    smtpPassword: ""
    smtpFromEmail: "noreplies@virtana.com"
    smtpTlsInsecureSkipVerify: "false"

The following table describes each field in the configuration file.

Table 11.

Fields

Description

Default values

smtpHost

SMTP server address

smtp.gmail.com

smtpPort

SMTP port

"587"

smtpUsername/smtpPassword

Authentication credentials for the SMTP server.

" "

smtpFromEmail

Sender address for outgoing notification emails.

"noreplies@virtana.com"

smtpTlsInsecureSkipVerify

"false" verifies TLS certificates

"false"



GrowthBook configuration

growthbook:
  ingress:
    enabled: true
    annotations:
      nginx.ingress.kubernetes.io/cors-allow-origin: "https://<GROWTH_BOOK_HOSTNAME>"
    appOriginName: <GROWTH_BOOK_HOSTNAME>
    apiHostName: <GROWTH_BOOK_API_HOSTNAME>
  affinity: *affinity
  nodeSelector: *nodeSelector
  tolerations: *tolerations

The following table describes each field in the configuration file.

Table 12.

Fields

Description

Default values

cors-allow-origin

Restricts browser CORS requests to the GrowthBook UI hostname.

https://<GROWTH_BOOK_HOSTNAME>

appOriginName

Hostname for the GrowthBook web UI.

<GROWTH_BOOK_HOSTNAME>

apiHostName

Hostname for the GrowthBook API endpoint.

<GROWTH_BOOK_API_HOSTNAME>



Storage and Infrastructure Components

cp-mongodb:
  affinity: *affinity
  nodeSelector: *nodeSelector
  tolerations: *tolerations
  migration:
    enabled: false
  persistence:
    size: 50Gi

minio:
  affinity: *affinity
  nodeSelector: *nodeSelector
  tolerations: *tolerations
  persistence:
    size: 20Gi

redis:
  persistentVolumeClaim:
    existingPersistentVolumeClaim: "redis-data-controlplane-infra-redis-master-0"

strimzi-kafka-operator:
  controller:
    persistence:
      size: 50Gi

kafka:
  controller:
    persistence:
      size: 50Gi
    affinity: *affinity
    nodeSelector: *nodeSelector
    tolerations: *tolerations

cloud-native-postgresql-cluster:
  affinity: *affinity

cp-metrics-service:
  victoria-metrics-single:
    rbac:
      create: true
      namespaced: true
    server:
      size: 100Gi

alerts-service:
  solrdb:
    enabled: true
    persistent_ebs:
      spec:
        resources:
          requests:
            storage: 100Gi
  solr:
    enabled: false
    persistence:
      size: 50Gi
    zookeeper:
      persistence:
        size: 20Gi

The following table describes each field in the configuration file.

Table 13.

Fields

Description

Default values

cp-mongodb.enabled

Disables MongoDB data migrations

false

mongodb.persistence.size

MongoDB for control plane document storage.

50 Gib

minio.persistence.size

S3-compatible object storage for files and artifacts.

20 Gib

redis.existingPersistentVolumeClaim

Reuses the existing Redis PVC from the prior installation to preserve data continuity during upgrade.

strimzi-kafka-operator.persistence.size

Storage for the Strimzi Kafka operator controller state.

50 Gib

kafka.persistence.size

Storage for Kafka controller/broker nodes. Use low-latency SSD storage in production.

50 Gib

victoria-metrics-single.server.size

Time-series metrics database. Increase for long retention or high ingestion. RBAC is namespaced.

100 Gib

alerts-service.solrdb.enabled

Enables the SolrDB component.

true

persistent_ebs.spec.resource.request.storage

EBS-backed Solr database for alert indexing.

100 Gib

alerts-service.solr.enabled

Disables the in‑chart Solr deployment.

false

persistence.size

The disk size for Solr.

50 Gib

zookeeper.persistence.size

Zookeeper persistence volume size for Solr’s coordination service.

20 Gib



Note

For upgrade, Redis references an existingPersistentVolumeClaim instead of creating new storage. This ensures data continuity from the previous Redis deployment

Private container registry override (optional)

Create a file named global-view-image-registry.yaml. For detailed information, see Overriding the Private Container Registry.

Deploy Global View

In this step, you apply the prepared Helm values and image registry overrides to roll out the upgraded Global View stack to your Kubernetes or OpenShift cluster. The deployment is performed in the following three phases: CRDs, infrastructure modules, and service modules. It ensures that all required custom resources, storage, messaging, and application services are created and upgraded in a controlled, dependency-aware order using the virtana-repo/virtana-global-view Helm chart.

See the detailed Global View deployment steps in Deploying Global View.

Verify the upgrade

To ensure Global View is accessible, perform the following steps:

  1. Open your web browser and navigate to https://<global_view_hostname>/ui. Replace <global_view_hostname> with the hostname you defined during configuration.

  2. Log in using the organizational email address and the password you created during registration.

If the UI loads and login succeeds, the upgrade is complete.