API Reference

cloud.redhat.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the cloud.redhat.com v1alpha1 API group

APIPath

Underlying type: string

A string representing an API path that should route to this app for Clowder-managed Ingresses (in format "/api/somepath/")

Appears In:

AppInfo

AppInfo details information about a specific app.

Field Description

name string

deployments DeploymentInfo array

AppProtocol

Underlying type: string

AppProtocol is used to define an appProtocol for Istio

Appears In:

AppResourceStatus

Appears In:
Field Description

managedDeployments integer

readyDeployments integer

AutoScaler

AutoScaler defines the autoscaling parameters of a KEDA ScaledObject targeting the given deployment.

Appears In:
Field Description

pollingInterval integer

PollingInterval is the interval (in seconds) to check each trigger on. Default is 30 seconds.

cooldownPeriod integer

CooldownPeriod is the interval (in seconds) to wait after the last trigger reported active before scaling the deployment down. Default is 5 minutes (300 seconds).

maxReplicaCount integer

MaxReplicaCount is the maximum number of replicas the scaler will scale the deployment to. Default is 10.

minReplicaCount integer

MinReplicaCount is the minimum number of replicas the scaler will scale the deployment to.

advanced AdvancedConfig

triggers ScaleTriggers array

fallback Fallback

externalHPA boolean

ExternalHPA allows replicas on deployments to be controlled by another resource, but will not be allowed to fall under the minReplicas as set in the ClowdApp.

AutoScalerConfig

AutoScalerConfig configures the Clowder provider controlling the creation of AutoScaler configuration.

Appears In:
Field Description

Enable the autoscaler feature

AutoScalerMode

Underlying type: string

AutoScaler mode enabled or disabled the autoscaler. The key "keda" is deprecated but preserved for backwards compatibility

Appears In:

AutoScalerSimple

SimpleAutoScaler defines a simple HPA with scaling for RAM and CPU by value and utilization thresholds, along with replica count limits

Appears In:
Field Description

ClowdApp

ClowdApp is the Schema for the clowdapps API

Appears In:
Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdApp

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

A ClowdApp specification.

ClowdAppList

ClowdAppList contains a list of ClowdApp

Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdAppList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items ClowdApp array

A list of ClowdApp Resources.

ClowdAppSpec

ClowdAppSpec is the main specification for a single Clowder Application it defines n pods along with dependencies that are shared between them.

Appears In:
Field Description

deployments Deployment array

A list of deployments

jobs Job array

A list of jobs

envName string

The name of the ClowdEnvironment resource that this ClowdApp will use as its base. This does not mean that the ClowdApp needs to be placed in the same directory as the targetNamespace of the ClowdEnvironment.

kafkaTopics KafkaTopicSpec array

A list of Kafka topics that will be created and made available to all the pods listed in the ClowdApp.

database DatabaseSpec

The database specification defines a single database, the configuration of which will be made available to all the pods in the ClowdApp.

objectStore string array

A list of string names defining storage buckets. In certain modes, defined by the ClowdEnvironment, Clowder will create those buckets.

inMemoryDb boolean

If inMemoryDb is set to true, Clowder will pass configuration of an In Memory Database to the pods in the ClowdApp. This single instance will be shared between all apps.

featureFlags boolean

If featureFlags is set to true, Clowder will pass configuration of a FeatureFlags instance to the pods in the ClowdApp. This single instance will be shared between all apps.

dependencies string array

A list of dependencies in the form of the name of the ClowdApps that are required to be present for this ClowdApp to function.

optionalDependencies string array

A list of optional dependencies in the form of the name of the ClowdApps that will be added to the configuration when present.

testing TestingSpec

Iqe plugin and other specifics

cyndi CyndiSpec

Configures 'cyndi' database syndication for this app. When the app’s ClowdEnvironment has the kafka provider set to (operator) mode, Clowder will configure a CyndiPipeline for this app in the environment’s kafka-connect namespace. When the kafka provider is in (app-interface) mode, Clowder will check to ensure that a CyndiPipeline resource exists for the application in the environment’s kafka-connect namespace. For all other kafka provider modes, this configuration option has no effect.

disabled boolean

Disabled turns off reconciliation for this ClowdApp

ClowdEnvironment

ClowdEnvironment is the Schema for the clowdenvironments API

Appears In:
Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdEnvironment

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

A ClowdEnvironmentSpec object.

ClowdEnvironmentList

ClowdEnvironmentList contains a list of ClowdEnvironment

Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdEnvironmentList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items ClowdEnvironment array

A list of ClowdEnvironment objects.

ClowdEnvironmentSpec

ClowdEnvironmentSpec defines the desired state of ClowdEnvironment.

Appears In:
Field Description

targetNamespace string

TargetNamespace describes the namespace where any generated environmental resources should end up, this is particularly important in (local) mode.

providers ProvidersConfig

A ProvidersConfig object, detailing the setup and configuration of all the providers used in this ClowdEnvironment.

resourceDefaults ResourceRequirements

Defines the default resource requirements in standard k8s format in the event that they omitted from a PodSpec inside a ClowdApp.

serviceConfig ServiceConfig

disabled boolean

Disabled turns off reconciliation for this ClowdEnv

ClowdJobInvocation

ClowdJobInvocation is the Schema for the jobinvocations API

Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdJobInvocation

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

ClowdJobInvocationList

ClowdJobInvocationList contains a list of ClowdJobInvocation

Field Description

apiVersion string

cloud.redhat.com/v1alpha1

kind string

ClowdJobInvocationList

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items ClowdJobInvocation array

ClowdJobInvocationSpec

ClowdJobInvocationSpec defines the desired state of ClowdJobInvocation

Appears In:
Field Description

appName string

Name of the ClowdApp who owns the jobs

jobs string array

Jobs is the set of jobs to be run by the invocation

testing JobTestingSpec

Testing is the struct for building out test jobs (iqe, etc) in a CJI

runOnNotReady boolean

RunOnNotReady is a flag that when true, the job will not wait for the deployment to be ready to run

ConfigAccessMode

Underlying type: string

Describes what amount of app config is mounted to the pod

Appears In:

CyndiSpec

CyndiSpec is used to indicate whether a ClowdApp needs database syndication configured by the cyndi operator and exposes a limited set of cyndi configuration options

Appears In:
Field Description

enabled boolean

Enables or Disables the Cyndi pipeline for the Clowdapp

appName string

Application name - if empty will default to Clowdapp’s name

additionalFilters object array

AdditionalFilters

insightsOnly boolean

Desired host syndication type (all or Insights hosts only) - defaults to false (All hosts)

DatabaseConfig

DatabaseConfig configures the Clowder provider controlling the creation of Database instances.

Appears In:
Field Description

The mode of operation of the Clowder Database Provider. Valid options are: (app-interface) where the provider will pass through database credentials found in the secret defined by the database name in the ClowdApp, and (local) where the provider will spin up a local instance of the database.

caBundleURL string

Indicates where Clowder will fetch the database CA certificate bundle from. Currently only used in (app-interface) mode. If none is specified, the AWS RDS combined CA bundle is used.

pvc boolean

If using the (local) mode and PVC is set to true, this instructs the local Database instance to use a PVC instead of emptyDir for its volumes.

DatabaseMode

Underlying type: string

DatabaseMode details the mode of operation of the Clowder Database Provider

Appears In:

DatabaseSpec

DatabaseSpec is a struct defining a database to be exposed to a ClowdApp.

Appears In:
Field Description

version integer

Defines the Version of the PostGreSQL database, defaults to 12.

name string

Defines the Name of the database used by this app. This will be used as the name of the logical database created by Clowder when the DB provider is in (local) mode. In (app-interface) mode, the name here is used to locate the DB secret as a fallback mechanism in cases where there is no 'clowder/database: <app-name>' annotation set on any secrets by looking for a secret with 'db.host' starting with '<name>-<env>' where env is usually 'stage' or 'prod'

sharedDbAppName string

Defines the Name of the app to share a database from

dbVolumeSize string

T-shirt size, one of small, medium, large

dbResourceSize string

T-shirt size, one of small, medium, large

Deployment

Deployment defines a service running inside a ClowdApp and will output a deployment resource. Only one container per pod is allowed and this is defined in the PodSpec attribute.

Appears In:
Field Description

name string

Name defines the identifier of a Pod inside the ClowdApp. This name will be used along side the name of the ClowdApp itself to form a <app>-<pod> pattern which will be used for all other created resources and also for some labels. It must be unique within a ClowdApp.

minReplicas integer

Deprecated: Use Replicas instead If Replicas is not set and MinReplicas is set, then MinReplicas will be used

replicas integer

Defines the desired replica count for the pod

If set to true, creates a service on the webPort defined in the ClowdEnvironment resource, along with the relevant liveness and readiness probes.

webServices WebServices

podSpec PodSpec

PodSpec defines a container running inside a ClowdApp.

k8sAccessLevel K8sAccessLevel

K8sAccessLevel defines the level of access for this deployment

autoScaler AutoScaler

AutoScaler defines the configuration for the Keda auto scaler

autoScalerSimple AutoScalerSimple

deploymentStrategy DeploymentStrategy

DeploymentStrategy allows the deployment strategy to be set only if the deployment has no public service enabled

Refer to Kubernetes API documentation for fields of metadata.

DeploymentConfig

Appears In:
Field Description

omitPullPolicy boolean

DeploymentInfo

DeploymentInfo defailts information about a specific deployment.

Appears In:
Field Description

name string

hostname string

port integer

DeploymentMetadata

Appears In:
Field Description

annotations object (keys:string, values:string)

DeploymentStrategy

Appears In:
Field Description

privateStrategy DeploymentStrategyType

PrivateStrategy allows a deployment that only uses a private port to set the deployment strategy one of Recreate or Rolling, default for a private service is Recreate. This is to enable a quicker roll out for services that do not have public facing endpoints.

EnvResourceStatus

Field Description

managedDeployments integer

readyDeployments integer

managedTopics integer

readyTopics integer

FeatureFlagsConfig

FeatureFlagsConfig configures the Clowder provider controlling the creation of FeatureFlag instances.

Appears In:
Field Description

The mode of operation of the Clowder FeatureFlag Provider. Valid options are: (app-interface) where the provider will pass through credentials to the app configuration, and (local) where a local Unleash instance will be created.

pvc boolean

If using the (local) mode and PVC is set to true, this instructs the local Database instance to use a PVC instead of emptyDir for its volumes.

credentialRef NamespacedName

Defines the secret containing the client access token, only used for (app-interface) mode.

hostname string

Defines the hostname for (app-interface) mode

port integer

Defineds the port for (app-interface) mode

Defines images used for the feature flags provider

FeatureFlagsImages

Appears In:
Field Description

unleash string

FeatureFlagsMode

Underlying type: string

FeatureFlagsMode details the mode of operation of the Clowder FeatureFlags Provider

Appears In:

GatewayCert

Appears In:
Field Description

enabled boolean

Determines whether to enable the gateway cert, default is disabled

certMode GatewayCertMode

Determines the mode of certificate generation, either self-signed or acme

localCAConfigMap string

Determines a ConfigMap in the target namespace of the env which has ca.pem detailing the cert to use for mTLS verification

emailAddress string

The email address used to register with Let’s Encrypt for acme mode certs

GatewayCertMode

Underlying type: string

GatewayCertMode details the mode of operation of the Gateway Cert

Appears In:

InMemoryDBConfig

InMemoryDBConfig configures the Clowder provider controlling the creation of InMemoryDB instances.

Appears In:
Field Description

The mode of operation of the Clowder InMemory Provider. Valid options are: (redis) where a local Minio instance will be created, and (elasticache) which will search the namespace of the ClowdApp for a secret called 'elasticache'

pvc boolean

If using the (local) mode and PVC is set to true, this instructs the local Database instance to use a PVC instead of emptyDir for its volumes.

InMemoryMode

Underlying type: string

InMemoryMode details the mode of operation of the Clowder InMemoryDB Provider

Appears In:

InitContainer

InitContainer is a struct defining a k8s init container. This will be deployed along with the parent pod and is used to carry out one time initialization procedures.

Appears In:
Field Description

name string

Name gives an identifier in the situation where multiple init containers exist

image string

Image refers to the container image used to create the init container (if different from the primary pod image).

command string array

A list of commands to run inside the parent Pod.

args string array

A list of args to be passed to the init container.

inheritEnv boolean

If true, inheirts the environment variables from the parent pod. specification

env EnvVar array

A list of environment variables used only by the initContainer.

IqeConfig

Appears In:
Field Description

imageBase string

A pass-through of a resource requirements in k8s ResourceRequirements format. If omitted, the default resource requirements from the ClowdEnvironment will be used.

vaultSecretRef NamespacedName

Defines the secret reference for loading vault credentials into the IQE job

Defines configurations related to UI testing containers

IqeJobSpec

Appears In:
Field Description

imageTag string

Image tag to use for IQE container. By default, Clowder will set the image tag to be baseImage:name-of-iqe-plugin, where baseImage is defined in the ClowdEnvironment. Only the tag can be overridden here.

plugins string

A comma,separated,list indicating IQE plugin(s) to run tests for. By default, Clowder will use the plugin name given on the ClowdApp’s spec.testing.iqePlugin field. Use this field if you wish you override the plugin list.

Defines configuration for a selenium container (optional)

env EnvVar

Specifies environment variables to set on the IQE container

debug boolean

Changes entrypoint to invoke 'iqe container-debug' so that container starts but does not run tests, allowing 'rsh' to be invoked

marker string

(DEPRECATED, using 'env' now preferred) sets IQE_MARKER_EXPRESSION env var on the IQE container

dynaconfEnvName string

(DEPRECATED, using 'env' now preferred) sets ENV_FOR_DYNACONF env var on the IQE container

filter string

(DEPRECATED, using 'env' now preferred) sets IQE_FILTER_EXPRESSION env var on the IQE container

requirements string

(DEPRECATED, using 'env' now preferred) sets IQE_REQUIREMENTS env var on the IQE container

requirementsPriority string

(DEPRECATED, using 'env' now preferred) sets IQE_REQUIREMENTS_PRIORITY env var on the IQE container

testImportance string

(DEPRECATED, using 'env' now preferred) sets IQE_TEST_IMPORTANCE env var on the IQE container

logLevel string

(DEPRECATED, using 'env' now preferred) sets IQE_LOG_LEVEL env var on the IQE container

parallelEnabled string

(DEPRECATED, using 'env' now preferred) sets IQE_PARALLEL_ENABLED env var on the IQE container

parallelWorkerCount string

(DEPRECATED, using 'env' now preferred) sets IQE_PARALLEL_WORKER_COUNT env var on the IQE container

rpArgs string

(DEPRECATED, using 'env' now preferred) sets IQE_RP_ARGS env var on the IQE container

ibutsuSource string

(DEPRECATED, using 'env' now preferred) sets IQE_IBUTSU_SOURCE env var on the IQE container

IqeSeleniumSpec

Appears In:
Field Description

deploy boolean

Whether or not a selenium container should be deployed in the IQE pod

imageTag string

Name of selenium image tag to use if not using the environment’s default

IqeUIConfig

Appears In:
Field Description

Defines configurations for selenium containers in this environment

IqeUISeleniumConfig

Appears In:
Field Description

imageBase string

Defines the image used for selenium containers in this environment

defaultImageTag string

Defines the default image tag used for selenium containers in this environment

Defines the resource requests/limits set on selenium containers

IqeUISpec

Appears In:
Field Description

enabled boolean

No longer used

selenium IqeSeleniumSpec

Configuration options for running IQE with a selenium container

Job

Job defines a ClowdJob A Job struct will deploy as a CronJob if schedule is set and will deploy as a Job if it is not set. Unsupported fields will be dropped from Jobs

Appears In:
Field Description

name string

Name defines identifier of the Job. This name will be used to name the CronJob resource, the container will be name identically.

disabled boolean

Disabled allows a job to be disabled, as such, the resource is not created on the system and cannot be invoked with a CJI

schedule string

Defines the schedule for the job to run

parallelism integer

Defines the parallelism of the job

completions integer

Defines the completions of the job

podSpec PodSpec

PodSpec defines a container running inside the CronJob.

restartPolicy RestartPolicy

Defines the restart policy for the CronJob, defaults to never

concurrencyPolicy ConcurrencyPolicy

Defines the concurrency policy for the CronJob, defaults to Allow Only applies to Cronjobs

suspend boolean

This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false. Only applies to Cronjobs

successfulJobsHistoryLimit integer

The number of successful finished jobs to retain. Value must be non-negative integer. Defaults to 3. Only applies to Cronjobs

failedJobsHistoryLimit integer

The number of failed finished jobs to retain. Value must be non-negative integer. Defaults to 1. Only applies to Cronjobs

startingDeadlineSeconds integer

Defines the StartingDeadlineSeconds for the CronJob

activeDeadlineSeconds integer

The activeDeadlineSeconds for the Job or CronJob. More info: https://kubernetes.io/docs/concepts/workloads/controllers/job/

JobConditionState

Underlying type: string

JobTestingSpec

Field Description

Iqe is the job spec to override defaults from the ClowdApp’s definition of the job

K8sAccessLevel

Underlying type: string

K8sAccessLevel defines the access level for the deployment, one of 'default', 'view' or 'edit'

KafkaClusterConfig

KafkaClusterConfig defines options related to the Kafka cluster managed/monitored by Clowder

Appears In:
Field Description

name string

Defines the kafka cluster name (default: <ClowdEnvironment Name>-<UID>)

namespace string

The namespace the kafka cluster is expected to reside in (default: the environment’s targetNamespace)

forceTLS boolean

Force TLS

replicas integer

The requested number of replicas for kafka/zookeeper. If unset, default is '1'

storageSize string

Persistent volume storage size. If unset, default is '1Gi' Only applies when KafkaConfig.PVC is set to 'true'

deleteClaim boolean

Delete persistent volume claim if the Kafka cluster is deleted Only applies when KafkaConfig.PVC is set to 'true'

version string

Version. If unset, default is '2.5.0'

config map[string]string

Config full options

JVM Options

Resource Limits

KafkaConfig

KafkaConfig configures the Clowder provider controlling the creation of Kafka instances.

Appears In:
Field Description

mode KafkaMode

The mode of operation of the Clowder Kafka Provider. Valid options are: (operator) which provisions Strimzi resources and will configure KafkaTopic CRs and place them in the Kafka cluster’s namespace described in the configuration, (app-interface) which simply passes the topic names through to the App’s cdappconfig.json and expects app-interface to have created the relevant topics, and (local) where a small instance of Kafka is created in the desired cluster namespace and configured to auto-create topics.

enableLegacyStrimzi boolean

EnableLegacyStrimzi disables TLS + user auth

pvc boolean

If using the (local) or (operator) mode and PVC is set to true, this sets the provisioned Kafka instance to use a PVC instead of emptyDir for its volumes.

Defines options related to the Kafka cluster for this environment. Ignored for (local) mode.

Defines options related to the Kafka Connect cluster for this environment. Ignored for (local) mode.

managedSecretRef NamespacedName

Defines the secret reference for the Managed Kafka mode. Only used in (managed) mode.

managedPrefix string

Managed topic prefix for the managed cluster. Only used in (managed) mode.

topicNamespace string

Namespace that kafkaTopics should be written to for (msk) mode.

clusterAnnotation string

Cluster annotation identifier for (msk) mode.

clusterName string

(Deprecated) Defines the cluster name to be used by the Kafka Provider this will be used in some modes to locate the Kafka instance.

namespace string

(Deprecated) The Namespace the cluster is expected to reside in. This is only used in (app-interface) and (operator) modes.

connectNamespace string

(Deprecated) The namespace that the Kafka Connect cluster is expected to reside in. This is only used in (app-interface) and (operator) modes.

connectClusterName string

(Deprecated) Defines the kafka connect cluster name that is used in this environment.

suffix string

(Deprecated) (Unused)

kafkaConnectReplicaCount integer

Sets the replica count for ephem-msk mode for kafka connect

KafkaConnectClusterConfig

KafkaConnectClusterConfig defines options related to the Kafka Connect cluster managed/monitored by Clowder

Appears In:
Field Description

name string

Defines the kafka connect cluster name (default: <kafka cluster’s name>)

namespace string

The namespace the kafka connect cluster is expected to reside in (default: the kafka cluster’s namespace)

replicas integer

The requested number of replicas for kafka connect. If unset, default is '1'

version string

Version. If unset, default is '2.5.0'

image string

Image. If unset, default is 'quay.io/cloudservices/xjoin-kafka-connect-strimzi:latest'

Resource Limits

KafkaMode

Underlying type: string

KafkaMode details the mode of operation of the Clowder Kafka Provider

Appears In:

KafkaTopicSpec

KafkaTopicSpec defines the desired state of KafkaTopic

Appears In:
Field Description

config object (keys:string, values:string)

A key/value pair describing the configuration of a particular topic.

partitions integer

The requested number of partitions for this topic. If unset, default is '3'

replicas integer

The requested number of replicas for this topic. If unset, default is '3'

topicName string

The requested name for this topic.

LoggingConfig

LoggingConfig configures the Clowder provider controlling the creation of Logging instances.

Appears In:
Field Description

The mode of operation of the Clowder Logging Provider. Valid options are: (app-interface) where the provider will pass through cloudwatch credentials to the app configuration, and (none) where no logging will be configured.

LoggingMode

Underlying type: string

LoggingMode details the mode of operation of the Clowder Logging Provider

Appears In:

MetricsConfig

MetricsConfig configures the Clowder provider controlling the creation of metrics services and their probes.

Appears In:
Field Description

port integer

The port that metrics services inside ClowdApp pods should be served on.

path string

A prefix path that pods will be instructed to use when setting up their metrics server.

The mode of operation of the Metrics provider. The allowed modes are (none), which disables metrics service generation, or (operator) where services and probes are generated. (app-interface) where services and probes are generated for app-interface.

prometheus PrometheusConfig

Prometheus specific configuration

MetricsMode

Underlying type: string

MetricsMode details the mode of operation of the Clowder Metrics Provider

Appears In:

MetricsWebService

MetricsWebService is the definition of the metrics web service. This is automatically enabled and the configuration here at the moment is included for completeness, as there are no configurable options.

Appears In:

NamespacedName

NamespacedName type to represent a real Namespaced Name

Field Description

name string

Name defines the Name of a resource.

namespace string

Namespace defines the Namespace of a resource.

ObjectStoreConfig

ObjectStoreConfig configures the Clowder provider controlling the creation of ObjectStore instances.

Appears In:
Field Description

The mode of operation of the Clowder ObjectStore Provider. Valid options are: (app-interface) where the provider will pass through Amazon S3 credentials to the app configuration, and (minio) where a local Minio instance will be created.

suffix string

Currently unused.

pvc boolean

If using the (local) mode and PVC is set to true, this instructs the local Database instance to use a PVC instead of emptyDir for its volumes.

Override the object store images

ObjectStoreImages

Appears In:
Field Description

minio string

ObjectStoreMode

Underlying type: string

ObjectStoreMode details the mode of operation of the Clowder ObjectStore Provider

Appears In:

PodSpec

PodSpec defines a container running inside a ClowdApp.

Appears In:
Field Description

image string

Image refers to the container image used to create the pod.

initContainers InitContainer array

A list of init containers used to perform at-startup operations.

metadata PodspecMetadata

Refer to Kubernetes API documentation for fields of metadata.

command string array

The command that will be invoked inside the pod at startup.

args string array

A list of args to be passed to the pod container.

env EnvVar array

A list of environment variables in k8s defined format.

A pass-through of a resource requirements in k8s ResourceRequirements format. If omitted, the default resource requirements from the ClowdEnvironment will be used.

livenessProbe Probe

A pass-through of a Liveness Probe specification in standard k8s format. If omitted, a standard probe will be setup point to the webPort defined in the ClowdEnvironment and a path of /healthz. Ignored if Web is set to false.

readinessProbe Probe

A pass-through of a Readiness Probe specification in standard k8s format. If omitted, a standard probe will be setup point to the webPort defined in the ClowdEnvironment and a path of /healthz. Ignored if Web is set to false.

volumes Volume array

A pass-through of a list of Volumes in standa k8s format.

volumeMounts VolumeMount array

A pass-through of a list of VolumesMounts in standa k8s format.

lifecycle Lifecycle

A pass-through of Lifecycle specification in standard k8s format

terminationGracePeriodSeconds integer

A pass-through of TerminationGracePeriodSeconds specification in standard k8s format default is 30 seconds

sidecars Sidecar array

Lists the expected side cars, will be validated in the validating webhook

machinePool string

MachinePool allows the pod to be scheduled to a particular machine pool.

PodspecMetadata

Metadata for applying annotations etc to PodSpec

Appears In:
Field Description

annotations object (keys:string, values:string)

PrivateWebService

PrivateWebService is the definition of the private web service. There can be only one private service managed by Clowder.

Appears In:
Field Description

enabled boolean

Enabled describes if Clowder should enable the private service and provide the configuration in the cdappconfig.

appProtocol AppProtocol

AppProtocol determines the protocol to be used for the private port, (defaults to http)

PrometheusConfig

Appears In:
Field Description

deploy boolean

Determines whether to deploy prometheus in operator mode

appInterfaceHostname string

Specify prometheus hostname when in app-interface mode

PrometheusStatus

PrometheusStatus provides info on how to connect to Prometheus

Field Description

hostname string

ProvidersConfig

ProvidersConfig defines a group of providers configuration for a ClowdEnvironment.

Appears In:
Field Description

Defines the Configuration for the Clowder Database Provider.

inMemoryDb InMemoryDBConfig

Defines the Configuration for the Clowder InMemoryDB Provider.

kafka KafkaConfig

Defines the Configuration for the Clowder Kafka Provider.

logging LoggingConfig

Defines the Configuration for the Clowder Logging Provider.

metrics MetricsConfig

Defines the Configuration for the Clowder Metrics Provider.

objectStore ObjectStoreConfig

Defines the Configuration for the Clowder ObjectStore Provider.

web WebConfig

Defines the Configuration for the Clowder Web Provider.

featureFlags FeatureFlagsConfig

Defines the Configuration for the Clowder FeatureFlags Provider.

serviceMesh ServiceMeshConfig

Defines the Configuration for the Clowder ServiceMesh Provider.

pullSecrets NamespacedName array

Defines the pull secret to use for the service accounts.

testing TestingConfig

Defines the environment for iqe/smoke testing

sidecars Sidecars

Defines the sidecar configuration

autoScaler AutoScalerConfig

Defines the autoscaler configuration

deployment DeploymentConfig

Defines the Deployment provider options

PublicWebService

PublicWebService is the definition of the public web service. There can be only one public service managed by Clowder.

Appears In:
Field Description

enabled boolean

Enabled describes if Clowder should enable the public service and provide the configuration in the cdappconfig.

apiPath string

(DEPRECATED, use apiPaths instead) Configures a path named '/api/<apiPath>/' that this app will serve requests from.

apiPaths APIPath array

Defines a list of API paths (each matching format: "/api/some-path/") that this app will serve requests from.

whitelistPaths string array

WhitelistPaths define the paths that do not require authentication

sessionAffinity boolean

Set SessionAffinity to true to enable sticky sessions

ServiceConfig

ServiceConfig provides options for k8s Service resources

Appears In:
Field Description

type string

ServiceMeshConfig

ServiceMeshConfig determines if this env should be part of a service mesh and, if enabled, configures the service mesh

Appears In:
Field Description

ServiceMeshMode

Underlying type: string

ServiceMeshMode just determines if we enable or disable the service mesh

Appears In:

Sidecar

Appears In:
Field Description

name string

The name of the sidecar, only supported names allowed, (token-refresher)

enabled boolean

Defines if the sidecar is enabled, defaults to False

Sidecars

Appears In:
Field Description

tokenRefresher TokenRefresherConfig

Sets up Token Refresher configuration

SimpleAutoScalerMetric

SimpleAutoScalerMetric defines a metric of either a value or utilization

Appears In:
Field Description

scaleAtValue string

scaleAtUtilization integer

SimpleAutoScalerReplicas

SimpleAutoScalerReplicas defines the minimum and maximum replica counts for the auto scaler

Appears In:
Field Description

min integer

max integer

TLS

Appears In:
Field Description

enabled boolean

port integer

privatePort integer

TestingConfig

Appears In:
Field Description

iqe IqeConfig

Defines the environment for iqe/smoke testing

k8sAccessLevel K8sAccessLevel

The mode of operation of the testing Pod. Valid options are: 'default', 'view' or 'edit'

configAccess ConfigAccessMode

The mode of operation for access to outside app configs. Valid options are: (none) — no app config is mounted to the pod (app) — only the ClowdApp’s config is mounted to the pod (environment) — the config for all apps in the env are mounted

TestingSpec

Appears In:
Field Description

iqePlugin string

TokenRefresherConfig

Appears In:
Field Description

enabled boolean

Enables or disables token refresher sidecars

WebConfig

WebConfig configures the Clowder provider controlling the creation of web services and their probes.

Appears In:
Field Description

port integer

The port that web services inside ClowdApp pods should be served on.

privatePort integer

The private port that web services inside a ClowdApp should be served on.

aiuthPort integer

The auth port that the web local mode will use with the AuthSidecar

apiPrefix string

An api prefix path that pods will be instructed to use when setting up their web server.

mode WebMode

The mode of operation of the Web provider. The allowed modes are (none/operator), and (local) which deploys keycloak and BOP.

bopURL string

The URL of BOP - only used in (none/operator) mode.

ingressClass string

Ingress Class Name used only in (local) mode.

keycloakVersion string

Optional keycloak version override — used only in (local) mode — if not set, a hard-coded default is used.

keycloakPVC boolean

Optionally use PVC storage for keycloak db

images WebImages

Optional images to use for web provider components — only applies when running in (local) mode.

tls TLS

TLS sidecar enablement

gatewayCert GatewayCert

Gateway cert

WebDeprecated

Underlying type: boolean

WebDeprecated defines a boolean flag to help distinguish from the newer WebServices

Appears In:

WebImages

WebImages defines optional container image overrides for the web provider components

Appears In:
Field Description

mocktitlements string

Mock entitlements image — if not defined, value from operator config is used if set, otherwise a hard-coded default is used.

keycloak string

Keycloak image — default is 'quay.io/keycloak/keycloak:{KeycloakVersion}' unless overridden here

caddy string

Caddy image — if not defined, value from operator config is used if set, otherwise a hard-coded default is used.

caddyGateway string

Caddy Gateway image — if not defined, value from operator config is used if set, otherwise a hard-coded default is used.

mockBop string

Mock BOP image — if not defined, value from operator config is used if set, otherwise a hard-coded default is used.

WebMode

Underlying type: string

WebMode details the mode of operation of the Clowder Web Provider

Appears In:

WebServices

WebServices defines the structs for the three exposed web services: public, private and metrics.

Appears In:
Field Description