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 the command kubectl explain appians
.
Appian is the Schema for the appians API
Field | Description | Required |
---|---|---|
metav1.TypeMeta | (Members of metav1.TypeMeta are embedded into this type.) | |
metadata metav1.ObjectMeta |
false | |
spec AppianSpec |
Spec defines the desired state of Appian. | true |
status AppianStatus |
Status defines the observed state of Appian. | false |
AppianList contains a list of Appian
Field | Description | Required |
---|---|---|
metav1.TypeMeta | (Members of metav1.TypeMeta are embedded into this type.) | |
metadata metav1.ListMeta |
false | |
items []Appian |
Items is a list of Appian. | true |
AppianSpec defines the desired state of Appian
Field | Description | Required |
---|---|---|
imagePullSecrets []string |
ImagePullSecrets is an array of strings referring to the names of Kubernetes secrets of the docker-registry type. See Pull an Image from a Private Registry for more info. | false |
rbac RBAC |
RBAC defines information needed to create Kubernetes RBAC resources. | false |
networkPolicies NetworkPolicyConfig |
NetworkPolicyConfig defines configuration information for NetworkPolicy resources across the entire Appian deployment. | false |
k3LicSecretName string |
K3LicSecretName is a reference to a Kubernetes Secret containing the k3.lic file. This field is immutable. Defaults to k3lic . |
false |
k4LicSecretName string |
K4LicSecretName is a reference to a Kubernetes Secret containing the k4.lic file. This field is immutable. Defaults to k4lic . |
false |
customProperties map[string]string |
CustomProperties defines arbitrary key-value pairs to inject into the custom.properties file shared by all components. See Custom properties for more info. | false |
searchServer SearchServer |
SearchServer defines the desired state of Search Server. | true |
dataServer DataServer |
DataServer defines the desired state of Data Server. | true |
kafka Kafka |
Kafka defines the desired state of Kafka. | true |
zookeeper Zookeeper |
Zookeeper defines the desired state of Zookeeper. | true |
serviceManager ServiceManager |
ServiceManager defines the desired state of Service Manager. | true |
webapp Webapp |
Webapp defines the desired state of Webapp. | true |
httpd *Httpd |
Httpd defines the desired state of Httpd. | false |
service Service |
Service defines configuration options for the Kubernetes Service used to route traffic to Appian. | false |
ingress Ingress |
Ingress defines configuration options for the Kubernetes Ingress used to route traffic to Appian. | false |
AppianStatus defines the observed state of Appian
Field | Description | Required |
---|---|---|
status Status |
Status denotes the status of the Appian deployment. Valid values are Creating , Starting , Ready , Unready , and Terminating . Creating denotes a new Appian custom resource for which all of the secondary resources have not yet been created. Starting denotes the status of a new Appian custom resource after all of its secondary resources have been created but before all replicas of all of its components are ready. Ready denotes that all replicas of all components are ready. Unready denotes a previously ready Appian deployment that now has one or more unavailable replicas of one or more components. Terminating denotes that the Appian deployment has been marked for deletion and is in the process of being shut down. |
false |
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 |
InitContainers defines init containers for the given component. Init containers satisfy a variety of uses cases - including supplying RDBMS/JDBC drivers. See Init Containers for more info. This field is immutable. | false |
env []corev1.EnvVar |
Env is an array of EnvVar. See Define Environment Variables for a Container for more info. | false |
resources corev1.ResourceRequirements |
Resources describes compute resource requests and limits for the container. See Resource requests and limits of Pod and Container for more info. | false |
additionalVolumes []corev1.Volume |
AdditionalVolumes defines additional volumes for the given component. See Volumes for more info. This field is immutable. | false |
sidecarContainers []corev1.Container |
SidecarContainers defines sidecar containers for the given component. This field is immutable. | false |
affinity *corev1.Affinity |
Affinity is a group of affinity scheduling rules. If unspecified, the given component's pods are configured with inter-pod anti-affinity so that no two replicas of the component are located on the same node. See Affinity and anti-affinity for more info. | false |
nodeSelector map[string]string |
NodeSelector is a map of key-value pairs that a node must have as labels in order for the pod to be eligible to run on the node. See nodeSelector for more info. | false |
tolerations []corev1.Toleration |
Tolerations is an array of Tolerations that allow the pod to schedule onto nodes with matching Taints. See Taints and Tolerations for more info. | false |
additionalNetworkPolicyIngressRules []networkingv1.NetworkPolicyIngressRule |
AdditionalNetworkPolicyIngressRules defines additional NetworkPolicyIngressRules to be added to the given component's NetworkPolicy when NetworkPolicy resources are enabled. See Network Policies for more info. Forbidden when .spec.networkPolicies.enabled is disabled. |
false |
DataServer defines the desired state of Data Server.
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
replicas int32 |
Replicas defines the desired number of replicas for Data Server. This field is immutable. Defaults to 1 . |
false |
securityTokenSecretName string |
SecurityTokenSecretName is a reference to a Kubernetes Secret containing Data Server's data-server-sec.properties file. If omitted, the controller will create the Secret with a default value. Omitting this field should only be done for non-production deployments. This field is immutable. | false |
topology DataServerTopology |
Topology defines information about Data Server's topology. This field is immutable. | false |
DataServerTopology defines information about Data Server's topology.
Field | Description | Required |
---|---|---|
rtsCount int32 |
RTSCount is the number of real-time stores for each Data Server replica. See Real time store and Configuring the Data Server for more info. Defaults to 2 . |
false |
DataSource defines information used to connect to a data source. See Provide data source connection for more info.
Field | Description | Required |
---|---|---|
name string |
true | |
driverClassName string |
true | |
url string |
true | |
username string |
true | |
password string |
true | |
validationQuery string |
true |
DataSourceConfig defines information used to connect to the primary and business data sources.
Field | Description | Required |
---|---|---|
primary DataSource |
Primary defines information used to connect to the primary data source. | true |
business []DataSource |
Business defines information used to connect to the business data source(s). | false |
HorizontalPodAutoscalerConfig defines configuration settings for Horizontal Pod Autoscaler
Field | Description | Required |
---|---|---|
minReplicas int32 |
MinReplicas defines the lower limit for the number of replicas to which the autoscaler can scale down. Defaults to 1 . |
false |
maxReplicas int32 |
MaxReplicas defines the upper limit for the number of replicas to which the autoscaler can scale up. Cannot be smaller than minReplicas . |
true |
targetCPUUtilizationPercentage *int32 |
TargetCPUUtilizationPercentage defines the target average CPU utilization (represented as a percentage of requested CPU) over all the pods. | false |
Httpd defines the desired state of Httpd.
Field | Description | Required |
---|---|---|
StatelessComponent | (Members of StatelessComponent are embedded into this type.) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
nslookupImage Image |
NslookupImage defines information about the Docker image to be used for the nslookup init container. The image must have nslookup installed. Defaults to busybox . |
false |
replicas *int32 |
Replicas defines the desired number of replicas for Httpd. Forbidden when .spec.httpd.hpa is defined. Defaults to 2 . |
false |
Image defines information about the Docker image to be used.
Field | Description | Required |
---|---|---|
repository string |
Repository is the repository of the Docker image. | false |
tag string |
Tag is the tag of the Docker image. | false |
pullPolicy corev1.PullPolicy |
PullPolicy is the pull policy of the Docker image. See Updating images for more info. | false |
Ingress defines configuration options for the Kubernetes Ingress used to route traffic to Appian.
Field | Description | Required |
---|---|---|
enabled bool |
Enabled defines whether or not Ingress is enabled. | false |
annotations map[string]string |
Annotations defines key-value pairs to use as annotations on the Ingress resource. | false |
hostname string |
Hostname defines the hostname used to construct the Ingress resource. 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.url . |
false |
staticHostname string |
StaticHostname defines the hostname for Appian's static content URL used to construct the Ingress resource. 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 |
dynamicHostname string |
DynamicHostname defines the hostname for Appian's dynamic content URL used to construct the Ingress resource. 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 |
Kafka defines the desired state of Kafka.
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type.) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
replicas int32 |
Replicas defines the desired number of replicas for Kafka. This field is immutable. Defaults to 1 . |
false |
NetworkPolicyConfig defines configuration information for NetworkPolicy resources across the entire Appian deployment.
Field | Description | Required |
---|---|---|
enabled bool |
Enabled defines whether or not to enable NetworkPolicy resources. | false |
RBAC defines information needed to create Kubernetes RBAC resources.
Field | Description | Required |
---|---|---|
roles []string |
Roles refers to the names of existing Kubernetes Roles to which Appian should be bound using RoleBindings. Requires that the controller is deployed with permission to bind to the specified Roles. | false |
clusterRoles []string |
ClusterRoles refers to the names of existing Kubernetes ClusterRoles to which Appian should be bound using RoleBindings. Requires that the controller is deployed with permission to bind to the specified ClusterRoles. | false |
SearchServer defines the desired state of Search Server.
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable |
true |
replicas int32 |
Replicas defines the desired number of replicas for Search Server. This field is immutable. Defaults to 1 |
false |
Service defines configuration options for the Kubernetes Service used to route traffic to Appian.
Field | Description | Required |
---|---|---|
annotations map[string]string |
Annotations defines key-value pairs to use as annotations on the Service resource. | false |
type corev1.ServiceType |
Type defines the type of the Service. Must be one of ClusterIP , NodePort , or LoadBalancer . Defaults to ClusterIP . See Publishing Services for more info. |
false |
protocol Protocol |
Protocol defines whether the Service exposes Tomcat's http or ajp port when httpd is disabled. Must be one of http or ajp . Forbidden when .spec.httpd is defined. Defaults to http . |
false |
port int32 |
Port defines the port that will be exposed by this service. Defaults to 8080 if .spec.httpd is defined or if .spec.service.protocol is http . Otherwise, defaults to 8009 . |
false |
nodePort int32 |
NodePort is the port on each node on which this Service is exposed when the type of the Service is either NodePort or LoadBalancer . Forbidden when .spec.service.type is ClusterIP . |
false |
loadBalancerIP string |
LoadBalancerIP denotes the IP with which the LoadBalancer will get created when the type of the Service is LoadBalancer . Forbidden when .spec.service.type is not LoadBalancer . |
false |
sessionAffinity corev1.ServiceAffinity |
SessionAffinity can be used to maintain session affinity to backend pods. Defaults to None . See Virtual IPs and service proxies for more info. |
false |
sessionAffinityConfig *corev1.SessionAffinityConfig |
SessionAffinityConfig contains the configurations for session affinity. | false |
ServiceManager defines the desired state of Service Manager.
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type.) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
replicas int32 |
Replicas defines the desired number of replicas for Service Manager. This field is immutable. Defaults to 1 . |
false |
auth *ServiceManagerAuth |
Auth groups fields used to specify authentication for Service Manager's admin user. This field is immutable. | false |
topology ServiceManagerTopology |
Topology defines information about Service Manager's topology. This field is immutable. | false |
haExistingClaim string |
HAExistingClaim is the name of an existing PersistentVolumeClaim to be used when deploying Service Manager in an HA configuration. The underlying volume must be mountable as read-write by multiple nodes. Required when .spec.serviceManager.replicas is greater than 1 . This field is immutable. |
false |
ServiceManagerAuth groups fields used to specify authentication for Service Manager's admin user.
Field | Description | Required |
---|---|---|
adminPasswordSecretName string |
AdminPasswordSecretName is a reference to a Kubernetes Secret containing Service Manager's admin password. The expected key is password . If omitted, the controller will set the admin password to a default value. Omitting this field should only be done for non-production deployments. |
true |
serviceManagerConfSecretName string |
ServiceManagerConfSecretName is a reference to a Kubernetes Secret containing Service Manager's service_manager.conf file. The file should be formatted as follows: admin { username = USERNAME salt = SALT password = HASHED_PASSWORD } If omitted, the controller will create the Secret with a default value. Omitting this field should only be done for non-production deployments |
true |
ServiceManagerTopology defines information about Service Manager's topology.
Field | Description | Required |
---|---|---|
analyticsExecShardCount int32 |
AnalyticsExecShardCount is the number of shards for the process analytics and process execution engines. See Add execution and analytics shards for more info. Defaults to 3 . |
false |
serviceManagerPerEngine bool |
ServiceManagerPerEngine defines when each engine runs with its own Service Manager in their own pod. Forbidden when .spec.serviceManager.hostNetwork is enabled. |
false |
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, and other attributes.
Field | Description | Required |
---|---|---|
Component | (Members of Component are embedded into this type.) | |
volumeClaimTemplateSpec corev1.PersistentVolumeClaimSpec |
VolumeClaimTemplateSpec defines the spec for a PersistentVolumeClaim to be used for the given component's StatefulSet's volumeClaimTemplate. See Components for more info. This field is immutable. | true |
hostNetwork bool |
HostNetwork defines whether the given component should use the host's network namespace. | false |
additionalHostMounts []string |
AdditionalHostMounts is a list of paths from the storage volume under /usr/local/appian/ae to mount from the host to the container. | false |
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, and other attributes.
Field | Description | Required |
---|---|---|
Component | (Members of Component are embedded into this type.) | |
hpa *HorizontalPodAutoscalerConfig |
HPA defines configuration settings for Horizontal Pod Autoscaler. | false |
Webapp defines the desired state of Webapp.
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type.) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
replicas int32 |
Replicas defines the desired number of replicas for Webapp. This field is immutable. Defaults to 1 |
false |
url string |
URL defines the scheme, host, and, optionally, port used to access Appian (for example, https://appian.example.com or http://appian.example.com:32767 ). This field is immutable. See Configure your site URL for more info. |
true |
staticUrl string |
StaticURL defines the scheme, host, and, optionally, port for Appian's static content URL (for example, https://appian.example-static.com or http://appian.example-static.com:32767 ). The scheme must be the same as that defined by .spec.webapp.url . Must use a different domain from .spec.webapp.url and .spec.webapp.dynamicUrl . This field is immutable. See Configure static and dynamic content URLs for more info |
false |
dynamicUrl string |
DynamicURL defines the scheme, host, and, optionally, port for Appian's dynamic content URL (for example, https://appian.example-dynamic.com or http://appian.example-dynamic.com:32767 ). The scheme must be the same as that defined by .spec.webapp.url . Must use a different domain from .spec.webapp.url and .spec.webapp.staticUrl . This field is immutable. See Configure static and dynamic content URLs for more info. |
false |
applicationContext string |
ApplicationContext denotes the application context. See Application context for more info. This field is immutable. Defaults to suite . |
false |
dataSources DataSourceConfig |
DataSources defines information used to connect to the primary and business data sources. This field is immutable. | false |
haExistingClaim string |
HAExistingClaim is the name of an existing PersistentVolumeClaim to be used when deploying Webapp in an HA configuration. The underlying volume must be mountable as read-write by multiple nodes. Required when .spec.webapp.replicas is greater than 1 . This field is immutable. |
false |
passwordsPropertiesSecretName string |
PasswordsPropertiesSecretName is a reference to an external Secret containing the passwords.properties file. See Mail Server Setup for more info. This field is immutable. | false |
Zookeeper defines the desired state of Zookeeper
Field | Description | Required |
---|---|---|
StatefulComponent | (Members of StatefulComponent are embedded into this type.) | |
image Image |
Image defines information about the Docker image to be used. Both the repository and tag fields are immutable. |
true |
replicas int32 |
Replicas defines the desired number of replicas for Zookeeper. This field is immutable. Defaults to 1 . |
false |