API Reference

Packages:

operator.ibm.com/v1alpha1

Resource Types:

BusinessTeamsService

↩ Parent

Name Type Description Required
apiVersion string operator.ibm.com/v1alpha1 true
kind string BusinessTeamsService true
metadata object Refer to the Kubernetes API documentation for the fields of the metadata field. true
spec object BusinessTeamsServiceSpec defines the desired state of BusinessTeamsService
false
status object BusinessTeamsServiceStatus defines the observed state of BusinessTeamsService.
false

BusinessTeamsService.spec

↩ Parent

BusinessTeamsServiceSpec defines the desired state of BusinessTeamsService

Name Type Description Required
adminRoles []string Assign a list of Zen role names to assign BTS administrator permission to. Users that are assigned one of these roles get the permission to administer BTS teams.
false
backup object The backup configuration of the PostgreSQL database. This configuration relies on the EDB PostgreSQL operator's backup configuration. See https://cloudnative-pg.io/documentation/1.18/api_reference/#BackupConfiguration for reference.
false
clusterSecretName string This is used on a recovered EBD PostgreSQL database instance. In case the app secret of PostgreSQL was not saved, this can be used to point to the admin secret on the recovered instance.
false
commonServicesNamespace string Custom setting for the namespace where IBM Foundational Services is installed. Defaults to ibm-common-services or the namespace that is mapped to the current BTS namespace by using the configmap common-service-maps in the kube-public namespace.
false
createNetworkPolicies string If set to "true", the BTS operator creates NetworkPolicies. Default is "false".
false
createZenExtensionCR string If set to "true", the BTS operator creates a ZenExtension CR for its Zen frontdoor extension, instead of the default ConfigMap extension. Default is "false".
false
databaseConfig object

Use the spec.databaseConfig to specify a custom PostgreSQL database configuration for BTS.

The basic connection properties include serverName, portNumber, and databaseName. These properties define the database endpoint and the database name to use. BTS automatically creates the necessary tables in this database if they do not exist.

The userSecretName property points to a secret that contains username and password for authentication against the database server.

Use the ssl, sslMode, and sslSecretName properties to configure SSL encryption for the database connection.

It is also possible to specify custom JDBC properties by using the customProperties section.

Note: In case a spec.databaseConfig is specified, the properties replicasDatabase, imagePostgreSQL, storageClassName, storageRequest, resourcesPostgres, backup, recovery, and clusterSecretName are not relevant anymore as no EDB PostgreSQL is deployed.

Example 1: Specify a database connection by using SSL

spec:
  databaseConfig:
    serverName: postgres1.mycompany.com
    portNumber: 5432
    databaseName: btsdb
    userSecretName: postgresql-user
    ssl: "true"
    sslMode: verify-ca
    sslSecretName: postgres-ssl
    customProperties:
    - name: connectTimeout
      value: "5"

Example 2: Specify a JDBC connection URL by using customProperties

spec:
  databaseConfig:
    userSecretName: postgresql-user
    customProperties:
    - name: URL
      value: jdbc:postgresql://unwon1.fyre.ibm.com:5432/umsdb02

false
debug boolean Deprecated. Used to enable BTS operator debug logging. This property is replaced by a config-map named ibm-bts-operator-config with attributes data.traceEnabled and data.debugYaml as strings "true" or "false".
false
deploymentProfile string The deployment profile of BTS (can be "starter", "production" or "hpa"). See documentation of deploymentProfileSize for requests and limits that apply for each setting.
false
deploymentProfileSize string

Deployment profile size of BTS (can be "small", "medium" or "large").

The following table shows the replica count, requests, and limits assigned to BTS pods for each setting:

deploymentProfile/deploymentProfileSize BTS replicas BTS resource requests BTS resource limits
starter 1 cpu: 300m memory: 256Mi cpu: 600m memory: 512Mi
production/small 2 cpu: 500m memory: 256Mi cpu: 1 memory: 512Mi
production/medium 3 cpu: 500m memory: 256Mi cpu: 1 memory: 512Mi
production/large 4 cpu: 500m memory: 256Mi cpu: 1 memory: 512Mi
hpa starting with 1 cpu: 500m memory: 256Mi cpu: 1 memory: 512Mi

The following table shows the replica count, requests, and limits assigned to EDB PostgreSQL pods for each setting:

deploymentProfile/deploymentProfileSize PostgreSQL DB replicas PostgreSQL DB resource requests PostgreSQL DB resource limits
starter 1 cpu: 50m memory: 768Mi cpu: 200m memory: 1Gi
production/small 2 cpu: 50m memory: 768Mi cpu: 100m memory: 1Gi
production/medium 2 cpu: 100m memory: 768Mi cpu: 200m memory: 2Gi
production/large 2 cpu: 200m memory: 768Mi cpu: 400m memory: 3Gi
hpa 2 cpu: 200m memory: 768Mi cpu: 400m memory: 3Gi

false
emptyDirSizeLimits object Explicitly assign a size limit for emptyDir volumes. Includes a limit for large and small sized emptyDirs.
false
enableFips string If set to "true", FIPS mode will be enabled for BTS. Default is "false".
false
hpa object Horizontal pod autoscaler settings. Only active if deploymentProfile is set to "hpa".
false
image string Custom image location for BTS. Defaults to icr.io/cpopen/cpfs/ibm-bts:3.34.0.
false
imageKeytool string Custom image location for keytool-initcontainer. Defaults to icr.io/cpopen/cpfs/ibm-bts-tls-init:3.34.0.
false
imagePostgreSQL string Custom image location for EDB PostgreSQL. Defaults to icr.io/cpopen/edb/postgresql:13.10-4.14.0.
false
imagePullPolicy string Custom image pull policy. Defaults to IfNotPresent.
false
imagePullSecrets []string Custom image pull secret names.
false
ipFamilyConfig object Configuration related to IP Families for Kubernetes Services.
false
jwkEndpointURL string JWK endpoint URL. Defaults to https://internal-nginx-svc.bts-namespace.svc:12443/auth/jwks
false
license object License parameter
false
livenessProbe object

Timeout and delay values for liveness probe according to https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

Example:

spec:
  livenessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 1
    periodSeconds: 30
    successThreshold: 1
    failureThreshold: 3
    terminationGracePeriodSeconds: 30

false
pvcTemplate object Template for PVC creation that directs you to the storage.pvcTemplate property of the EDB Cluster type. For more information, see Storage Configuration.
false
readinessProbe object

Timeout and delay values for readiness probe according to https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

Example:

spec:
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 1
    periodSeconds: 30
    successThreshold: 1
    failureThreshold: 3
    terminationGracePeriodSeconds: 30

false
recovery object The recovery configuration of the PostgreSQL database. This configuration relies on the EDB PostgreSQL operators recovery configuration. See https://cloudnative-pg.io/documentation/1.18/api_reference/#BarmanObjectStoreConfiguration for reference.
false
replicas integer Number of BTS pods to deploy. BTS also supports horizontal pod autoscaler and fixed deployment profiles. See spec.hpa and spec.deploymentProfile for more information. Defaults to 1.

Format: int32
Default: 1
false
replicasDatabase integer Number of EDB PostgreSQL pods to deploy. There is always one active primary pod and a number of secondary inactive pods for the EDB PostgreSQL database. Defaults to 1.

Format: int32
Default: 1
false
resources object

Allows to set custom BTS pod resources, including CPU, memory, and ephemeral storage requests and limits.

Example:

spec:
  resources:
    requests:
      cpu: 200m
      memory: 256Mi
      ephemeral-storage: 100Mi
    limits:
      cpu: 500m
      memory: 512Mi

false
resourcesPostgres object

Set custom EDB PostgreSQL resources, including CPU and memory request and limits.

Example:

spec:
  resourcesPostgres:
    requests:
      cpu: 50m
      memory: 768Mi
    limits:
      cpu: 200m
      memory: 1Gi

false
scimEndpointURL string SCIM endpoint URL. Defaults to https://icp-management-ingress.CommonServicesNamespace.svc/idmgmt/identity/api/v1/scim
false
seccompLocalhostProfile string Seccomp localhost profile path. This automatically turns seccomp type to Localhost for BTS pods.
false
startupProbe object

Timeout and delay values for startup probe according to https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

Example:

spec:
  startupProbe:
    initialDelaySeconds: 120
    timeoutSeconds: 1
    periodSeconds: 5
    successThreshold: 1
    failureThreshold: 180
    terminationGracePeriodSeconds: 30

false
storageClassName string Explicitly assign a storage class for the BTS PostgreSQL database. By default, the default storage class of the cluster is used. If there is no default, the first storage class in the listing of storage classes is applied.
false
storageRequest string Explicitly assign a storage request. For example, 15Gi. By default, 10Gi is requested. The storage is used by the EDB PostgreSQL database.
false
tokenEndpointURL string Token endpoint URL. Defaults to https://icp-management-ingress.CommonServicesNamespace.svc/idprovider/v1/auth/token
false
traceSpec string Liberty trace spec for the BTS pods. Defaults to ".info".

Default:
=info
false
trustedTLSCertificates []object

TLS Certificates from secrets to add to the BTS truststore.

Example:

spec:
  trustedTLSCertificates:
    - secretName: platform-identity-provider
      key: ca.crt

false
waitForZenService string If set to "true", BTS operator waits for ZenService .status.Progress to be 100% and .status.zenStatus Completed. Default is "false".
false
zenIntrospectEndpointURL string Zen Introspect Endpoint URL. Defaults to https://icp-management-ingress.CommonServicesNamespace.svc/idprovider/v1/auth/introspect
false

BusinessTeamsService.spec.backup

↩ Parent

The backup configuration of the PostgreSQL database. This configuration depends on the backup configurationon of the EDB PostgreSQL operator. For more information, see Backup configuration.

Name Type Description Required
barmanObjectStore object BarmanObjectStoreConfiguration contains the backup configuration that uses Barman against an S3-compatible object storage. For more information, see Barman object storage cxonfiguration.
false
retentionPolicy string
false

BusinessTeamsService.spec.backup.barmanObjectStore

↩ Parent

BarmanObjectStoreConfiguration contains the backup configuration that uses Barman against an S3-compatible object storage. For more information, see Barman object storage cxonfiguration.

Name Type Description Required
azureCredentials object The credentials to use to upload data to Azure Blob storage
false
data object The configuration to be used to backup the data files When not defined, base backups files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.
false
destinationPath string The path where to store the backup (i.e. s3://bucket/path/to/folder) this path, with different destination folders, will be used for WALs and for data - mandatory
false
endpointCA object EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive
false
endpointURL string Endpoint to be used to upload data to the cloud, overriding the automatic endpoint discovery
false
googleCredentials object The credentials to use to upload data to Google Cloud Storage
false
historyTags map[string]string HistoryTags is a list of key value pairs that will be passed to the Barman --history-tags option.
false
s3Credentials object The credentials to use to upload data to S3
false
serverName string The server name on S3, the cluster name is used if this parameter is omitted
false
tags map[string]string Tags is a list of key value pairs that will be passed to the Barman --tags option.
false
wal object The configuration for the backup of the WAL stream. When not defined, WAL files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.
false

BusinessTeamsService.spec.backup.barmanObjectStore.azureCredentials

↩ Parent

The credentials to use to upload data to Azure Blob storage

Name Type Description Required
connectionString object The connection string to be used
false
storageAccount object The storage account where to upload data
false
storageKey object The storage account key to be used in conjunction with the storage account name
false
storageSasToken object A shared-access-signature to be used in conjunction with the storage account name
false

BusinessTeamsService.spec.backup.barmanObjectStore.azureCredentials.connectionString

↩ Parent

The connection string to be used

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.azureCredentials.storageAccount

↩ Parent

The storage account where to upload data

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.azureCredentials.storageKey

↩ Parent

The storage account key to be used in conjunction with the storage account name

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.azureCredentials.storageSasToken

↩ Parent

A shared-access-signature to be used in conjunction with the storage account name

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.data

↩ Parent

The configuration to be used to backup the data files When not defined, base backups files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.

Name Type Description Required
compression string Compress a WAL file before sending it to the object store. Available options are empty string (no compression, default), gzip, bzip2 or snappy.
false
encryption string Whenever to force the encryption of files (if the bucket is not already configured for that). Allowed options are empty string (use the bucket policy, default), AES256 and aws:kms
false
immediateCheckpoint boolean Control whether the I/O workload for the backup initial checkpoint will be limited, according to the checkpoint_completion_target setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. false by default.
false
jobs integer The number of parallel jobs to be used to upload the backup, defaults to 2

Format: int32
false

BusinessTeamsService.spec.backup.barmanObjectStore.endpointCA

↩ Parent

EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.googleCredentials

↩ Parent

The credentials to use to upload data to Google Cloud Storage

Name Type Description Required
applicationCredentials object The secret containing the Google Cloud Storage JSON file with the credentials
false
gkeEnvironment boolean If set to true, will presume that it's running inside a GKE environment, default to false. - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.googleCredentials.applicationCredentials

↩ Parent

The secret containing the Google Cloud Storage JSON file with the credentials

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.s3Credentials

↩ Parent

The credentials to use to upload data to S3

Name Type Description Required
accessKeyId object The reference to the access key id
false
inheritFromIAMRole boolean Use the role based authentication without providing explicitly the keys. - mandatory
false
secretAccessKey object The reference to the secret access key
false
sessionToken object The references to the session key
false

BusinessTeamsService.spec.backup.barmanObjectStore.s3Credentials.accessKeyId

↩ Parent

The reference to the access key id

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.s3Credentials.secretAccessKey

↩ Parent

The reference to the secret access key

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.s3Credentials.sessionToken

↩ Parent

The references to the session key

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.backup.barmanObjectStore.wal

↩ Parent

The configuration for the backup of the WAL stream. When not defined, WAL files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.

Name Type Description Required
compression string Compress a WAL file before sending it to the object store. Available options are empty string (no compression, default), gzip, bzip2 or snappy.
false
encryption string Whenever to force the encryption of files (if the bucket is not already configured for that). Allowed options are empty string (use the bucket policy, default), AES256 and aws:kms
false
maxParallel integer Number of WAL files to be either archived in parallel (when the PostgreSQL instance is archiving to a backup object store) or restored in parallel (when a PostgreSQL standby is fetching WAL files from a recovery object store). If not specified, WAL files will be processed one at a time. It accepts a positive integer as a value - with 1 being the minimum accepted value.

Format: int32
false

BusinessTeamsService.spec.databaseConfig

↩ Parent

spec:
  databaseConfig:
    serverName: postgres1.mycompany.com
    portNumber: 5432
    databaseName: btsdb
    userSecretName: postgresql-user
    ssl: "true"
    sslMode: verify-ca
    sslSecretName: postgres-ssl
    customProperties:
    - name: connectTimeout
      value: "5"
Name Type Description Required
autoDetectEDBCluster string If "true", BTS will auto-detects an existing EDB PostgreSQL cluster and uses it as backend. Auto-detect means that BTS looks for a certain EDB cluster name in the current namespace. The name is determined by the configuration property databaseConfig.autoDetectEDBClusterName, by default for postgres-cp4ba. If no such cluster is found, a dedicated EDB PostgreSQL cluster is deployed. Default "false". In case auto-detect is used, the databaseConfig properties portNumber, databaseName, ssl, and sslMode can be used to customize the connection to the auto-detected database.
false
autoDetectEDBClusterName string Sets the name of the EDB PostgreSQL Cluster to look for on auto-detection. Default postgres-cp4ba.
false
autoDetectEDBSecretConfig object

Configure the names and keys of secrets to be used with the auto-detected EDB cluster

for a specific user and certificate secret with following structure:

apiVersion: v1
kind: Secret
metadata:
  name: postgres-cp4ba-custom-secret
type: Opaque
stringData:
  user: "postgres"
  pass: "Passw0rd"
  cert: |-
    -----BEGIN CERTIFICATE-----
    [PEM encoded CA certificate]
    -----END CERTIFICATE-----

the matching autoDetectEDBSecretConfig would look like this:

spec:
  databaseConfig:
    autoDetectEDBSecretConfig:
      appSecretName: postgres-cp4ba-custom-secret
      appSecretUsernameKey: user
      appSecretPasswordKey: pass
      caSecretName: postgres-cp4ba-custom-secret
      caSecretCertificateKey: cert

false
autoMigrationDebug string If "true", debug logs are written to the migration Job logs. Default "false".
false
autoMigrationDropTables string If "true", any existing BTS tables in the migration target database are dropped, to ensure a clean migration target. Default "true".
false
autoMigrationEnabled string If "true", the data of an existing EDB PostgreSQL cluster is migrated into the auto-detected cluster. Therefore a job is created that transfers all BTS data from the existing cluster to the new cluster. After successful migration, the existing EDB PostgreSQL cluster is deleted. Default "true".
false
autoMigrationVerbose string If "true", debug logging is verbose. Default "false".
false
customProperties []object

A list of name/value pairs to set custom JDBC driver configuration properties. Each name/value is set as property on the JDBC connection.

A list of supported properties can be found in the section properties.postgresql:
https://www.ibm.com/docs/en/was-liberty/base?topic=SSEQTP_liberty/com.ibm.websphere.liberty.autogen.nd.doc/ae/rwlp_config_dataSource.htm

false
databaseName string The database name for BTS. Defaults to user schema name.
false
disableDBAuthAlias string If you set disableDBAuthAlias parameter to true, the database authentication alias is not added even if username and password are present. The default value is false.
false
portNumber integer Port of the database server. Defaults to 5432.

Format: int32
false
serverName string Host of the database server.
false
ssl string Whether SSL is enabled or not ("true" or "false"). Defaults to "false".
false
sslMode string Sets SSL mode if ssl property is true. Defaults to prefer.
false
sslSecretName string Secret that contains tls.crt (set as sslcert) and/or ca.crt (set as sslrootcert). This secret must be given if ssl is true. Otherwise, deployment fails.
false
userSecretName string Secret that contains the .data.username and .data.password keys. This secret is used to authenticate against the database.
false

BusinessTeamsService.spec.databaseConfig.autoDetectEDBSecretConfig

↩ Parent

apiVersion: v1
kind: Secret
metadata:
  name: postgres-cp4ba-custom-secret
type: Opaque
stringData:
  user: "postgres"
  pass: "Passw0rd"
  cert: |-
    -----BEGIN CERTIFICATE-----
    [PEM encoded CA certificate]
    -----END CERTIFICATE-----
Name Type Description Required
appSecretName string The name of the EDB app secret that contains username and password. Default CLUSTER_NAME-app.
false
appSecretPasswordKey string The key of the password property in the EDB app secret data section. Default password.
false
appSecretUsernameKey string The key of the username property in the EDB app secret data section. Default username.
false
caSecretCertificateKey string The key of the CA certificate in the EDB CA secret data section. Default ca.crt.
false
caSecretName string The name of the EDB CA secret. Default CLUSTER_NAME-ca, where CLUSTER_NAME is replaced with the auto-detected cluster name.
false

BusinessTeamsService.spec.databaseConfig.customProperties[index]

↩ Parent

Name Type Description Required
name string The name of the custom JDBC driver property.
true
value string The value of the custom JDBC driver property.
true

BusinessTeamsService.spec.emptyDirSizeLimits

↩ Parent

Explicitly assign a size limit for emptyDir volumes. Includes a limit for large and small sized emptyDirs.

Name Type Description Required
limitLarge string Limits for large empty dirs. Defaults to 500Mi.
false
limitSmall string Limits for small empty dirs. Defaults to 50Mi.
false

BusinessTeamsService.spec.hpa

↩ Parent

Horizontal pod autoscaler settings. Only active if deploymentProfile is set to "hpa".

Name Type Description Required
averageUtilization integer Set the average CPU utilization percentage for scaling pods when HPA is enabled. Defaults to 90.

Format: int32
false
maxReplicas integer Set the maximum replicas for the BTS deployment when HPA is enabled. Defaults to 10.

Format: int32
false
minReplicas integer Set the minimum replicas for the BTS deployment when HPA is enabled. Defaults to 1.

Format: int32
false

BusinessTeamsService.spec.ipFamilyConfig

↩ Parent

Configuration related to IP Families for Kubernetes Services.

Name Type Description Required
ipFamilies []string IPv4 and IPv6IP are the Families of the BTS service.
false
ipFamilyPolicy string SingleStack, PreferDualStack, or RequireDualStack is the IP Family Policy for the BTS service.
false

BusinessTeamsService.spec.license

↩ Parent

Name Type Description Required
accept boolean Set the boolean parameter to true to accept the license.
true

BusinessTeamsService.spec.livenessProbe

↩ Parent

spec:
  livenessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 1
    periodSeconds: 30
    successThreshold: 1
    failureThreshold: 3
    terminationGracePeriodSeconds: 30
Name Type Description Required
failureThreshold integer

Format: int32
false
initialDelaySeconds integer

Format: int32
false
periodSeconds integer

Format: int32
false
successThreshold integer

Format: int32
false
terminationGracePeriodSeconds integer

Format: int64
false
timeoutSeconds integer

Format: int32
false

BusinessTeamsService.spec.pvcTemplate

↩ Parent

Template for PVC creation that directs you to the storage.pvcTemplate property of the EDB Cluster type. For more information, see Storage Configuration.

Name Type Description Required
accessModes []string The accessModes parameter contains the wanted access modes of the volume. For more information, see Access Modes.
false
dataSource object You can specify an existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) or PVC (PersistentVolumeClaim) in the dataSource field. If the provisioner or external controller can support the specified data source, a new volume based on the contents of the specified data source is created. If the AnyVolumeDataSource feature gate is enabled, the dataSource contents are copied to dataSourceRef and the dataSourceRef contents are copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, the contents of dataSourceRef are not copied to dataSource.
false
dataSourceRef object If a non-empty volume is required, you can specify the object in the dataSourceRef parameter to retrieve the volume with data from the specified object. You can specify any object from a non-empty API group (non-core object) or a PersistentVolumeClaim object. If you specify the object in the dataSourceRef field, the volume binding succeeds only if the type of the specified object is the same as the installed volume populator or dynamic provisioner. The dataSourceRef field overrides the functions of the dataSource field. Ensure that the values of dataSourceRef and dataSource fields are same if both fields are non-empty. For backwards compatibility, if the namespace is not specified in dataSourceRef, the dataSource and dataSourceRef fields are set to the same value automatically if one of the fields is empty and the other is non-empty. If namespace is specified in dataSourceRef, dataSource is set to empty. The difference between dataSource and dataSourceRef are as follows:
  • The dataSource field allows two specific types of objects only. The dataSourceRef field allows any non-core object and PersistentVolumeClaim objects.
  • The dataSource field ignores disallowed values. The dataSourceRef stores all values and generates an error if you specify a disallowed value.
  • The dataSource field allows local objects only. You need to enable the AnyVolumeDataSource feature gate.
    The dataSourceRef allows objects in any namespaces. You need to enable the CrossNamespaceVolumeDataSource feature gate to specify the namespace in the dataSourceRef field.
false
resources object The resources parameter represents the minimum resources of the volume. If RecoverVolumeExpansionFailure feature is enabled, you can specify the resource requirements that are less than the previous value. Ensure that the value is higher than the capacity recorded in the status field of the claim. For more information, see Resources.
false
selector object selector is a label query over volumes to consider for binding.
false
storageClassName string storageClassName is the name of the StorageClass required for the claim. For more information, see Class.
false
volumeMode string volumeMode defines the type of volume that is required for the claim. The value of Filesystem is implied when not included in claim spec.
false
volumeName string volumeName is the binding reference to the PersistentVolume of the claim.
false

BusinessTeamsService.spec.pvcTemplate.dataSource

↩ Parent

You can specify an existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) or PVC (PersistentVolumeClaim) in the dataSource field. If the provisioner or external controller can support the specified data source, a new volume based on the contents of the specified data source is created. If you enable the AnyVolumeDataSource feature gate, the contents of the dataSource are copied to dataSourceRef and contents of the dataSourceRef are copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, the dataSourceRef contents is not copied to dataSource.

Name Type Description Required
kind string Kind is the type of resource being referenced
true
name string Name is the name of the resource being referenced
true
apiGroup string APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
false

BusinessTeamsService.spec.pvcTemplate.dataSourceRef

↩ Parent

If a non-empty volume is required, you can specify the object in the dataSourceRef parameter to retrieve the volume with data from the specified object. You can specify any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. If you specify the object in the dataSourceRef field, the volume binding succeeds only if the type of the specified object is the same as the installed volume populator or dynamic provisioner. The dataSourceRef field overrides the functions of the dataSource field. Ensure that the values of dataSourceRef and dataSource fields are the same if both fields are non-empty. For backwards compatibility, if the namespace is not specified in dataSourceRef, the dataSource and dataSourceRef fields are set to the same value automatically if one of the fields is empty and the other is non-empty. If namespace is specified in dataSourceRef, dataSource is set to empty. The difference between dataSource and dataSourceRef are as follows:

Name Type Description Required
kind string Kind is the type of resource being referenced
true
name string Name is the name of the resource being referenced
true
apiGroup string APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
false
namespace string Namespace is the namespace of the resource being referenced. If the namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the namespace to allow that namespace owner to accept the reference. For more information, see the ReferenceGrant. The namespace field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
false

BusinessTeamsService.spec.pvcTemplate.resources

↩ Parent

The resources parameter represents the minimum resources of the volume. If RecoverVolumeExpansionFailure feature is enabled, you can specify the resource requirements that are less than the previous value. Ensure that the value is higher than the capacity recorded in the status field of the claim. For more information, see Resources.

Name Type Description Required
claims []object Claims list the names of resources that are defined in spec.resourceClaims. The container uses the resources that are specified in spec.resourceClaims. You need to enable the DynamicResourceAllocation feature gate to use the claims fields. The values cannot be changed and set for containers only.
false
limits map[string]int or string You can specify the maximum compute resources that are allowed in the Limits field. For more information, see Resource Management for Pods and Containers.
false
requests map[string]int or string You can specify the required minimum amount of compute resources in the requests field. If Requests is not specified for a container, the value of requests defaults to Limits if the Limits is specified. If the value of Requests and Limits are not specified, the value of Requests is specified with an implementation-defined value. The value of Requests cannot exceed Limits. For more information, see Resource Management for Pods and Containers.
false

BusinessTeamsService.spec.pvcTemplate.resources.claims[index]

↩ Parent

ResourceClaim references one entry in PodSpec.ResourceClaims.

Name Type Description Required
name string Specify the name of one entry in pod.spec.resourceClaims of the PodName to make the resource available in a container.
true

BusinessTeamsService.spec.pvcTemplate.selector

↩ Parent

selector is a label query over volumes to consider for binding.

Name Type Description Required
matchExpressions []object matchExpressions is a list of label selector requirements. The requirements are ANDed.
false
matchLabels map[string]string matchLabels is a map of {key,value} pairs. A single {key,value} pair in the matchLabels map is equivalent to an element of matchExpressions with key field and operator that is assigned with "key" and "In". The values array contains "value" only. The requirements are ANDed.
false

BusinessTeamsService.spec.pvcTemplate.selector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that is related to the key and values.

Name Type Description Required
key string key is the label key that the selector applies to.
true
operator string operator represents the relationship of key to a set of values. The valid operators are In, NotIn, Exists, and DoesNotExist.
true
values []string values are an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
false

BusinessTeamsService.spec.readinessProbe

↩ Parent

spec:
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 1
    periodSeconds: 30
    successThreshold: 1
    failureThreshold: 3
    terminationGracePeriodSeconds: 30
Name Type Description Required
failureThreshold integer

Format: int32
false
initialDelaySeconds integer

Format: int32
false
periodSeconds integer

Format: int32
false
successThreshold integer

Format: int32
false
terminationGracePeriodSeconds integer

Format: int64
false
timeoutSeconds integer

Format: int32
false

BusinessTeamsService.spec.recovery

↩ Parent

The recovery configuration of the PostgreSQL database. This configuration relies on the EDB PostgreSQL operators recovery configuration. See https://cloudnative-pg.io/documentation/1.18/api_reference/#BarmanObjectStoreConfiguration for reference.

Name Type Description Required
barmanObjectStore object BarmanObjectStoreConfiguration contains the backup configuration by using Barman against an S3-compatible object storage. For reference see https://cloudnative-pg.io/documentation/1.18/api_reference/#barmanobjectstoreconfiguration
false

BusinessTeamsService.spec.recovery.barmanObjectStore

↩ Parent

BarmanObjectStoreConfiguration contains the backup configuration by using Barman against an S3-compatible object storage. For reference see https://cloudnative-pg.io/documentation/1.18/api_reference/#barmanobjectstoreconfiguration

Name Type Description Required
azureCredentials object The credentials to use to upload data to Azure Blob storage
false
data object The configuration to be used to backup the data files When not defined, base backups files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.
false
destinationPath string The path where to store the backup (i.e. s3://bucket/path/to/folder) this path, with different destination folders, will be used for WALs and for data - mandatory
false
endpointCA object EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive
false
endpointURL string Endpoint to be used to upload data to the cloud, overriding the automatic endpoint discovery
false
googleCredentials object The credentials to use to upload data to Google Cloud Storage
false
historyTags map[string]string HistoryTags is a list of key value pairs that will be passed to the Barman --history-tags option.
false
s3Credentials object The credentials to use to upload data to S3
false
serverName string The server name on S3, the cluster name is used if this parameter is omitted
false
tags map[string]string Tags is a list of key value pairs that will be passed to the Barman --tags option.
false
wal object The configuration for the backup of the WAL stream. When not defined, WAL files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.
false

BusinessTeamsService.spec.recovery.barmanObjectStore.azureCredentials

↩ Parent

The credentials to use to upload data to Azure Blob storage

Name Type Description Required
connectionString object The connection string to be used
false
storageAccount object The storage account where to upload data
false
storageKey object The storage account key to be used in conjunction with the storage account name
false
storageSasToken object A shared-access-signature to be used in conjunction with the storage account name
false

BusinessTeamsService.spec.recovery.barmanObjectStore.azureCredentials.connectionString

↩ Parent

The connection string to be used

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.azureCredentials.storageAccount

↩ Parent

The storage account where to upload data

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.azureCredentials.storageKey

↩ Parent

The storage account key to be used in conjunction with the storage account name

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.azureCredentials.storageSasToken

↩ Parent

A shared-access-signature to be used in conjunction with the storage account name

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.data

↩ Parent

The configuration to be used to backup the data files When not defined, base backups files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.

Name Type Description Required
compression string Compress a WAL file before sending it to the object store. Available options are empty string (no compression, default), gzip, bzip2 or snappy.
false
encryption string Whenever to force the encryption of files (if the bucket is not already configured for that). Allowed options are empty string (use the bucket policy, default), AES256 and aws:kms
false
immediateCheckpoint boolean Control whether the I/O workload for the backup initial checkpoint will be limited, according to the checkpoint_completion_target setting on the PostgreSQL server. If set to true, an immediate checkpoint will be used, meaning PostgreSQL will complete the checkpoint as soon as possible. false by default.
false
jobs integer The number of parallel jobs to be used to upload the backup, defaults to 2

Format: int32
false

BusinessTeamsService.spec.recovery.barmanObjectStore.endpointCA

↩ Parent

EndpointCA store the CA bundle of the barman endpoint. Useful when using self-signed certificates to avoid errors with certificate issuer and barman-cloud-wal-archive

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.googleCredentials

↩ Parent

The credentials to use to upload data to Google Cloud Storage

Name Type Description Required
applicationCredentials object The secret containing the Google Cloud Storage JSON file with the credentials
false
gkeEnvironment boolean If set to true, will presume that it's running inside a GKE environment, default to false. - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.googleCredentials.applicationCredentials

↩ Parent

The secret containing the Google Cloud Storage JSON file with the credentials

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.s3Credentials

↩ Parent

The credentials to use to upload data to S3

Name Type Description Required
accessKeyId object The reference to the access key id
false
inheritFromIAMRole boolean Use the role based authentication without providing explicitly the keys. - mandatory
false
secretAccessKey object The reference to the secret access key
false
sessionToken object The references to the session key
false

BusinessTeamsService.spec.recovery.barmanObjectStore.s3Credentials.accessKeyId

↩ Parent

The reference to the access key id

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.s3Credentials.secretAccessKey

↩ Parent

The reference to the secret access key

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.s3Credentials.sessionToken

↩ Parent

The references to the session key

Name Type Description Required
key string The key to select - mandatory
false
name string The name of the secret - mandatory
false

BusinessTeamsService.spec.recovery.barmanObjectStore.wal

↩ Parent

The configuration for the backup of the WAL stream. When not defined, WAL files will be stored uncompressed and may be unencrypted in the object store, according to the bucket default policy.

Name Type Description Required
compression string Compress a WAL file before sending it to the object store. Available options are empty string (no compression, default), gzip, bzip2 or snappy.
false
encryption string Whenever to force the encryption of files (if the bucket is not already configured for that). Allowed options are empty string (use the bucket policy, default), AES256 and aws:kms
false
maxParallel integer Number of WAL files to be either archived in parallel (when the PostgreSQL instance is archiving to a backup object store) or restored in parallel (when a PostgreSQL standby is fetching WAL files from a recovery object store). If not specified, WAL files will be processed one at a time. It accepts a positive integer as a value - with 1 being the minimum accepted value.

Format: int32
false

BusinessTeamsService.spec.resources

↩ Parent

spec:
  resources:
    requests:
      cpu: 200m
      memory: 256Mi
      ephemeral-storage: 100Mi
    limits:
      cpu: 500m
      memory: 512Mi
Name Type Description Required
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

BusinessTeamsService.spec.resourcesPostgres

↩ Parent

spec:
  resourcesPostgres:
    requests:
      cpu: 50m
      memory: 768Mi
    limits:
      cpu: 200m
      memory: 1Gi
Name Type Description Required
limits map[string]int or string Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false
requests map[string]int or string Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
false

BusinessTeamsService.spec.startupProbe

↩ Parent

spec:
  startupProbe:
    initialDelaySeconds: 120
    timeoutSeconds: 1
    periodSeconds: 5
    successThreshold: 1
    failureThreshold: 180
    terminationGracePeriodSeconds: 30
Name Type Description Required
failureThreshold integer

Format: int32
false
initialDelaySeconds integer

Format: int32
false
periodSeconds integer

Format: int32
false
successThreshold integer

Format: int32
false
terminationGracePeriodSeconds integer

Format: int64
false
timeoutSeconds integer

Format: int32
false

BusinessTeamsService.spec.trustedTLSCertificates[index]

↩ Parent

Name Type Description Required
key string Key in the secret that contains the TLS certificate to trust.
true
secretName string Name of the secret that contains the TLS certificate to trust.
true

BusinessTeamsService.status

↩ Parent

BusinessTeamsServiceStatus defines the observed state of BusinessTeamsService.

Name Type Description Required
serviceStatus string

Deploy status indicates whether BTS is able to serve request (ready) or not (unready).

Possible values and their meaning:

serviceStatus Value Description
unready No ready pod is available to handle any requests.
ready BTS is ready for serving requests.

true
conditions []object

Conditions indicate the status of BTS service. Conditions can either have status True or False, depending on the status of BTS. Also, a reason and message set explains the status.

Condition Type Status Description
Available Indicates that at least 1 BTS pod is ready. Possible reasons are ReplicasReady and NoReplicasReady.
Degraded Indicates if the BTS service is degraded, which is the case if at least 1 BTS pod or 1 database pod is unhealthy. Possible reasons are NotDegraded, BTSDegraded, BTSDegraded and PostgreSQLDegraded.
Error Indicates whether an error occurred on deployment. Possible reasons are NoError and ErrorOccured.

false
deployStatus string

Deploy status indicates whether deployment of Kubernetes resources is in progress (unready), ready, or failed.

Possible values and their meaning:

deployStatus value Description
unready Deployment is still ongoing/in-progress.
ready Deployment is ready. It is now a matter of waiting for service status readiness.
failed An error occurred on creating deployment resource in the cluster. See status.reason and status.condition for error details.

false
endpoints object Indicates the BTS external service endpoints.
false
lastUpdated string Indicates the last time that the status was updated.

Format: date-time
false
reason string The reason is a human-readable status message.
false
versions []object Indicates the BTS and operator versions that are currently deployed.
false

BusinessTeamsService.status.conditions[index]

↩ Parent

Condition Type Status Description
Available Indicates that at least 1 BTS pod is ready. Possible reasons are ReplicasReady and NoReplicasReady.
Degraded Indicates if the BTS service is degraded, which is the case if at least 1 BTS pod or 1 database pod is unhealthy. Possible reasons are NotDegraded, BTSDegraded, BTSDegraded, and PostgreSQLDegraded.
Error Indicates if an error occurred on deployment. Possible reasons are NoError and ErrorOccured.
Name Type Description Required
lastTransitionTime string

Format: date-time
false
message string
false
reason string
false
status string
false
type string
false

BusinessTeamsService.status.endpoints

↩ Parent

Indicates the BTS external service endpoints.

Name Type Description Required
adminUI string Endpoint of the BTS admin user interface. Example: https://cpd-cp4ba.apps.cluster.mycompany.com/teamserver/ui/#/teams
false
apiExplorer string Endpoint of the BTS REST user interface. Example: https://cpd-cp4ba.apps.cluster.mycompany.com/teamserver/api/explorer
false
teamsAPI string Endpoint of the BTS REST API. Example: https://cpd-cp4ba.apps.cluster.mycompany.com/teamserver/rest
false

BusinessTeamsService.status.versions[index]

↩ Parent

Reports the deployed version of BusinessTeamsService. The name field can be one of operator or operand.

Name Type Description Required
name string The name of the version, either "operator" or "operand".
false
version string The version, for example "3.34.0".
false