Skip to main content

Application Update Guide

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

caution

This feature (self-update from the admin console) is available from v2.3.0 onward. To update from a version earlier than v2.3.0, please perform a manual update (Method B).

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).