Skip to main content

Application Update Guide

This guide explains how to update the Kubernetes applications in the AGENTIC STAR marketplace edition.

You can choose from two methods. Method A (self-update) is recommended for most cases.

MethodOverviewRecommended For
Method A: Self-update from the admin console (recommended)Select a target version from the "Version Management" page and execute. Each service is upgraded automatically in dependency order.Most regular updates
Method B: Manual update (CLI operations)Operate kubectl / helm directly to upgrade individual charts.When you need fine-grained control, integration into CI/CD, or recovery from a failure

From the "Version Management" page in the admin console, you can automatically upgrade to the next available version. Each service is upgraded sequentially in pre-defined dependency order, and you can review progress and results on screen.

A-1. Prerequisites

  • You can sign in to the admin console (e.g., https://admin.<your-domain>) with administrator privileges
  • The umbrella chart (agentic-star-platform) is published in the official Helm repository
  • The upgrade controller (upgrade-controller) is running in AKS

A-2. Open the Version Management page

After signing in, click "Version Management" in the left sidebar.

Version Management page (before update)

The page shows:

  • Current version: The currently deployed platform version (e.g., v2.0.0) and deployed status
  • Available versions: The next upgradable version (with a "Next version" label) and a link to each version's release notes
  • Deployed charts: Current version and status of each sub-chart
note

The available versions list follows a sequential upgrade model. You cannot jump multiple versions ahead — you must apply each "Next version" in order.

A-3. Select an upgrade target

In the "Available versions" section, click the "Select" button on the right side of the next version you want to upgrade to (e.g., v2.1.0).

A-4. Review release notes and changes

The "Upgrade Analysis" page is displayed.

Upgrade Analysis page

You can review:

  • Release notes (new features, changes, security fixes, etc.)
  • How many charts will be updated out of the total
  • Auto-applied values (auto_set) and values requiring input (user_input) for each service
  • When user_input is present: An input form is shown. Enter values referring to the hint for each item.

After reviewing/entering values, click the "Execute Upgrade" button at the top right.

A-5. Confirm execution

A confirmation modal is displayed.

Upgrade execution confirmation modal

Review the warning messages:

  • The number of charts to be upgraded
  • A warning if Helm-external changes are detected (re-application may be required)
  • Possible temporary impact on services during the upgrade

If everything looks good, click "Execute". To abort, click "Cancel".

A-6. Watch progress

The upgrade starts and the progress page is displayed.

Upgrade in progress page

The page shows:

  • An overall progress bar
  • The chart currently being processed (Upgrading <chart-name>...)
  • Status of each chart (processing / completed / skipped / failed)
note

Charts that have no version change (already at target_version) are shown as skipped and helm upgrade is not executed.

You can close this page and the upgrade will continue, but keep it open if you want to monitor progress.

A-7. Confirm completion

When all charts are processed, the completion screen is displayed.

Upgrade completion screen

Verify the following:

  • The header shows "✓ Upgrade Complete"
  • Summary: Succeeded / Skipped / Failed counts
    • Make sure Failed is 0
  • Status list of each chart

The upgrade-controller itself also performs a self-upgrade at the end (shown as completed).

When done, click "Back to Version Management" to return to the version management page.

A-8. Verify after the update

On the Version Management page, confirm that "Current version" reflects the new version.

Version Management after update

  • Current version: The new version is shown with deployed and Latest
  • Deployed charts: Each sub-chart is at the new version with deployed status

A-9. Troubleshooting

SituationAction
The lock is not released and you cannot retryVerify that no other upgrade is in progress. If clear, an administrator can force-release the lock.
Some charts failedCheck the error message of the failed charts on the completion screen. Inspect Pod status (kubectl get pods -A) and Pod logs in AKS, then recover via Method B (manual update) if needed.
The progress page does not advance for a long timeCheck the upgrade-controller Pod logs (kubectl logs -n upgrade-controller deploy/upgrade-controller).
"Helm-external changes detected" warning appearsSettings applied manually after the previous upgrade may be overwritten. Re-apply your custom settings after completion.

Method B: Manual Update (CLI operations)

This procedure upgrades each chart individually using kubectl / helm. Use it when integrating with CI/CD, or when recovering services that failed in Method A.

B-1. Prerequisites

  • Connected to the AKS cluster via kubectl
  • Helm v3 installed
  • Administrator privileges on the target cluster
note

In the marketplace environment, the Helm storage driver is set to configmap, so all helm commands must be prefixed with HELM_DRIVER=configmap.

B-2. Update flow

  1. Download the new version of the umbrella Helm chart
  2. Extract it and check each service's version in Chart.yaml
  3. Download individual charts
  4. Update each service with helm upgrade --reuse-values
  5. Verify operation after the update

B-3. Download the umbrella Helm chart

Download the latest umbrella chart from the public repository.

curl
# Download the umbrella chart (adjust the version as needed)
curl -O https://agtstrmarketplacecharts.blob.core.windows.net/charts/agentic-star-platform-1.1.3.tgz

# Extract
tar xzf agentic-star-platform-1.1.3.tgz

B-4. Check versions

The extracted Chart.yaml contains the individual version for each service.

curl
cat agentic-star-platform/Chart.yaml

B-5. Download individual charts

Add the Helm repository and download charts with the versions listed in Chart.yaml.

curl
# Add the AGENTIC STAR repository
helm repo add agenticai-prod https://agtstrmarketplacecharts.blob.core.windows.net/charts
helm repo update

# Download an individual chart (e.g., agenticai-admin 1.1.3)
helm pull agenticai-prod/agenticai-admin --version 1.1.3 -d charts/

B-6. Service list

The following is the list of services included in the marketplace edition.

Application components

Release NameNamespaceNotes
librechatagentic-star-frontMain application
librechat-authlibrechat-authAuthentication service (Keycloak)
agenticai-adminagentic-star-adminAdmin console
agent-executoragent-executorAgent execution platform
agenticai-extapiagenticai-extapi-serviceExternal API
gate-servicesgate-servicesGateway and routing
db-migrationdb-migrationDatabase migration

Security and Infrastructure

Release NameNamespaceNotes
extauth-serviceproxy-systemZero-trust authorization service
ingress-nginxingress-nginxIngress controller
qdrantqdrantVector DB

Monitoring and Operations

Release NameNamespaceNotes
prometheus-operatormonitoringPrometheus monitoring stack
lokiobservabilityLog storage
alloy-logsobservabilityLog collector
alloy-metricsobservabilityMetrics collector
k8s-monitoringobservabilityKubernetes monitoring
agenticai-observabilityobservabilityGrafana / Jaeger
agenticai-datadogagenticai-datadogDatadog integration (optional)
pvc-lifecycle-managerpvc-lifecycle-managerPVC lifecycle management

Platform initialization

Release NameNamespaceNotes
init-platformlibrechat-authInitialization job (typically does not need updating)

B-7. Update commands

Basic pattern

Most services can be updated with the following pattern. --reuse-values preserves all existing settings; only the image tag specified by --set-string "image.tag=..." is updated.

curl
export HELM_DRIVER=configmap

HELM_DRIVER=configmap helm upgrade <release-name> <chart-path> \
--namespace <namespace> \
--reuse-values \
--set-string "image.tag=<version>" \
--wait \
--timeout 10m

Application components

librechat (main application):

curl
HELM_DRIVER=configmap helm upgrade librechat ./charts/librechat-1.1.3.tgz \
--namespace agentic-star-front \
--reuse-values \
--set-string "image.tag=1.1.3" \
--wait \
--timeout 20m

librechat-auth (authentication service):

curl
HELM_DRIVER=configmap helm upgrade librechat-auth ./charts/librechat-auth-1.1.3.tgz \
--namespace librechat-auth \
--reuse-values \
--set-string "image.tag=1.1.3" \
--wait \
--timeout 20m

agenticai-admin (admin console):

curl
HELM_DRIVER=configmap helm upgrade agenticai-admin ./charts/agenticai-admin-1.1.3.tgz \
--namespace agentic-star-admin \
--reuse-values \
--set-string "image.tag=1.1.3" \
--wait \
--timeout 10m

agent-executor (agent execution platform):

curl
HELM_DRIVER=configmap helm upgrade agent-executor ./charts/agent-executor-1.1.3.tgz \
--namespace agent-executor \
--reuse-values \
--set-string "image.tag=1.1.3" \
--wait \
--timeout 20m

agenticai-extapi (external API):

curl
HELM_DRIVER=configmap helm upgrade agenticai-extapi ./charts/agenticai-extapi-1.0.0.tgz \
--namespace agenticai-extapi-service \
--reuse-values \
--set-string "image.tag=1.0.0" \
--wait \
--timeout 10m

gate-services (gateway):

curl
HELM_DRIVER=configmap helm upgrade gate-services ./charts/gate-services-1.1.0.tgz \
--namespace gate-services \
--reuse-values \
--set-string "image.tag=1.1.0" \
--wait \
--timeout 10m

db-migration (database migration):

curl
HELM_DRIVER=configmap helm upgrade db-migration ./charts/db-migration-1.1.3.tgz \
--namespace db-migration \
--reuse-values \
--set-string "image.tag=1.1.3" \
--wait \
--timeout 10m

Security and infrastructure

extauth-service (zero-trust authorization service):

curl
HELM_DRIVER=configmap helm upgrade extauth-service ./charts/extauth-service-1.0.0.tgz \
--namespace proxy-system \
--reuse-values \
--set-string "image.tag=1.0.0" \
--set-string "webhook.image.tag=1.0.0" \
--set cert-manager.enabled=false \
--wait \
--timeout 20m
caution

For extauth-service, also specify webhook.image.tag and always include cert-manager.enabled=false (cert-manager is installed separately).

ingress-nginx (Ingress controller):

curl
HELM_DRIVER=configmap helm upgrade ingress-nginx ./charts/ingress-nginx-4.14.0.tgz \
--namespace ingress-nginx \
--reuse-values \
--wait \
--timeout 10m

qdrant (vector DB):

curl
HELM_DRIVER=configmap helm upgrade qdrant ./charts/qdrant-1.1.0.tgz \
--namespace qdrant \
--reuse-values \
--wait \
--timeout 20m

Monitoring and operations

prometheus-operator (Prometheus monitoring stack):

curl
HELM_DRIVER=configmap helm upgrade prometheus-operator ./charts/kube-prometheus-stack-79.5.0.tgz \
--namespace monitoring \
--reuse-values \
--wait \
--timeout 15m
note

The chart name is kube-prometheus-stack, but the release name is prometheus-operator.

loki (log storage):

curl
HELM_DRIVER=configmap helm upgrade loki ./charts/loki-6.37.0.tgz \
--namespace observability \
--reuse-values \
--wait \
--timeout 20m

alloy-logs (log collector):

curl
HELM_DRIVER=configmap helm upgrade alloy-logs ./charts/alloy-1.1.2.tgz \
--namespace observability \
--reuse-values \
--wait \
--timeout 20m

alloy-metrics (metrics collector):

curl
HELM_DRIVER=configmap helm upgrade alloy-metrics ./charts/alloy-1.1.2.tgz \
--namespace observability \
--reuse-values \
--wait \
--timeout 20m
note

alloy-logs and alloy-metrics use the same chart (alloy-1.1.2.tgz) but with different release names and values.

k8s-monitoring (Kubernetes monitoring):

curl
HELM_DRIVER=configmap helm upgrade k8s-monitoring ./charts/k8s-monitoring-3.1.2.tgz \
--namespace observability \
--reuse-values \
--wait \
--timeout 15m

agenticai-observability (Grafana / Jaeger):

curl
HELM_DRIVER=configmap helm upgrade agenticai-observability ./charts/agenticai-observability-1.0.0.tgz \
--namespace observability \
--reuse-values \
--wait \
--timeout 15m

agenticai-datadog (Datadog integration):

curl
HELM_DRIVER=configmap helm upgrade agenticai-datadog ./charts/agenticai-datadog-1.0.0.tgz \
--namespace agenticai-datadog \
--reuse-values \
--wait \
--timeout 10m

pvc-lifecycle-manager (PVC lifecycle management):

curl
HELM_DRIVER=configmap helm upgrade pvc-lifecycle-manager ./charts/pvc-lifecycle-manager-1.0.0.tgz \
--namespace pvc-lifecycle-manager \
--reuse-values \
--wait \
--timeout 10m

B-8. Verify after the update

Check Pod status

curl
# Check Pod status across all namespaces
HELM_DRIVER=configmap helm list -A

# Check Pods in a specific namespace
kubectl get pods -n <namespace>

Check logs

Verify there are no errors after the update.

curl
# Check logs of a specific Pod
kubectl logs -n <namespace> <pod-name>

# Check recent events
kubectl get events -n <namespace> --sort-by='.lastTimestamp'

Notes

  • Update on a per-service basis. We recommend updating one service at a time and verifying, rather than all at once (Method A handles this internally).
  • Because we use --reuse-values, settings changed via the Domain Configuration Guide and Security Guide are preserved.
  • We recommend taking a backup before updating.
  • If problems occur, you can roll back by running the same command with the previous version's chart (Method B).