Appian Custom Resource Definition Share Share via LinkedIn Reddit Email Copy Link Print On This Page Overview This page documents the types that together compose the Appian custom resource definition (CRD) in Appian on Kubernetes for self-managed customers. The root of the CRD is defined by the Appian type. This documentation is also available by running: 1 kubectl explain appians Different API versions of the CRD are supported depending on your version of the operator. v1beta1 v1beta1.Appian Appian is the schema for Appian custom resources. Field Description Required metav1.TypeMeta (Members of metav1.TypeMeta are embedded into this type.) metadatametav1.ObjectMeta false specv1beta1.AppianSpec The desired state of Appian. true statusv1beta1.AppianStatus The observed state of Appian. false v1beta1.AppianList AppianList contains a list of Appian. Field Description Required metav1.TypeMeta (Members of metav1.TypeMeta are embedded into this type.) metadatametav1.ListMeta false items[]v1beta1.Appian A list of Appian. true v1beta1.AppianSpec AppianSpec defines the desired state of Appian. Field Description Required imagePullSecrets[]string Names of existing image pull secrets. See Pull an Image from a Private Registry for more info. false rbacv1beta1.RBAC Configuration for creating RBAC resources. false networkPoliciesv1beta1.NetworkPolicyConfig Configuration for creating network policy resources. false appianLicConfigMapNamestring Name of the existing config map containing the appian.lic file. false k3LicSecretNamestring Name of the existing secret containing the k3.lic file. Defaults to k3lic. For sites with a single replica of an engine, updating this field requires restarting the engine's pod. false k4LicSecretNamestring Name of the existing secret containing the k4.lic file. Defaults to k4lic. For sites with a single Data Server replica, updating this field requires restarting Data Server's pod. false customPropertiesmap[string]string Appian's custom properties. See Custom Properties for more info. false searchServerv1beta1.SearchServer Configuration for Search Server. true dataServerv1beta1.DataServer Configuration for Data Server. true kafkav1beta1.Kafka Configuration for Kafka. true mirrorMaker*v1beta1.MirrorMaker Configuration for MirrorMaker. false zookeeperv1beta1.Zookeeper Configuration for Zookeeper. true serviceManagerv1beta1.ServiceManager Configuration for Service Manager. true webappv1beta1.Webapp Configuration for Webapp. true httpd*v1beta1.Httpd Configuration for httpd. false rpa*v1beta1.RPA Configuration for RPA. false servicev1beta1.Service Configuration for creating Appian's service resource. false ingressv1beta1.Ingress Configuration for creating Appian's ingress resource. false urlstring The scheme, host, and, optionally, port used to access Appian (e.g. https://appian.example.com, http://appian.example.com:32767, etc). For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. For sites with RPA, updating this field requires restarting RPA's pod. See Configure Your Site URL for more info. true versionstring The Low-Code Platform (LCP) version. This field will be required in a future release. This field is immutable. false additionalLabelsmap[string]string Additional labels for created objects - including pods. For stateful components with a single replica, updating this field requires restarting the component's pod. false v1beta1.AppianStatus AppianStatus defines the observed state of Appian. Field Description Required statusstring Status of Appian. Valid options are Creating, Starting, Ready, Unready, and Terminating. Creating describes a new Appian for which the operator is still creating resources. Starting describes a new Appian for which the operator has finished creating resources but for which all replicas of all components are not yet ready. Ready describes an Appian for which all replicas of all components are ready. Unready describes a previously Ready Appian for which all replicas of all components are no longer ready. Terminating describes an Appian that has been marked for deletion and is in the process of terminating. false v1beta1.Component Component defines fields common to all components. Components can be either stateful or stateless. To this end, two other types, StatefulComponent and StatelessComponent, inline this type while adding fields specific to stateful and stateless components, respectively. Field Description Required initContainers[]corev1.Container A list of initialization containers belonging to the component. Initialization containers satisfy a variety of use cases - including supplying RDBMS/JDBC drivers. For stateful components with a single replica, updating this field requires restarting the component's pod. See Init Containers for more info. false env[]corev1.EnvVar A list of environment variables to set in the component's container(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Define Environment Variables for a Container for more info. false resourcescorev1.ResourceRequirements Compute resources required by the component's container(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Resource Management for Pods and Containers for more info. false additionalVolumes[]corev1.Volume Additional volumes for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Volumes for more info. false additionalVolumeMounts[]corev1.VolumeMount Additional volume mounts for the component's container(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Volumes for more info. false sidecarContainers[]corev1.Container Sidecar containers for the component's container(s). For stateful components with a single replica, updating this field requires restarting the component's pod. false affinity*corev1.Affinity Scheduling constraints for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Affinity and anti-affinity for more info. false nodeSelectormap[string]string A selector which must be true for the component's pod(s) to fit on a node. For stateful components with a single replica, updating this field requires restarting the component's pod. See nodeSelector for more info. false tolerations[]corev1.Toleration Tolerations for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Taints and Tolerations for more info. false additionalNetworkPolicyIngressRules[]networkingv1.NetworkPolicyIngressRule Additional ingress rules for the component's network policy. Forbidden when spec.networkPolicies.enabled is false. See Network Policies for more info. false podDisruptionBudget*v1beta1.PodDisruptionBudgetConfig The max disruption that can be caused to the component's pod(s). See Pod Disruption Budgets for more info. false priorityClassNamestring Priority Class for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. See Pod Priority and Preemption for more info. false dnsPolicycorev1.DNSPolicy DNS policy for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. This field will default to ClusterFirst if not specified. See Pod DNS Policy for more info. false dnsConfig*corev1.PodDNSConfig DNS Config for the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. This field is required when DNSPolicy is set to None. If DNS Policy is not specified, then ClusterFirst is used. See Pod DNS Config for more info. false podAnnotationsmap[string]string Annotations to be applied to the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. false podLabelsmap[string]string Labels to be applied to the component's pod(s). For stateful components with a single replica, updating this field requires restarting the component's pod. false v1beta1.DataServer DataServer defines configuration for Data Server. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Data Server. Valid options are 1 and 3. Defaults to 1. This field is immutable. false topologyv1beta1.DataServerTopology Configuration for Data Server's topology. false v1beta1.DataServerTopology DataServerTopology defines configuration for Data Server's topology. Field Description Required rtsCountint32 Number of real-time stores for each Data Server replica. Defaults to 2. For sites with a single Data Server replica and a single Webapp replica, updating this field requires restarting Data Server's pod Webapp's pod. See Real-time Store and Configuring the Data Server for more info. false v1beta1.DataSource DataSource defines configuration for connecting to a data source. See Provide Data Source Connection Information for more info. Field Description Required namestring true typestring true factorystring true driverClassNamestring true urlstring true usernamestring false usernameSecretKeyRef*v1beta1.SecretKeySelector Reference to the username used to connect to the data source. Mutually exclusive with username. false passwordstring Deprecated: This field will be removed in a future release. Use passwordSecretKeyRef instead. Password used to connect to the data source. false passwordSecretKeyRef*v1beta1.SecretKeySelector Reference to the password used to connect to the data source. This field will be required in a future release. false attributesmap[string]string false v1beta1.DataSourceConfig DataSourceConfig defines configuration for connecting to the Appian and business data sources. Field Description Required primaryv1beta1.DataSource Configuration for connecting to the Appian data source. true business[]v1beta1.DataSource Configuration for connecting to the business data source(s). false v1beta1.EngineOverrides EngineOverrides defines override configurations for an engine. Field Description Required initContainers*[]corev1.Container A list of initialization containers belonging to the engine. Initialization containers satisfy a variety of use cases - including supplying RDBMS/JDBC drivers. For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Init Containers for more info. false env*[]corev1.EnvVar A list of environment variables to set in the engine's container(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Define Environment Variables for a Container for more info. false resources*corev1.ResourceRequirements Compute resources required by the engine's container(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Resource Management for Pods and Containers for more info. false additionalVolumes*[]corev1.Volume Additional volumes for the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Volumes for more info. false additionalVolumeMounts*[]corev1.VolumeMount Additional volume mounts for the engine's container(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Volumes for more info. false sidecarContainers*[]corev1.Container Sidecar containers for the engine's container(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. false affinity*corev1.Affinity Scheduling constraints for the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Affinity and anti-affinity for more info. false nodeSelector*map[string]string A selector which must be true for the engine's pod(s) to fit on a node. For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See nodeSelector for more info. false tolerations*[]corev1.Toleration Tolerations for the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Taints and Tolerations for more info. false replicas*int32 Desired number of replicas for the engine. This field is immutable. false podDisruptionBudget*v1beta1.PodDisruptionBudgetConfig The max disruption that can be caused to the engine's pod(s). See Pod Disruption Budgets for more info. false priorityClassName*string Priority Class for the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. See Pod Priority and Preemption for more info. false podAnnotations*map[string]string Annotations to be applied to the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. false podLabels*map[string]string Labels to be applied to the engine's pod(s). For sites with a single replica of an engine, updating this field requires restarting the engine's pod. false v1beta1.HorizontalPodAutoscalerConfig HorizontalPodAutoscalerConfig defines configuration for creating horizontal pod autoscaler resources. Field Description Required minReplicas*int32 The lower limit for the number of replicas to which the autoscaler can scale down. Defaults to 1. false maxReplicasint32 The upper limit for the number of pods that can be set by the autoscaler. Cannot be smaller than minReplicas. true targetCPUUtilizationPercentage*int32 The target average CPU utilization (represented as a percentage of requested CPU) over all the pods. If not specified, the default autoscaling policy will be used. false v1beta1.Httpd Httpd defines configuration for httpd. Field Description Required v1beta1.StatelessComponent (Members of v1beta1.StatelessComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true nslookupImage*v1beta1.Image Configuration for the container image for the component's nslookup initialization container(s). The image must have nslookup installed. Defaults to busybox. false replicas*int32 Desired number of replicas for httpd. Forbidden when hpa is defined. Defaults to 2. false v1beta1.Image Image defines configuration for the component's container image. Field Description Required repositorystring The image's repository. true tagstring The image's tag. false pullPolicycorev1.PullPolicy The image pull policy. See Updating images for more info. false v1beta1.Ingress Ingress defines configuration for creating Appian's ingress resource. Field Description Required enabledbool Whether ingress is enabled. false annotationsmap[string]string Annotations for the ingress. false ingressClassName*string Name of the ingress class cluster resource. false hostnamestring The hostname used to create the ingress. Useful if you'd like ingress to use an internal hostname different from that used to access Appian. Defaults to the hostname defined in spec.url. false staticHostnamestring The hostname for Appian's static content URL used to create the ingress. Useful if you'd like ingress to use an internal hostname different from that used to access Appian. Defaults to the hostname defined in spec.webapp.staticUrl. false dynamicHostnamestring The hostname for Appian's dynamic content URL used to create the ingress. Useful if you'd like ingress to use an internal hostname different from that used to access Appian. Defaults to the hostname defined in spec.webapp.dynamicUrl. false tls[]networkingv1.IngressTLS Configuration for TLS. See TLS for more info. false v1beta1.Kafka Kafka defines configuration for Kafka. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Kafka. Valid options are 1 and 3. Defaults to 1. This field is immutable. false mirrorMakerListeners[]string List of externally addressable hosts used by MirrorMaker. When running multiple replicas of Kafka, the order of the listeners should match the order of Kafka's pods. For sites with a single Kafka replica, updating this field requires restarting Kafka's pod. false v1beta1.MirrorMaker MirrorMaker defines configuration for MirrorMaker. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true sourceBrokers[]string List of hosts that point to the Kafka brokers in the source cluster. Updating this field requires restarting MirrorMaker's pod(s). true v1beta1.NetworkPolicyConfig NetworkPolicyConfig defines configuration for creating network policy resources. Field Description Required enabledbool Whether network policy resources are enabled. false v1beta1.PodDisruptionBudgetConfig PodDisruptionBudgetConfig defines the max disruption that can be caused to a component's pods. See Pod Disruption Budgets for more info. Field Description Required minAvailable*intstr.IntOrString The number of pods that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually exclusive with maxUnavailable. false maxUnavailable*intstr.IntOrString The number of pods that can be unavailable after the eviction. Can be either an absolute number or a percentage. Mutually exclusive with minAvailable. false v1beta1.RBAC RBAC defines configuration for creating RBAC resources. Field Description Required roles[]string Names of existing roles to which Appian should be bound using role bindings. Requires that the controller is deployed with permission to bind to the specified roles. false clusterRoles[]string Names of existing cluster roles to which Appian should be bound using role bindings. Requires that the controller is deployed with permission to bind to the specified cluster roles. false v1beta1.RDODataSourceConfig RDODataSourceConfig defines configuration for connecting to the Robotic Task Design Object (RTDO) & Robot Pool Design Object (RPDO) & Robot Remote Design Object (RobotRDO) service's data source. RTDO must be enabled in order for RPDO to be enabled, but not vice-versa. Field Description Required urlstring true usernamestring true passwordSecretNamestring Name of the existing secret containing the Robotic Task Design Object (RTDO)/Robot Pool Design Object (RPDO)/ Robot Remote Design Object (RobotRDO) service's data source password in its password key. true v1beta1.RPA RPA defines configuration for RPA. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) versionstring The RPA version. This field will be required in a future release. This field is immutable. true imagev1beta1.Image Configuration for the component's container image. This field is immutable. true databasev1beta1.RPADatabaseConfig Configuration for connecting to RPA's database. Updating this field requires restarting RPA's pod. true propertiesmap[string]string Additional properties to add to rpa.properties. Updating this field requires restarting RPA's pod. false rtdo*v1beta1.RTDOConfig Configuration for the Robotic Task Design Object (RTDO) service. false rpdo*v1beta1.RPDOConfig Configuration for the Robot Pool Design Object (RPDO) service. false robotRDO*v1beta1.RobotRDOConfig Configuration for the Robot Remote Design Object (RobotRDO) service. false v1beta1.RPADatabaseConfig RPADatabaseConfig defines configuration for connecting to RPA's database. Field Description Required enginestring Deprecated: This field will be removed in a future release. false hostnamestring true portint32 true schemastring true credentialsSecretNamestring Name of the existing secret containing RPA's database credentials. The username should be stored in the secret's username key and the password in its password key. Updating this field requires restarting RPA's pod. true v1beta1.RPDOConfig RPDOConfig defines configuration for the Robot Pool Design Object (RPDO) service. Field Description Required dataSourcev1beta1.RDODataSourceConfig Configuration for connecting to the Robot Pool Design Object (RPDO) service's data source. Updating this field requires restarting RPA's pod. true v1beta1.RTDOConfig RTDOConfig defines configuration for the Robotic Task Design Object (RTDO) service. Field Description Required dataSourcev1beta1.RDODataSourceConfig Configuration for connecting to the Robotic Task Design Object (RTDO) service's data source. Updating this field requires restarting RPA's pod. true v1beta1.RobotRDOConfig RobotRDOConfig defines configuration for the Robot Remote Design Object (RobotRDO) service. Field Description Required dataSourcev1beta1.RDODataSourceConfig Configuration for connecting to the Robot Remote Design Object (RobotRDO) service's data source. Updating this field requires restarting RPA's pod. true v1beta1.SearchServer SearchServer defines configuration for Search Server. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Search Server. Valid options are 1 and 3. Defaults to 1. This field is immutable. false v1beta1.SecretKeySelector SecretKeySelector selects a key of a secret. Field Description Required namestring Name of the existing secret to select from. true keystring Key of the secret to select from. true v1beta1.Service Service defines configuration for creating Appian's service resource. Field Description Required annotationsmap[string]string Annotations for the service. false typecorev1.ServiceType How the service is exposed. Valid options are ClusterIP, NodePort, and LoadBalancer. Defaults to ClusterIP. See Publishing Services (ServiceTypes) for more info. false protocolstring Whether the service exposes Tomcat's http or ajp port when httpd is disabled. Forbidden when spec.httpd routes to Webapp. Valid options are http and ajp. Defaults to http. false portint32 The port that will be exposed by this service. Defaults to 8080 if spec.httpd is defined or if protocol is http. Defaults to 8009 otherwise. false nodePortint32 The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Forbidden when type is ClusterIP. false loadBalancerIPstring IP with which the load balancer will get created when type is LoadBalancer. Forbidden when type is not LoadBalancer. false sessionAffinitycorev1.ServiceAffinity Used to maintain session affinity to backend pods. Valid options are None and ClientIP. Defaults to None. false sessionAffinityConfig*corev1.SessionAffinityConfig Configuration for session affinity. false v1beta1.ServiceManager ServiceManager defines configuration for Service Manager. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Service Manager. Defaults to 1. This field is immutable. false engineOverridesmap[string]v1beta1.EngineOverrides Override configurations for each engine. Valid keys are forums, notifications, notificationsEmail, channels, content, downloadStats, groups, portal, processDesign, analytics, and execution. false shutdownv1beta1.ServiceManagerShutdown Configuration for the Service Manager shutdown job false topologyv1beta1.ServiceManagerTopology Configuration for Service Manager's topology. false haExistingClaimstring Name of an existing ReadWriteMany (RWX) persistent volume claim to be used for Service Manager's storage. May be the same as spec.webapp.haExistingClaim. Must differ from spec.webapp.healthCheckExistingClaim. Required when replicas is greater than 1. This field is immutable. See Persistent Volumes for more info. false v1beta1.ServiceManagerShutdown ServiceManagerShutdown defines configuration for the Service Manager shutdown job Field Description Required resourcescorev1.ResourceRequirements Compute resources required by the shutdown pod's container. See Resource Management for Pods and Containers for more info. false v1beta1.ServiceManagerTopology ServiceManagerTopology defines configuration for Service Manager's topology. Field Description Required analyticsExecShardCountint32 Number of shards of the process analytics and process execution engines. Defaults to 3. This field is immutable. See Add Execution and Analytics Shards for more info. false v1beta1.StatefulComponent StatefulComponent defines fields common to all stateful components. Stateful components require stable storage and network identity, are not elastically scalable, cannot be upgraded in-place, etc. Field Description Required v1beta1.Component (Members of v1beta1.Component are embedded into this type.) volumeClaimTemplateSpeccorev1.PersistentVolumeClaimSpec Spec for the persistent volume claim template(s) for the component's stateful set(s). This field is immutable. See Volume Claim Templates for more info. true v1beta1.StatelessComponent StatelessComponent defines fields common to all stateless components. Stateless components do not require stable storage and network identity, are elastically scalable, can be upgraded in-place, etc. Field Description Required v1beta1.Component (Members of v1beta1.Component are embedded into this type.) hpa*v1beta1.HorizontalPodAutoscalerConfig Configuration for creating horizontal pod autoscaler resources. false v1beta1.Webapp Webapp defines configuration for Webapp. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Webapp. Defaults to 1. false staticUrlstring The scheme, host, and, optionally, port for Appian's static content URL (e.g. https://appian.example-static.com, http://appian.example-static.com:32767, etc). The scheme must be the same as that defined in spec.url. Must use a different domain from spec.url and dynamicUrl. For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. See Configure Your Static and Dynamic Content URLs for more info. false dynamicUrlstring The scheme, host, and, optionally, port for Appian's dynamic content URL (e.g. https://appian.example-dynamic.com, http://appian.example-dynamic.com:32767, etc). The scheme must be the same as that defined in spec.url. Must use a different domain from spec.url and staticUrl. For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. See Configure Your Static and Dynamic Content URLs for more info. false applicationContextstring The application context. Defaults to suite. For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. For sites with RPA, updating this field requires restarting RPA's pod. See Application Context for more info. false dataSourcesv1beta1.DataSourceConfig Configuration for connecting to the Appian and business data sources. For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. true haExistingClaimstring Name of an existing ReadWriteMany (RWX) persistent volume claim to be used for Webapp's storage. May be the same as spec.serviceManager.haExistingClaim. Must differ from spec.webapp.healthCheckExistingClaim. Required when replicas is greater than 1. This field is immutable. See Persistent Volumes for more info. false healthCheckExistingClaimstring Name of an existing ReadWriteMany (RWX) persistent volume claim to be used for Health Check's storage. Must differ from spec.serviceManager.haExistingClaim and spec.webapp.haExistingClaim. This field is immutable. See Persistent Volumes for more info. false passwordsPropertiesSecretNamestring Name of an existing secret containing Appian's passwords.properties file. For sites with a single Webapp replica, updating this field requires restarting Webapp's pod. See Mail Server Setup for more info. false v1beta1.Zookeeper Zookeeper defines configuration for Zookeeper. Field Description Required v1beta1.StatefulComponent (Members of v1beta1.StatefulComponent are embedded into this type.) imagev1beta1.Image Configuration for the component's container image. This field is immutable. true replicasint32 Desired number of replicas for Zookeeper. Valid options are 1 and 3. Defaults to 1. This field is immutable. false Feedback Was this page helpful? SHARE FEEDBACK Loading...