Supported versions:
Unsupported versions:
This section lists all of the configuration properties that you can use to customize the runtime plane of your Apigee hybrid deployment.
The following table describes the top-level properties in the overrides.yaml file. These are properties
that do not belong to another object, and apply at the org or environment level:
| Property | Description |
|---|---|
axHashSalt |
Introduced in version: 1.3.0 Default value: Your organization name Optional The name of a Kubernetes secret that contains a hashing salt value used to encrypt obfuscated user data sent to Apigee analytics. If you do not specify a salt value, your organization name is used by default. Create the secret with the salt value as its input. You can use the same salt across multiple clusters to ensure consistent hashing results between the clusters. |
contractProvider |
Introduced in version: 1.0.0
Default value: Defines the API path for all APIs in your installation. |
gcpProjectID |
Deprecated: For v1.2.0 and later, use gcp.projectID instead.
Introduced in version: 1.0.0 Default value: none Required ID of your Google Cloud project. Works with |
gcpRegion |
Deprecated: For v1.2.0 and later, use gcp.region instead.
Introduced in version: 1.0.0 Default value: Required The closet Google Cloud region or zone of your Kubernetes cluster. Works with |
imagePullSecrets.name |
Introduced in version: 1.0.0
Default value: None Kubernetes secret name configured as docker-registry type; used to pull images from private repo. |
k8sClusterName |
Deprecated: For v1.2.0 and later, use k8sCluster.name
and k8sCluster.region instead.
Introduced in version: 1.0.0 Default value: None Name of the Kubernetes (K8S) procluster where your hybrid project is running. Works with
|
kmsEncryptionKey |
Introduced in version: 1.0.0
Default value: Optional. Use only one of kmsEncryptionKey or kmsEncryptionPath or kmsEncryptionSecret. Local file system path for the Apigee KMS data's encryption key. |
kmsEncryptionPath |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kmsEncryptionKey or kmsEncryptionPath or kmsEncryptionSecret. The path to a file containing a base64-encoded encryption key. See Data encryption. |
kmsEncryptionSecret.key |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kmsEncryptionKey or kmsEncryptionPath or kmsEncryptionSecret. The key of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption. |
kmsEncryptionSecret.name |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kmsEncryptionKey or kmsEncryptionPath or kmsEncryptionSecret. The name of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption. |
kvmEncryptionKey |
Introduced in version: 1.0.0
Default value: Optional. Use only one of kvmEncryptionKey or kvmEncryptionPath or kvmEncryptionSecret. Local file system path for the Apigee KVM data's encryption key. |
kvmEncryptionPath |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kvmEncryptionKey or kvmEncryptionPath or kvmEncryptionSecret. The path to a file containing a base64-encoded encryption key. See Data encryption. |
kvmEncryptionSecret.key |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kvmEncryptionKey or kvmEncryptionPath or kvmEncryptionSecret. The key of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption. |
kvmEncryptionSecret.name |
Introduced in version: 1.2.0
Default value: None Optional. Use only one of kvmEncryptionKey or kvmEncryptionPath or kvmEncryptionSecret. The name of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption. |
namespace |
Introduced in version: 1.0.0
Default value: The namespace of your Kubernetes cluster where the Apigee components will be installed. |
org |
Introduced in version: 1.0.0 Default value: None Required The hybrid-enabled organization that was provisioned for you by Apigee during the hybrid installation. An organization is the top-level container in Apigee. It contains all your API proxies and related resources. If the value is empty, you must update it with your org name once you have created it. |
revision |
Introduced in version: 1.0.0
Default value: Apigee hybrid supports rolling Kubernetes updates, which allow deployment updates to take place with zero downtime by incrementally updating Pod instances with new ones. When updating certain YAML overrides that result in underlying Kubernetes
When the
Changes to properties of the following objects require an update to For more information, see Rolling updates. |
validateServiceAccounts |
Introduced in version: 1.0.0
Default value: Enables strict validation of service account permissions. This uses Cloud Resource Manager
API method
See also |
aoApigee Operators (AO) creates and updates low level Kubernetes and Istio resources that are required to deploy and maintain the ApigeeDeployment (AD). For example, the controller carries out the release of message processors. Also validates the ApigeeDeployment configuration before persisting it in Kubernetes cluster.
The following table describes the properties of the apigee-operators ao object:
ao.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
ao.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
ao.image.urlDefault value: google/apigee-deployment-controller
The location of the Docker image for this service.
ao.resources.limits.cpuDefault value: 250m
ao.resources.limits.memoryDefault value: 256Mi
The memory limit for the resource in a Kubernetes container, in mebibytes.
ao.resources.requests.cpuDefault value: 250m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
ao.resources.requests.memoryDefault value: 256Mi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
authzThe following table describes the properties of the authz object:
| Property | Description |
|---|---|
authz.image.pullPolicy |
Introduced in version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
authz.image.tag |
Introduced in version: 1.0.0
Default value: The version label for this service's Docker image. |
authz.image.url |
Introduced in version: 1.0.0
Default value:
The location of the Docker image for this service. |
authz.livenessProbe.failureThreshold |
Introduced in version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
authz.livenessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
authz.livenessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
authz.livenessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
authz.readinessProbe.failureThreshold |
Introduced in version: Beta2
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
authz.readinessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
authz.readinessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
authz.readinessProbe.successThreshold |
Introduced in version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
authz.readinessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
authz.resources.requests.cpu |
Introduced in version: 1.0.0
Default value: The amount of CPU resources to allocate for authentication requests. |
authz.resources.requests.memory |
Introduced in version: 1.0.0
Default value: The amount of memory resources to allocate for authentication requests. |
busyBoxInit (Deprecated)The following table describes the properties of the busyBoxInit object:
| Property | Description |
|---|---|
busyBoxInit.image.pullPolicy |
Deprecated.
Introduced in version: 1.0.0 Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
busyBoxInit.image.tag |
Deprecated.
Introduced in version: 1.0.0 Default value: The version label for this service's Docker image. |
busyBoxInit.image.url |
Deprecated.
Introduced in version: 1.0.0 Default value: The location of the Docker image for this service. |
cassandraDefines the hybrid service that manages the runtime data repository. This repository stores application configurations, distributed quota counters, API keys, and OAuth tokens for applications running on the gateway.
For more information, see StorageClass configuration.
The following table describes the properties of the cassandra object:
cassandra.auth.admin.passwordDefault value: iloveapis123
Required
Password for the Cassandra administrator. The admin user is used for any administrative activities performed on the Cassandra cluster.
cassandra.auth.ddl.passwordDefault value: iloveapis123
Required
Password for the Cassandra Data Definition Language (DDL) user. Used by MART for any of the data definition tasks like keyspace creation, update, and deletion.
cassandra.auth.default.passwordDefault value: iloveapis123
Required
The password for the default Cassandra user created when Authentication is enabled. This password must be reset when configuring Cassandra authentication. See Configuring TLS for Cassandra.
cassandra.auth.dml.passwordDefault value: iloveapis123
Required
Password for the Cassandra Data Manipulation Language (DML) user. The DML user is used by the client communication to read and write data to Cassandra.
cassandra.auth.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
cassandra.auth.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
cassandra.auth.image.urlDefault value: google/apigee-hybrid-cassandra-client
The location of the Docker image for this service.
cassandra.auth.secretDefault value: None
The name of a file stored in a Kubernetes secret that contains the TLS certificate and private key. You must create the secret using the TLS certificate and key data as its input.
See also:
cassandra.backup.cloudProviderDefault value: GCP
Required if backup is enabled.
Cloud provider for backup storage.
cassandra.backup.dbStorageBucketDefault value: None
Required if backup is enabled.
Cloud storage bucket for the backup data.
cassandra.backup.enabledDefault value: false
Data backup is not enabled by default. To enable, set to true.
cassandra.backup.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
cassandra.backup.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
cassandra.backup.image.urlDefault value: google/apigee-cassandra-backup-utility
The location of the Docker image for this service.
cassandra.backup.scheduleDefault value: 0 2 * * *
The schedule for the cron job.
cassandra.backup.serviceAccountPathDefault value: None
One of either backup.serviceAccountPath or
backup.serviceAccountSecretRef is required
if backup is enabled.
Path to Google Service Account key file with Storage Object Admin role.
cassandra.backup.serviceAccountSecretRefDefault value: None
One of either backup.serviceAccountPath or
backup.serviceAccountSecretRef is required
if backup is enabled.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Storage Object Admin role as its input.
cassandra.clusterNameDefault value: apigeecluster
Specifies the name of the Cassandra cluster.
cassandra.datacenterDefault value: dc-1
Specifies the datacenter of the Cassandra node.
cassandra.dnsPolicyDefault value: None
When you set hostNetwork to true, the DNS policy is set to
ClusterFirstWithHostNet for you.
cassandra.externalSeedHostDefault value: None
Hostname or IP of a Cassandra cluster node. If not set, the Kubernetes local service is used.
cassandra.heapNewSizeDefault value: 100M
The amount of JVM system memory allocated to newer objects, in megabytes.
cassandra.hostNetworkDefault value: false
Set this property to true for Anthos installations. When true,
DNS policy is automatically set to ClusterFirstWithHostNet.
cassandra.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
cassandra.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
cassandra.image.urlDefault value: google/apigee-hybrid-cassandra
The location of the Docker image for this service.
cassandra.maxHeapSizeDefault value: 512M
The upper limit of JVM system memory available fo Cassandra operations, in megabytes.
cassandra.multiRegionSeedHostDefault value: None
IP address of an existing Cassandra cluster used to expand the existing cluster to a new region. See Configure the multi-region seed host.
cassandra.nodeSelector.keyDefault value: None
Required
Node selector label key used to target dedicated Kubernetes nodes for cassandra data services.
cassandra.nodeSelector.valueDefault value: None
Optional node selector label value used to target dedicated Kubernetes nodes for
cassandra data services and override the nodeSelector.apigeeData settings.
See nodeSelector.
cassandra.portDefault value: 9042
Port number used to connect to cassandra.
cassandra.rackDefault value: ra-1
Specifies the rack of the Cassandra node.
cassandra.readinessProbe.failureThresholdDefault value: 2
The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1.
cassandra.readinessProbe.initialDelaySecondsDefault value: 0
The number of seconds after a container is started before a readiness probe is initiated.
cassandra.readinessProbe.periodSecondsDefault value: 10
Determines how often to perform a readiness probe, in seconds. The minimum value is 1.
cassandra.readinessProbe.successThresholdDefault value: 1
The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1.
cassandra.readinessProbe.timeoutSecondsDefault value: 5
The number of seconds after which a liveness probe times out. The minimum value is 1.
cassandra.replicaCountDefault value: 1
Cassandra is a replicated database. This property specifies the number of Cassandra nodes employed as a StatefulSet.
cassandra.resources.requests.cpuDefault value: 500m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
cassandra.resources.requests.memoryDefault value: 1Gi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
cassandra.restore.cloudProviderDefault value: GCP
Required if restore is enabled.
Cloud provider for backup storage.
cassandra.restore.dbStorageBucketDefault value: None
Required if restore is enabled.
Cloud storage bucket for the backup data to restore.
cassandra.restore.enabledDefault value: false
cassandra.restore.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
cassandra.restore.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
cassandra.restore.image.urlDefault value: google/apigee-cassandra-backup-utility
The location of the Docker image for this service.
cassandra.restore.serviceAccountPathDefault value: None
One of either restore.serviceAccountPath or
restore.serviceAccountSecretRef is required if restore is enabled.
Path to Google Service Account key file with Storage Object Admin role.
cassandra.restore.serviceAccountSecretRefDefault value: None
One of either restore.serviceAccountPath or restore.serviceAccountSecretRef is required if restore is enabled.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Storage Object Admin role as its input.
cassandra.restore.snapshotTimestampDefault value: None
Required if restore is enabled.
Timestamp of the backup that should be restored.
cassandra.restore.userDefault value: admin account
Cassandra username used for schema backup restoration. If not specified, the admin user will be used.
cassandra.sslCertPathDefault value: None
The path on your system to a TLS certificate file.
Note: For each configured environment, the Common Name (CN) in the cert must match the domain in thehostAliases[] property. For example, if the CN is
*.example.com, the hostAliases[] could be foo.example.com
or bar.example.com.
cassandra.sslKeyPathDefault value: None
The path on your system to the TLS private key file.
cassandra.sslRootCAPathDefault value: None
The certificate chain to the root CA (certificate authority).
cassandra.storage.capacityDefault value: 50Gi
Required if storage.storageClass is specified
Specifies the disk size required, in mebibytes.
cassandra.storage.storageClassDefault value: None
Specifies the class of on-prem storage being used.
cassandra.terminationGracePeriodSecondsDefault value: 300
The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully.
certmanagercert-manager is a certificate manager for Kubernetes implementations used by Apigee. See Welcome to cert-manager.
The following table describes the properties of the certmanager object:
| Property | Description |
|---|---|
certmanager.image.tag |
Introduced in version: 1.2.0
Default value: The version label for this service's Docker image. |
certmanager.image.url |
Introduced in version: 1.2.0
Default value: The location of the Docker image for this service. |
certmanagercainjectorThe cert-manager CA injector is a cert-manager process responsible for injecting the CA bundle into the cert-manager Webhook process. See CA injector in the cert-manager documentation.
The following table describes the properties of the certmanagercainjector object:
| Property | Description |
|---|---|
certmanagercainjector.image.tag |
Introduced in version: 1.2.0
Default value: The version label for this service's Docker image. |
certmanagercainjector.image.url |
Introduced in version: 1.2.0
Default value: The location of the Docker image for this service. |
certmanagerwebhookThe cert-manager Webhook is a process that provides dynamic admission control over cert-manager resources. See Webhook in the cert-manager documentation.
The following table describes the properties of the certmanagerwebhook object:
| Property | Description |
|---|---|
certmanagerwebhook.image.tag |
Introduced in version: 1.2.0
Default value: The version label for this service's Docker image. |
certmanagerwebhook.image.url |
Introduced in version: 1.2.0
Default value: The location of the Docker image for this service. |
connectAgentApigee Connect allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet.
See Apigee Connect.
The following table describes the properties of the connectAgent object:
| Property | Description |
|---|---|
connectAgent.enabled |
Introduced in version: 1.2.0
Default value: Is this installation using Apigee Connect instead of Istio ingress for mart? True or False. See Apigee Connect. |
connectAgent.server |
Introduced in version: 1.2.0
Default value: The location of the server and port for this service. |
connectAgent.logLevel |
Introduced in version: 1.2.0
Default value: The level of log reporting. Values can be:
|
connectAgent.image.pullPolicy |
Introduced in version: 1.2.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
connectAgent.image.tag |
Introduced in version: 1.2.0
Default value: The version label for this service's Docker image. |
connectAgent.image.url |
Introduced in version: 1.2.0
Default value: The location of the Docker image for this service. Check the |
connectAgent.replicaCountMax |
Introduced in version: 1.2.0
Default value: Maximum number of replicas available for autoscaling. |
connectAgent.replicaCountMin |
Introduced in version: 1.2.0
Default value: Minimum number of replicas available for autoscaling. In production, you may want to increase |
connectAgent.resources.requests.cpu |
Introduced in version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
connectAgent.resources.requests.memory |
Introduced in version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes. |
connectAgent.targetCPUUtilizationPercentage |
Introduced in version: 1.2.0
Default value: Target CPU utilization for the Apigee Connect agent on the pod. The
value of this field enables Apigee Connect to auto-scale when CPU utilization
reaches this value, up to |
connectAgent.terminationGracePeriodSeconds |
Introduced in version: 1.2.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
defaultsThe Default encryption keys for the Apigee hybrid installation.
The following table describes the properties of the defaults object:
| Property | Description |
|---|---|
defaults.org.kmsEncryptionKey |
Introduced in version: 1.0.0
Default value: Default encryption key for the org in KMS. |
defaults.org.kvmEncryptionKey |
Introduced in version: 1.0.0
Default value: Default encryption key for the org in KVM. |
defaults.env.kmsEncryptionKey |
Introduced in version: 1.0.0
Default value: Default encryption key for the environment (env) in KMS. |
defaults.env.kvmEncryptionKey |
Introduced in version: 1.0.0
Default value: Default encryption key for the environment (env) in KVM. |
defaults.env.cacheEncryptionKey |
Introduced in version: 1.0.0
Default value: Default cache encryption key for the environment (env). |
envsDefines an array of environments to which you can deploy your API proxies. Each environment provides an isolated context or sandbox for running API proxies.
Your hybrid-enabled organization must have at least one environment.
For more information, see About environments.
The following table describes the properties of the envs object:
envs[].cacheEncryptionKeyDefault value: None
One of either cacheEncryptionKey, cacheEncryptionPath,
or cacheEncryptionSecret is required.
A base64-encoded encryption key. See Data encryption.
envs[].cacheEncryptionPathDefault value: None
One of either cacheEncryptionKey, cacheEncryptionPath,
or cacheEncryptionSecret is required.
The path to a file containing a base64-encoded encryption key. See Data encryption.
envs[].cacheEncryptionSecret.keyDefault value: None
One of either cacheEncryptionKey, cacheEncryptionPath,
or cacheEncryptionSecret is required.
The key of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption.
envs[].cacheEncryptionSecret.nameDefault value: None
One of either cacheEncryptionKey, or cacheEncryptionPath,
or cacheEncryptionSecret is required.
The name of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption.
envs[].hostAliasDefault value: None
Deprecated: use hostAliases[] instead.
envs[].hostAliases[]Default value: None
The host aliases pointing to the environment. Each host alias must be a fully-qualified domain name.
envs[].httpProxy.hostDefault value: None
Specifies the host name or IP address where the HTTP proxy is running.
List httpProxy properties in the order scheme, host,
port. For example:
envs:
- name: test
httpProxy:
scheme: HTTP
host: 10.12.0.47
port: 3128
...See also: Configure forward proxying for API proxies.
envs[].httpProxy.portDefault value: None
Specifies the port on which the HTTP proxy is running. If this property is omitted, by
default it uses port 80 for HTTP and port 443 for HTTPS.
envs[].httpProxy.schemeDefault value: None
Specifies the type of the HTTP proxy as HTTP or HTTPS. By default, it uses HTTP.
envs[].httpProxy.usernameDefault value: None
If the HTTP proxy requires basic authentication, then use this property to provide a username.
envs[].httpProxy.passwordDefault value: None
If the HTTP proxy requires basic authentication, then use this property to provide a password.
envs[].kmsEncryptionKeyDefault value: None
One of either kmsEncryptionKey, kmsEncryptionPath,
or kmsEncryptionSecret is required.
Local file system path for the Apigee KMS data's encryption key.
envs[].kmsEncryptionPathDefault value: None
One of either kmsEncryptionKey, kmsEncryptionPath,
or kmsEncryptionSecret is required.
The path to a file containing a base64-encoded encryption key. See Data encryption.
envs[].kmsEncryptionSecret.keyDefault value: None
kmsEncryptionKey, kmsEncryptionPath, or
kmsEncryptionSecret is required.
The key of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption.
envs[].kmsEncryptionSecret.nameDefault value: None
One of either kmsEncryptionKey, kmsEncryptionPath,
or kmsEncryptionSecret is required.
The name of a Kubernetes secret containing a base64-encoded encryption key. See Data encryption.
envs[].nameDefault value: None
Required
Apigee environment name to be synchronized.
envs[].pollIntervalDefault value: None
Interval used for polling organization and environment synchronization changes, in seconds.
envs[].portDefault value: None
TCP port number for HTTPS traffic.
envs[].serviceAccountPaths.synchronizerDefault value: None
Path to file on local system to a Google Service Account key with the Apigee Synchronizer Manager role.
envs[].serviceAccountPaths.udcaDefault value: None
Path to file on local system to a Google Service Account key with the Apigee Analytic Agent role.
envs[].serviceAccountSecretRefs.synchronizerDefault value: None
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Apigee Synchronizer Manager role as its input.
envs[].serviceAccountSecretRefs.udcaDefault value: None
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Apigee Analytic Agent role as its input.
envs[].sslCertPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The path on your system to a TLS certificate file.
Note: For each configured environment, the Common Name (CN) in the cert must match the domain in thehostAliases[] property. For example, if the CN is
*.example.com, the hostAliases[] could be foo.example.com
or bar.example.com.
envs[].sslKeyPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The path on your system to the TLS private key file.
envs[].sslSecretDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The name of a file stored in a Kubernetes secret that contains the TLS certificate and private key. You must create the secret using the TLS certificate and key data as its input.
See also:
gcpIdentifies the Google Cloud project ID and region where the apigee-logger
and the apigee-metrics push their data.
The following table describes the properties of the gcp object:
| Property | Description |
|---|---|
gcp.region |
Introduced in version: 1.2.0
Default value: None Required Identifies the Google Cloud region
where the |
gcp.projectID |
Introduced in version: 1.2.0
Default value: None Required Identifies the Google Cloud project where |
gcp.projectIDRuntime |
Introduced in version: 1.2.0
Default value: None Identifies the runtime Kubernetes cluster project. The |
httpProxyhttpProxy provides configuration parameters for an HTTP forward proxy server. When
configured in overrides.yaml, all internet communication for the MART, Synchronizer, and UDCA
components pass through the proxy server.
See also: logger, mart, metrics, synchronizer, and udca.
The following table describes the properties of the httpProxy object:
| Property | Description |
|---|---|
httpProxy.host |
Introduced in version: 1.1.1
Default value: None The hostname of the HTTP Proxy. |
httpProxy.port |
Introduced in version: 1.1.1
Default value: None The port of the HTTP Proxy. |
httpProxy.scheme |
Introduced in version: 1.1.1
Default value: The scheme used by the proxy. Values can be |
k8sClusterIdentifies Kubernetes cluster where the hybrid runtime is installed.
The following table describes the properties of the k8sCluster object:
| Property | Description |
|---|---|
k8sCluster.name |
Introduced in version: 1.2.0
Default value: None The name of the Kubernetes cluster where the hybrid runtime is installed. |
k8sCluster.region |
Introduced in version: 1.2.0
Default value: None Identifies the Google Cloud region in which your Kubernetes cluster was created. |
kubeRBACProxyIdentifies where Apigee should look for Kubernetes role-based access controls.
The following table describes the properties of the kubeRBACProxy object:
| Property | Description |
|---|---|
kubeRBACProxy.image.pullPolicy |
Introduced in version: 1.2.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
kubeRBACProxy.image.tag |
Introduced in version: v0.4.1
Default value: The version label for this service's Docker image. |
kubeRBACProxy.image.url |
Introduced in version: 1.2.0
Default value: The location of the Docker image for this service. If you do not want to use the Google Docker Hub, download the images and use the address where your docker images are hosted internally. |
loggerDefines the service that manages operational logs. All of the Apigee hybrid services that run in your Kubernetes cluster output this information.
For more information, see Logging overview.
The following table describes the properties of the logger object:
logger.enabledDefault value: false
Enables or disables logging on the cluster. For non-GKE set to true, for
Anthos or GKE set to false.
logger.fluentd.buffer_chunk_limitDefault value: 512k
The maximum size of a buffer chunk allowed, in kilobytes. Chunks exceeding the limit will be flushed to the output queue automatically.
logger.fluentd.buffer_queue_limitDefault value: 6
The maximum length of the output queue. The default limit is 256 chunks.
logger.fluentd.flush_intervalDefault value: 5s
The interval to wait before invoking the next buffer flush, in seconds.
logger.fluentd.max_retry_waitDefault value: 30
The maximum interval between write retries, in seconds.
logger.fluentd.num_threadsDefault value: 2
The number of threads used to flush the buffer. The default is 1.
logger.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
logger.image.tagDefault value: 1.6.8
The version label for this service's Docker image.
logger.image.urlDefault value: google/apigee-stackdriver-logging-agent
The location of the Docker image for this service.
logger.livenessProbe.failureThresholdDefault value: 3
The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.
logger.livenessProbe.initialDelaySecondsDefault value: 0
The number of seconds after a container is started before a liveness probe is initiated.
logger.livenessProbe.periodSecondsDefault value: 60
Determines how often to perform a liveness probe, in seconds. The minimum value is 1.
logger.livenessProbe.successThresholdDefault value: 1
The minimum consecutive successes needed for a liveness probe to be considered successful after a failure. The minimum value is 1.
logger.livenessProbe.timeoutSecondsDefault value: 1
The number of seconds after which a liveness probe times out. The minimum value is 1.
logger.nodeSelector.keyDefault value: apigee.com/apigee-logger-enabled
Required
Node selector label key used to target dedicated Kubernetes nodes for logger runtime services.
logger.nodeSelector.valueDefault value: true
Required
Node selector label value used to target dedicated Kubernetes nodes for logger runtime services.
logger.proxyURLDefault value: None
URL of the customer's proxy server.
logger.resources.limits.memoryDefault value: 500Mi
logger.resources.limits.cpuDefault value: 200m
The CPU limit for the resource in a Kubernetes container, in millicores.
logger.resources.requests.cpuDefault value: 100m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
logger.resources.requests.memoryDefault value: 250Mi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
logger.serviceAccountPathDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
Path to Google Service Account key file with Logs Writer role.
logger.serviceAccountSecretRefDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Logs Writer role as its input.
logger.terminationGracePeriodSecondsDefault value: 30
The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully.
martDefines the MART (Management API for RunTime data) service, which acts as an API provider for public Apigee APIs so that you can access and manage runtime data entities such as KMS (API Keys and OAuth tokens), KVM, Quota, and API products.
The following table describes the properties of the mart object:
mart.hostAliasDefault value: None
The host alias pointing to the MART object. You can set this property to * or
a fully-qualified domain name.
mart.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
mart.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
mart.image.urlDefault value: google/apigee-mart-server
The location of the Docker image for this service. Check the values.yaml
file for the specific URL.You can override this.
mart.initCheckCF.resources.requests.cpuDefault value: 10m
The amount of CPU resources allocated to the initialization check of the Cloud Foundry process.
mart.livenessProbe.failureThresholdDefault value: 12
The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.
mart.livenessProbe.initialDelaySecondsDefault value: 15
The number of seconds after a container is started before a liveness probe is initiated.
mart.livenessProbe.periodSecondsDefault value: 5
Determines how often to perform a liveness probe, in seconds. The minimum value is 1.
mart.livenessProbe.timeoutSecondsDefault value: 1
The number of seconds after which a liveness probe times out. The minimum value is 1.
mart.metricsURLDefault value: /v1/server/metrics
mart.nodeSelector.keyDefault value: None
Optional node selector label key for targeting Kubernetes nodes for mart
runtime services. If you do not specify a key for mart.nodeselector, then your runtime uses
the node specified in the nodeSelector object.
mart.nodeSelector.valueDefault value: None
Optional node selector label value for targeting Kubernetes nodes for mart
runtime services. See also the nodeSelector object.
mart.readinessProbe.failureThresholdDefault value: 2
The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1.
mart.readinessProbe.initialDelaySecondsDefault value: 15
The number of seconds after a container is started before a readiness probe is initiated.
mart.readinessProbe.periodSecondsDefault value: 5
Determines how often to perform a readiness probe, in seconds. The minimum value is 1.
mart.readinessProbe.successThresholdDefault value: 1
The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1.
mart.readinessProbe.timeoutSecondsDefault value: 1
The number of seconds after which a liveness probe times out. The minimum value is 1.
mart.replicaCountMaxDefault value: 5
Maximum number of replicas available for autoscaling.
mart.replicaCountMinDefault value: 1
Minimum number of replicas available for autoscaling.
mart.resources.requests.cpuDefault value: 500m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
mart.resources.requests.memoryDefault value: 512Mi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
mart.serviceAccountPathDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef
is required.
Path to Google Service Account key file with no role.
mart.serviceAccountSecretRefDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef
is required.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with no role as its input.
mart.sslCertPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
Local file system path for loading and encoding the SSL cert to a Secret.
mart.sslKeyPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
Local file system path for loading and encoding the SSL key to a Secret.
mart.sslSecretDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The name of a file stored in a Kubernetes secret that contains the TLS certificate and private key. You must create the secret using the TLS certificate and key data as its input.
See also:
mart.targetCPUUtilizationPercentageDefault value: 75
Target CPU utilization for the MART process on the pod. The
value of this field enables MART to auto-scale when CPU utilization
reaches this value, up to replicaCountMax.
mart.terminationGracePeriodSecondsDefault value: 30
The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully.
metricsDefines the service that collects operations metrics. You can use metrics data to monitor the health of Hybrid services, to set up alerts, and so on.
For more information, see Metrics collection overview.
The following table describes the properties of the metrics object:
metrics.enabledDefault value: true
Enables Apigee metrics. Set to true to enable metrics. Set to
false to disable metrics.
metrics.nodeSelector.keyDefault value: None
Required
Node selector label key used to target dedicated Kubernetes nodes for metrics runtime services.
metrics.nodeSelector.valueDefault value: None
Required
Node selector label value used to target dedicated Kubernetes nodes for metrics runtime services.
metrics.prometheus.args.storage_tsdb_retentionDefault value: 48h
The amount of time Prometheus waits before removing old data from local storage, in hours.
metrics.prometheus.containerPortDefault value: 9090
The port to connect to the Prometheus metrics service.
metrics.prometheus.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
metrics.prometheus.image.tagDefault value: v2.9.2
The version label for this service's Docker image.
metrics.prometheus.image.urlDefault value: google/apigee-prom-prometheus
The location of the Docker image for this service.
metrics.prometheus.livenessProbe.failureThresholdDefault value: 6
The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.
metrics.prometheus.livenessProbe.periodSecondsDefault value: 5
Determines how often to perform a liveness probe, in seconds. The minimum value is 1.
metrics.prometheus.livenessProbe.timeoutSecondsDefault value: 3
The number of seconds after which a liveness probe times out. The minimum value is 1.
metrics.prometheus.readinessProbe.failureThresholdDefault value: 120
The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1.
metrics.prometheus.readinessProbe.periodSecondsDefault value: 5
Determines how often to perform a readiness probe, in seconds. The minimum value is 1.
metrics.prometheus.readinessProbe.timeoutSecondsDefault value: 3
The number of seconds after which a liveness probe times out. The minimum value is 1.
prometheus.sslCertPathDefault value: None
Required
Path to the SSL cert for the Prometheus metrics collection process. Prometheus is a tool Apigee can use for collecting and processing metrics.
See:
prometheus.sslKeyPathDefault value: None
Required
Path to the SSL Key for the Prometheus metrics collection process. Prometheus is a tool Apigee can use for collecting and processing metrics.
See:
metrics.proxyURLDefault value: None
URL for the metrics process sidecar proxy in the Kubernetes cluster.
metrics.resources.limits.cpuDefault value: 250m
metrics.resources.limits.memoryDefault value: 256Mi
The memory limit for the resource in a Kubernetes container, in mebibytes.
metrics.resources.requests.cpuDefault value: 250m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
metrics.resources.requests.memoryDefault value: 256Mi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
metrics.sdSidecar.containerPortDefault value: 9091
The port for connecting to the Cloud Operations metrics service.
metrics.sdSidecar.image.pullPolicyDefault value: IfNotPresent
Determines when Kubelet pulls this service's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it
already existsAlways: Always pull the policy, even if it already exists
For more information, see Updating images.
metrics.sdSidecar.image.tagDefault value: release-0.4.0
The version label for this service's Docker image.
metrics.sdSidecar.image.urlDefault value: google/apigee-stackdriver-prometheus-sidecar
The location of the Docker image for this service.
metrics.serviceAccountPathDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
Path to Google Service Account key file with Monitoring Metric Writer role.
metrics.serviceAccountSecretRefDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Monitoring Metric Writer role as its input.
metrics.terminationGracePeriodSecondsDefault value: 300
The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully.
nodeSelectorThe nodeSelector object defines the node for your Apigee instance. Behind the scenes when
apigeectl runs, it is taking care to map the label key/value for
apigeeRuntime and apigeeData to the individual Istio and MART components.
You can override this for individual objects in the mart:nodeSelector property.
The following table describes the properties of the nodeSelector object:
| Property | Description |
|---|---|
nodeSelector.apigeeData.key |
Introduced in version: 1.0.0
Default value: ApigeeData is the node for the Cassandra database. Node selector label key for targeting Kubernetes nodes for working with Apigee services data. |
nodeSelector.apigeeData.value |
Introduced in version: 1.0.0
Default value: apigee-data is the node for the Cassandra database. Node selector label value for targeting Kubernetes nodes for working with Apigee services data. |
nodeSelector.apigeeRuntime.key |
Introduced in version: 1.0.0
Default value: Apigee Runtime is the node for the runtime environment for the project. Node selector label key for targeting Kubernetes nodes for Apigee runtime services. |
nodeSelector.apigeeRuntime.value |
Introduced in version: 1.0.0
Default value:
|
nodeSelector.requiredForScheduling |
Introduced in version: 1.0.0
Default value: false The
For production, |
runtimeThe following table describes the properties of the runtime object:
| Property | Description |
|---|---|
runtime.image.pullPolicy |
Introduced in version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
runtime.image.tag |
Introduced in version: 1.0.0
Default value: The version label for this service's Docker image. |
runtime.image.url |
Introduced in version: 1.0.0
Default value: URL to your installation's image resource, for example:
The location of the Docker image for this service. |
runtime.livenessProbe.failureThreshold |
Introduced in version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
runtime.livenessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
runtime.livenessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
runtime.livenessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
runtime.nodeSelector.key |
Introduced in version: 1.0.0
Default value: None Optional Node selector label key for targeting Kubernetes nodes for |
runtime.nodeSelector.value |
Introduced in version: 1.0.0
Default value: None Node selector label value for targeting Kubernetes nodes for |
runtime.readinessProbe.failureThreshold |
Introduced in version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
runtime.readinessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
runtime.readinessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
runtime.readinessProbe.successThreshold |
Introduced in version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
runtime.readinessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
runtime.replicaCountMax |
Introduced in version: 1.0.0
Default value: Maximum number of replicas available for autoscaling. |
runtime.replicaCountMin |
Introduced in version: 1.0.0
Default value: Minimum number of replicas available for autoscaling. |
runtime.resources.requests.cpu |
Introduced in version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
runtime.resources.requests.memory |
Introduced in version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes
( |
runtime.service.type |
Introduced in version: 1.0.0
Default value: The type of service. You can set this to a service other than ClusterIP; for example,
|
runtime.targetCPUUtilizationPercentage |
Introduced in version: 1.0.0
Default value: Target CPU utilization for the runtime process on the pod. The
value of this field enables the runtime to auto-scale when CPU utilization
reaches this value, up to |
runtime.terminationGracePeriodSeconds |
Introduced in version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
synchronizerEnsures that the Message Processors are kept up to date with the latest deployed API proxy bundles. To do this, the Synchronizer polls the management plane; when a new contract is detected, the Synchronizer sends it to the runtime plane.
For more information, see Synchronizer.
The following table describes the properties of the synchronizer object:
| Property | Description |
|---|---|
synchronizer.image.pullPolicy |
Introduced in version: 1.0.0
Default value: Determines when kubelet pulls the pod's Docker image. Possible values include:
For more information, see Updating images. |
synchronizer.image.tag |
Introduced in version: 1.0.0
Default value: The version label for this service's Docker image. |
synchronizer.image.url |
Introduced in version: 1.0.0
Default value: The location of the Docker image for this service. |
synchronizer.livenessProbe.failureThreshold |
Introduced in version: 1.0.0
Default value: The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1. |
synchronizer.livenessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a liveness probe is initiated. |
synchronizer.livenessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a liveness probe, in seconds. The minimum value is 1. |
synchronizer.livenessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
synchronizer.nodeSelector.key |
Introduced in version: 1.0.0
Default value: None Required Optional node selector label key for targeting Kubernetes nodes for See nodeSelector. |
synchronizer.nodeSelector.value |
Introduced in version: 1.0.0
Default value: None Optional node selector label value used for targeting Kubernetes nodes for See nodeSelector. |
synchronizer.pollInterval |
Introduced in version: 1.0.0
Default value: The length of time that Synchronizer waits between polling operations. Synchronizer polls Apigee control plane services to detect and pull new runtime contracts. |
synchronizer.readinessProbe.failureThreshold |
Introduced in version: 1.0.0
Default value: The number of times Kubernetes will verify that readiness probes have failed before marking the pod unready. The minimum value is 1. |
synchronizer.readinessProbe.initialDelaySeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after a container is started before a readiness probe is initiated. |
synchronizer.readinessProbe.periodSeconds |
Introduced in version: 1.0.0
Default value: Determines how often to perform a readiness probe, in seconds. The minimum value is 1. |
synchronizer.readinessProbe.successThreshold |
Introduced in version: 1.0.0
Default value: The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1. |
synchronizer.readinessProbe.timeoutSeconds |
Introduced in version: 1.0.0
Default value: The number of seconds after which a liveness probe times out. The minimum value is 1. |
synchronizer.replicaCount |
Introduced in version: 1.0.0
Default value: Number of replicas for autoscaling. |
synchronizer.replicaCountMax |
Introduced in version: 1.2.0
Default value: Maximum number of replicas for autoscaling. |
synchronizer.replicaCountMin |
Introduced in version: 1.2.0
Default value: Minimum number of replicas for autoscaling. |
synchronizer.resources.requests.cpu |
Introduced in version: 1.0.0
Default value: The CPU needed for normal operation of the resource in a Kubernetes container, in millicores. |
synchronizer.resources.requests.memory |
Introduced in version: 1.0.0
Default value: The memory needed for normal operation of the resource in a Kubernetes container, in gigabytes. |
synchronizer.serviceAccountPath |
Introduced in version: 1.0.0
Default value: None One of either serviceAccountPath or serviceAccountSecretRef is required. Path to Google Service Account key file with Apigee Synchronizer Manager role. |
synchronizer.serviceAccountSecretRef |
Introduced in version: 1.2.0
Default value: None One of either serviceAccountPath or serviceAccountSecretRef is required. The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Apigee Synchronizer Manager role as its input. |
synchronizer.targetCPUUtilizationPercentage |
Introduced in version: 1.0.0
Default value:
Target CPU utilization for the Synchronizer process on the pod. The
value of this field enables Synchronizer to auto-scale when CPU utilization
reaches this value, up to |
synchronizer.terminationGracePeriodSeconds |
Introduced in version: 1.0.0
Default value: The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully. |
udca(Universal Data Collection Agent) Defines the service that runs within the data collection pod in the runtime plane. This service extracts analytics and deployment status data and sends it to the Unified Analytics Platform (UAP).
For more information, see Analytics and deployment status data collection.
The following table describes the properties of the udca object:
udca.fluentd.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
udca.fluentd.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
udca.fluentd.image.urlDefault value: google/apigee-stackdriver-logging-agent
The location of the Docker image for this service.
udca.fluentd.resource.limits.memoryDefault value: 500Mi
udca.fluentd.resource.requests.cpuDefault value: 500m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
udca.fluentd.resource.requests.memoryDefault value: 250Mi
The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.
udca.image.pullPolicyDefault value: IfNotPresent
Determines when kubelet pulls the pod's Docker image. Possible values include:
IfNotPresent: Do not pull a new image if it already exists.Always: Always pull the image, regardless of whether it exists already.For more information, see Updating images.
udca.image.tagDefault value: 1.2.0
The version label for this service's Docker image.
udca.image.urlDefault value: google/apigee-udca
The location of the Docker image for this service.
udca.jvmXmsDefault value: 256m
The starting amount of memory for the data collection pod's JVM.
udca.jvmXmxDefault value: 256m
The maximum allocation of memory for the data collection pod's JVM.
udca.livenessProbe.failureThresholdDefault value: 2
The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.
udca.livenessProbe.initialDelaySecondsDefault value: 0
The number of seconds after a container is started before a liveness probe is initiated.
udca.livenessProbe.periodSecondsDefault value: 5
Determines how often to perform a liveness probe, in seconds. The minimum value is 1.
udca.livenessProbe.timeoutSecondsDefault value: 1
The number of seconds after which a liveness probe times out. The minimum value is 1.
udca.nodeSelector.keyDefault value: None
Required
Node selector label key used to target dedicated Kubernetes nodes for udca runtime services.
udca.nodeSelector.valueDefault value: None
Required
Node selector label value used to target dedicated Kubernetes nodes for udca runtime services.
udca.pollingIntervalInSecDefault value: 1
The length of time, in seconds, that UDCA waits between polling operations. UDCA polls the data directory on the data collection pod's file system to detect new files to be uploaded.
udca.replicaCountMaxDefault value: 4
The maximum number of pods that hybrid can automatically add for the UDCA deployment. Because UDCA is implemented as a ReplicaSet, the pods are replicas.
udca.replicaCountMinDefault value: 1
The minimum number of pods for the UDCA deployment. Because UDCA is implemented as a ReplicaSet, the pods are replicas.
If the CPU usage goes above udca.targetCPUUtilizationPercentage,
then hybrid will gradually increase the number of pods, up to
udca.replicaCountMax.
udca.resources.requests.cpuDefault value: 250m
The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.
udca.revisionDefault value: v1
A static value that is populated in a label to enable canary deployments.
udca.serviceAccountPathDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
Path to Google Service Account key file with Apigee Analytics Agent role.
udca.serviceAccountSecretRefDefault value: None
One of either serviceAccountPath or serviceAccountSecretRef is required.
The name of a Kubernetes secret. You must create the secret using a Google Service Account key with the Apigee Analytics Agent role as its input.
udca.targetCPUUtilizationPercentageDefault value: 75
The threshold of CPU usage for scaling the number of pods in the ReplicaSet, as a percentage of total available CPU resources. Hybrid uses the combined utilization of all containers in the data collection pod (both fluentd and UDCA) to calculate the current utilization.
When CPU usage goes above this value, then hybrid will gradually
increase the number of pods in the ReplicaSet, up to
udca.replicaCountMax.
udca.terminationGracePeriodSecondsDefault value: 600
The time between a request for pod deletion and when the pod is killed, in seconds. During this period, any prestop hooks will be executed and any running process should terminate gracefully.
virtualhosts
The virtualhosts property is a required configuration property.
Virtual hosts allow Apigee hybrid to handle API requests to a
specified environment group..
For more information, see Configure virtual hosts.
The following table describes the properties of the virtualhosts object:
virtualhosts[].additionalGateways Default value: None
A list of Istio Gateways to route traffic to.
virtualhosts[].nameDefault value: None
Required
The name of the virtual host.
virtualhosts[].hostAliases[]Default value: None
Required
One or more DNS names for your server. For example, foo-test.mydomain.com.
If you employ multiple host aliases in a virtual host, each host alias must be unique.
For example, foo-test.mydomain.com and foo-prod.mydomain.com.
If you create multiple virtual host definitions, you must have unique host aliases in each one. In other words, two virtual host definitions cannot include the same host alias domain name.
virtualhosts[].maxTLSProtocolVersionDefault value: None
The maximum version of the TLS protocol Envoy can select. Envoy automatically uses the
optimal TLS protocol version between virtualhosts[].minTLSProtocolVersion and
virtualhosts[].maxTLSProtocolVersion.
The value must be in the form of a number. For example:
virtualhosts:
- name: default
maxTLSProtocolVersion: "1.3"
Where the number represents the TLS version number in the form #.#. In
the example above, 1.3 represents the Istio TLS version TLSV1_3.
See also
ServerTLSSettings.TLSProtocol
in the Istio documentation.
virtualhosts[].minTLSProtocolVersionDefault value: None
The minimum version of the TLS protocol Envoy can select. Envoy automatically uses the
optimal TLS protocol version between virtualhosts[].minTLSProtocolVersion and
virtualhosts[].maxTLSProtocolVersion.
The value must be in the form of a number. For example:
virtualhosts:
- name: default
minTLSProtocolVersion: "1.2"
Where the number represents the TLS version number in the form #.#. In
the example above, 1.2 represents the Istio TLS version TLSV1_2.
See also
ServerTLSSettings.TLSProtocol
in the Istio documentation.
virtualhosts[].selectorDefault value: app: istio-ingressgateway
Required
A key-value selector-value pair for pointing to different ingress selectors.
virtualhosts[].sslCertPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The path on your system to a TLS certificate file.
Note: For each configured environment, the Common Name (CN) in the cert must match the domain in thehostAliases[] property. For example, if the CN is
*.example.com, the hostAliases[] could be foo.example.com
or bar.example.com.
virtualhosts[].sslKeyPathDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The path on your system to the TLS private key file.
virtualhosts[].sslSecretDefault value: None
Either sslCertPath/sslKeyPath or sslSecret
is required.
The name of a file stored in a Kubernetes secret that contains the TLS certificate and private key. You must create the secret using the TLS certificate and key data as its input.
See also:
watcher
The watcher property is a required configuration property.
The watcher is a process that watches for configuration changes and triggers their application to
the runtime plane..
The following table describes the properties of the watcher object:
| Property | Description |
|---|---|
watcher.replicaCountMax |
Introduced in version: 1.0.0
Default value: The maximum number of watcher replicas. This should be kept at
|
watcher.replicaCountMin |
Introduced in version: 1.0.0
Default value: The minimum number of watcher replicas. |
watcher.serviceAccountPath |
Introduced in version: 1.0.0
Default value: None Required. Path to Google Service Account key file with Apigee Runtime Agent role. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-07-23 UTC.