UtilityFree

Appian Platform Helm Chart

by Appian Corporation

Description

A Helm chart (appian-platform-cs) for deploying Appian on Kubernetes (AoK) sites with templated support for common configuration options and baked-in best practices. This chart deploys a custom resource of type appian that is managed by the Appian Operator.

Features

  • Simplified specification of common configuration options including data sources, high availability, SMTP, replication and ingress.
  • Configure numerous sizing parameters across all Appian components from built-in sizing templates by simply specifying a T-Shirt size.
  • Built-in best practice configurations.
  • Supports all fields from the Appian platform Custom Resource Definition for overriding any templated configurations.
  • Helm chart can either be used simply to generate the required Appian Custom Resource yaml spec (using helm template), or to directly deploy an Appian Custom Resource to your cluster (using helm install).

Release notes

BREAKING CHANGES This release includes breaking changes. If upgrading to this version of the Helm chart, read the full Release Notes from the downloaded README (pdf/html) carefully before upgrading and use helm template to compare the output with that from your current version to ensure the result is as expected.

  • The minimum Appian Operator version compatible with this chart is v0.200.0.
  • Support new global and per-component passthrough to corev1.PodSecurityContext. Follows the same override pattern as securityContext and nodeSelector (component-level wins, global fallback). Covers all 8 components: zookeeper, kafka, mirrorMaker, searchServer, dataServer, serviceManager, webapp, httpd.
  • Updated description from "Pod-level" to "Container-level" to reflect the v0.200.0 CRD change where it now embeds the full corev1.SecurityContext.
  • Support new passthrough for v1beta1.ServiceManagerShutdown. Schema-constrained to resources only.

Built against Appian operator v0.201.0 and Appian platform 25.4. This chart will work with older and newer versions of the Appian operator (to a minimum of v0.200.0) and Appian platform, but some parameters may not be valid.

Version history (13)

2.0.0

BREAKING CHANGES This release includes breaking changes. If upgrading to this version of the Helm chart, read the full Release Notes from the downloaded README (pdf/html) carefully before upgrading and use helm tempalate to compare the output with that from your current version to ensure the result is as expected.

  • The minimum Appian Operator version compatible with this chart is v0.194.0.
  • Restructured or renamed some existing chart values fields to align with a more standardised naming approach (see reference table in full release notes).
  • Corrected data source template for Oracle connection URL
  • Support setting securityContext globally for all components, or at component level as [component].securityContext.
  • Support disabling the built-in Search Server init container that sets vm.max_map_count on the worker node
  • Support setting images.pullPolicy to be applied to all components and built-in init containers.
  • Removed support for deprecated dataSources.mysqlDriverConfigMapName field.
  • Added default CPU and memory requests and limits to httpd
  • httpd affinity rules updated to allow the n+1 httpd pod to run and terminate
  • Support setting spec.[component].serviceAccount field for a component.
  • The chart sets the custom property server.conf.processcommon.AUTODELETE_ARCHIVES_DELAY_DAYS to a default of 30 days
  • Support OpenShift Default ingress controller as ingressTemplate.
  • Chart now sets the new custom properties used by the Appian Data Service since 25.1
  • The chart no longer populates spec.httpd.nslookupImage (which is not used from Operator v0.194.0).
  • Data source username field dataSources.[primary\|business[]].username has been removed in favour of providing the username(s) via a secret

Built against Appian operator v0.194.0 and Appian platform 25.4. This chart will work with older and newer versions of the Appian operator (to a minimum of v0.194.0) and Appian platform, but some parameters may not be valid.

1.2.0

  • Removed searchServerPassword field. From Operator v0.181.0, and Appian platform versions hotfixed from July 03, 2025 or later, the Operator now manages the Search Server password for you. Manually specifying a Search Server password is no longer required nor recommended. If you previously configured a Search Server password, you must remove this from your passwords.properties file when upgrading to this version of the Helm chart (see this KB for more details).

Built against Appian operator v0.181.0 and Appian platform 25.3. This chart will work with older and newer versions of the Appian operator (to a minimum of v0.181.0) and Appian platform, but some parameters may not be valid.

1.1.3

  • Fixed Search Server CPU requests for Medium t-shirt size to 200m.

Built against Appian operator v0.178.0 and Appian platform 25.3. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0).

1.1.2

  • Fixed issue where setting disableResourceRequests: true removed resource requests altogether but left limits in place, resulting in Kubernetes automatically adding resource requests back in and set to the same values as the limits. Now, setting disableResourceRequests: true sets resource requests to 0 to prevent this.

Built against Appian operator v0.173.0 and Appian platform 25.1. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid

1.1.1

  • Fixed issue where webapp.engineOverrides field could not be set as it was incorrectly defined as an array instead of an object.
  • Support setting webapp.minHeapSize to configure webapp's minimum heap size instead of using customProperties.

Built against Appian operator v0.173.0 and Appian platform 25.1. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid

1.1.0

  • Minor increase to Search Server CPU requests for Small and Medium t-shirt sizes in-line with public docs update.
  • Added dataServer.class field to enable independent scaling of the Data Service component without changing global t-shirt size.
  • Breaking Change Aligned Data Service t-shirt sizing with latest public docs. This keeps resources relatively similar to earlier versions, but reduces RTS count for each t-shirt size. Use the new dataServer.class field or the dataServer.rts.count field to readjust if required.
  • Breaking Change CPU limits are no longer set by default. This is to align with K8s best practices (where accurate CPU limits for the specific usage scenario are not already known). CPU limits can be applied by setting the new field disableCpuLimits to false (it defaults to true). If enabled, the t-shirt size's CPU limits are applied. This can be overridden globally by setting the new field defaultCpuLimits or overridden per component by setting [component].cpuLimits. The field workerNodeTotalCpu has been removed in favour of defaultCpuLimits. Previous chart behaviour can be achieved by setting disableCpuLimits to false and setting defaultCpuLimits to the previous value of workerNodeTotalCpu.
  • Breaking Change Removed serviceManager.cpuLimits and serviceManager.memoryLimits fields. Use serviceManager.default.cpuLimits and serviceManager.default.memoryLimits instead.
  • disableResourceRequests now sets no resources.requests at all, rather than incorrectly setting them to 0.
  • Deprecated dataSources.mysqlDriverConfigMapName, which enabled deploying the MySQL driver via a ConfigMap and webapp init container. The supported MySQL driver is now too large to be mounted via a ConfigMap.

Built against Appian operator v0.173.0 and Appian platform 25.1. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid

1.0.3

  • Fixed an issue with the AGIC Ingress Template where an invalid ingressClassName was set. It now sets the annotation kubernetes.io/ingress.class instead, to the correct value, instead of setting ingressClassName.
  • AGIC Ingress Template now defaults ingressTemplate.usePrivateIp to false instead of true.

Built against Appian operator v0.166.0 and Appian platform 24.4. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0).

1.0.2

  • Allow storage.haSharedData to be specified when not in a high availability configuration
  • No longer enforces passwordsPropertiesSecretName to be set (as this need only be provided and loaded at first environment startup)
  • Support override of serviceManager.replicas in high availability configurations (from the default 3)

Built against Appian operator v0.166.0 and Appian platform 24.4. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0).

1.0.1

  • Fixed bug preventing ingress from being used to completely override the templated ingress ingressTemplate

Built against Appian operator v0.166.0 and Appian platform 24.4. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0).

1.0.0

  • Fixed bug preventing webapp.dataSources from being used to completely override the templated data sources dataSources.primary and dataSources.business
  • Fixed bug where CPU and memory limits were not set for execution, analytics, groups, collaboration and process design engines when applying t-shirt sizes
  • Default value of the Data Service custom property rts.queryMemoryLimits.circuitBreaker.threshold.bytes automatically set based on RTS count
  • Added webapp.customLoggers to facilitate the addition of customized application logging
  • Added metricsAuthToken to enable Appian Self-Managed Monitoring metrics API
  • Added cascadeVersionToComponentTags for compatibility with the Appian Migration Tool
  • Built-in SMTP-related custom properties are only added by the chart if smtp.host is provided
  • serviceManager.maxExecEngineLoadMetric is now an integer (corrected from string)
  • dataServer.rts.count is now an integer (corrected from string)
  • dataServer.rts.queryMemoryCircuitBreakerThresholdBytes is now an integer (corrected from string)

Built against Appian operator v0.166.0 and Appian platform 24.4. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0).

0.1.2

  • Added disableResourceRequests field for running on smaller, dedicated worker nodes

Built against Appian operator v0.161.0 and Appian platform 24.3. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0). Minimum supported operator version is v0.156.0.

0.1.1

  • Supports new Search Server API password (introduced in 24.3)
  • Minor bug fixes

Built against Appian operator v0.161.0 and Appian platform 24.3. This chart will work with other versions of the Appian operator and platform, both older and newer., but some parameters may not be valid (e.g. spec.rpa was only introduced from v0.156.0). Minimum supported operator version is now v0.156.0.

0.1.0

First public release Built against Appian operator v0.159.0 and Appian platform 24.1. This chart will work with other versions of the Appian operator and platform, both older and newer, but some parameters may not be valid (e.g. spec.rpa was only introduced from operator version v0.156.0).

Resources