
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 (usinghelm 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
securityContextglobally 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.pullPolicyto be applied to all components and built-in init containers. - Removed support for deprecated
dataSources.mysqlDriverConfigMapNamefield. - 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].serviceAccountfield for a component. - The chart sets the custom property
server.conf.processcommon.AUTODELETE_ARCHIVES_DELAY_DAYSto 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[]].usernamehas 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
searchServerPasswordfield. 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 yourpasswords.propertiesfile 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: trueremoved 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, settingdisableResourceRequests: truesets resource requests to0to 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.engineOverridesfield could not be set as it was incorrectly defined as an array instead of an object. - Support setting
webapp.minHeapSizeto configure webapp's minimum heap size instead of usingcustomProperties.
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.classfield 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.classfield or thedataServer.rts.countfield 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
disableCpuLimitstofalse(it defaults totrue). If enabled, the t-shirt size's CPU limits are applied. This can be overridden globally by setting the new fielddefaultCpuLimitsor overridden per component by setting[component].cpuLimits. The fieldworkerNodeTotalCpuhas been removed in favour ofdefaultCpuLimits. Previous chart behaviour can be achieved by settingdisableCpuLimitstofalseand settingdefaultCpuLimitsto the previous value ofworkerNodeTotalCpu. - Breaking Change Removed
serviceManager.cpuLimitsandserviceManager.memoryLimitsfields. UseserviceManager.default.cpuLimitsandserviceManager.default.memoryLimitsinstead. disableResourceRequestsnow sets noresources.requestsat all, rather than incorrectly setting them to0.- 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
ingressClassNamewas set. It now sets the annotationkubernetes.io/ingress.classinstead, to the correct value, instead of settingingressClassName. - AGIC Ingress Template now defaults
ingressTemplate.usePrivateIptofalseinstead oftrue.
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
ingressfrom being used to completely override the templated ingressingressTemplate
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.dataSourcesfrom being used to completely override the templated data sourcesdataSources.primaryanddataSources.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.bytesautomatically set based on RTS count - Added
webapp.customLoggersto facilitate the addition of customized application logging - Added
metricsAuthTokento enable Appian Self-Managed Monitoring metrics API - Added
cascadeVersionToComponentTagsfor compatibility with the Appian Migration Tool - Built-in SMTP-related custom properties are only added by the chart if
smtp.hostis provided serviceManager.maxExecEngineLoadMetricis now an integer (corrected from string)dataServer.rts.countis now an integer (corrected from string)dataServer.rts.queryMemoryCircuitBreakerThresholdBytesis 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).