Configuration property reference

You are currently viewing version 1.1 of the Apigee hybrid documentation.This version is end of life. You should upgrade to a newer version. For more information, seeSupported versions.

This section lists all of the configuration propertiesthat you can use to customize the runtime plane of your Apigee hybrid deployment.

About configuration properties

You can override many configuration properties, if needed, by adding them tohybrid_root_dir/overrides.yaml.

TIP: Apigee provides a small set of sample configurations that you can use for further guidance. SeeSample override configurations.

For example, to change the replica count minimum and maximum for the MART service, you could add this stanza tooverrides.yaml:

mart:    replicaCountMin: 3    replicaCountMax: 6

You can also find these config properties and their default settings inhybrid_root_install/1.0.0/values.yaml

For more information, seeManage runtime plane components.

Additionally, if you are configuring an Anthos-based deployment seeStep 3: Configure the GKE on-prem user cluster for information on setting these properties for Anthos.

Top-level properties

The following table describes the top-level properties in theoverrides.yaml file. These are properties that do not belong to another object, and apply at the org or environment level:

PropertyDescription
contractProviderVersion: 1.0.0

Default value: https://apigee.googleapis.com

Defines the API path for all APIs in your installation.

gcpProjectIDVersion: 1.0.0

Default value:none

Required

ID of yourGoogle Cloud project. Works withk8sClusterName andgcpRegion to identify the project and determine where theapigee-logger and theapigee-metrics push their data.

gcpRegionVersion: 1.0.0

Default value:us-central1

Required

The closet GCP region or zone of your Kubernetes cluster. Works withgcpProjectID andk8sClusterName to identify the project and determine where theapigee-logger and theapigee-metrics push their data.

imagePullSecrets.nameVersion: 1.0.0

Default value: none

Kubernetes secret name configured as docker-registry type; used to pull images from private repo.

k8sClusterName

Type:

Version: 1.0.0

Default value: none

Name of the Kubernetes (K8S) procluster where your hybrid project is running. Works withgcpProjectID andgcpRegion to identify the project and determine where theapigee-logger and theapigee-metrics push their data.

namespaceVersion: 1.0.0

Default value:apigee

The namespace of your Kubernetes cluster where the Apigee components will be installed.

orgRequired

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 wiht your org name once you have created it.

revisionVersion: 1.0.0

Default value:1.0.0

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 PodTemplateSpec change, therevision override property must also be changed in the customer's override.yaml. This is required for the underlying KubernetesApigeeDeployment (AD) controller to conduct a safe rolling update of from the previous version to the new version. You can use any text value, eg: "blue", "a", "1.0.0"

When therevision property is changed and applied, a rolling update will occur for all components

Changes to properties of the following objects require an update torevision:

For more information, seeRolling updates.

validateServiceAccountsVersion: 1.0.0

Default value: true

Enables strict validation of service account permissions. This uses Cloud Resource Manager API method "testIamPermissions" to verify that the provided service account has the required permissions. In the case of service accounts for an Apigee Org, the project ID check is the one mapped to the Organization. For Metrics and Logger, the project checked is based on the "gcpProjectID" overrides.yaml configuration.

See alsogcpProjectID

adah

The Apigee Deployment Admissionhook (ADAH) is responsible for validating the configuration which the user provides for the apigee-deployment-controller. It runs in a Kubernetes cluster, and is responsible for validating the incoming create/update/delete requests from the Apigee-deployment Controller. See also:

NOTE: This is a new feature in Apigee hybrid.

The following table describes the properties of the Apigee Deployment Controlleradah object:

PropertyDescription
adah.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

adah.image.tagVersion: 1.0.0

Default value:1.0.0

The location of the Docker image for this service.

adah.image.urlVersion: 1.0.0

Default value:"us.gcr.io/google.com/edge-ci/release/eda/apigee-deployment-admissionhook/master/admissionhook"

The location of the Docker image for this service.

adc

TheApigee Deployment Controller (ADC) is a process that manages deployment of Apigee in Kubernetes clusters. It is a Kubernetes custom controller that creates and updates low level Kubernetes and Istio resources that are required to deploy and maintain theApigeeDeployment (AD).

See alsoadah (Apigee Deployment Admissionhook)

NOTE: This is a new feature in Apigee hybrid.

The following table describes the properties of the apigee-deployment-controlleradc object:

PropertyDescription
adc.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

adc.image.tagVersion: 1.0.0

Default value:1.0.0

The location of the Docker image for this service.

adc.image.urlVersion: 1.0.0

Default value:"us.gcr.io/google.com/edge-ci/release/eda/apigee-deployment-controller/master/controller"

The location of the Docker image for this service.

adc.resources.limits.cpuVersion: 1.0.0

Default value:250m

The CPU limit for the resource in a Kubernetes container, in millicores.

adc.resources.limits.memoryVersion: 1.0.0

Default value:256Mi

The memory limit for the resource in a Kubernetes container, in mebibytes.

adc.resources.requests.cpuVersion: 1.0.0

Default value:250m

The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

adc.resources.requests.memoryVersion: 1.0.0

Default value:256Mi

The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

authz

The following table describes the properties of theauthz object:

PropertyDescription
authz.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

authz.image.tagVersion: 1.0.0

Default value:1.0.0

The version label for this service's Docker image.

authz.image.urlVersion: 1.0.0

Default value:"us.gcr.io/google.com/edge-ci/integration/featureplatform/apigee-authn-authz/master"

The location of the Docker image for this service.

authz.livenessProbe.failureThresholdVersion: 1.0.0

Default value:2

The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.

authz.livenessProbe.initialDelaySecondsVersion: 1.0.0

Default value:0

The number of seconds after a container is started before a liveness probe is initiated.

authz.livenessProbe.periodSecondsVersion: 1.0.0

Default value:5

Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

authz.livenessProbe.timeoutSecondsVersion: 1.0.0

Default value:1

The number of seconds after which a liveness probe times out. The minimum value is 1.

authz.readinessProbe.failureThresholdVersion: Beta2

Default value:2

The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

authz.readinessProbe.initialDelaySecondsVersion: 1.0.0

Default value:0

The number of seconds after a container is started before a readiness probe is initiated.

authz.readinessProbe.periodSecondsVersion: 1.0.0

Default value:5

Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

authz.readinessProbe.successThresholdVersion: 1.0.0

Default value:1

The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1.

authz.readinessProbe.timeoutSecondsVersion: 1.0.0

Default value:1

The number of seconds after which a liveness probe times out. The minimum value is 1.

authz.resources.requests.cpuVersion: 1.0.0

Default value:50m

The ammount of CPU resources to allocate for authentication requests.

authz.resources.requests.memoryVersion: 1.0.0

Default value:128Mi

The ammount of memory resources to allocate for authentication requests.

authz.serviceAccountPathVersion: 1.0.0

Default value: none

Required

Path to Google Service Account key file with "Apigee Read Only Admin" role.

busyBoxInit

The following table describes the properties of thebusyBoxInit object:

PropertyDescription
busyBoxInit.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

busyBoxInit.image.tagVersion: 1.0.0

Default value:"1.0.0"

The version label for this service's Docker image.

busyBoxInit.image.urlVersion: 1.0.0

Default value:"busybox"

The location of the Docker image for this service.

cassandra

Defines the hybrid service that manages the runtime data repository. This repository storesapplication configurations, distributed quota counters, API keys, and OAuth tokens for applicationsrunning on the gateway.

For more information, seeConfigure Cassandra.

The following table describes the properties of thecassandra object:

PropertyDescription
cassandra.auth.admin.passwordVersion: 1.0.0

Default 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.passwordVersion: 1.0.0

Default 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.passwordVersion: 1.0.0

Default value:"iloveapis123"

Required

The password for the default Cassandra user created when Authentication is enabled. This password must be reset when configuring Cassandra authentication. SeeConfiguring TLS for Cassandra.

cassandra.auth.dml.passwordVersion: 1.0.0

Default 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.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

cassandra.auth.image.tagVersion: 1.0.0

Default value:1.0.0

The version label for this service's Docker image.

cassandra.auth.image.urlVersion: 1.0.0

Default value:"google/apigee-cassandra-client"

The location of the Docker image for this service.

cassandra.backup.cloudProviderVersion: 1.0.0

Default value:"GCP"

Required if backup is enabled.

Cloud provider for backup storage.

cassandra.backup.dbStorageBucketVersion: 1.0.0

Default value: none

Required if backup is enabled.

Cloud storage bucket for the backup data.

cassandra.backup.enabledVersion: 1.0.0

Default value:false

Data backup is not enabled by default. To enable, set totrue.

SeeCassandra backup and recovery.

cassandra.backup.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

cassandra.backup.image.tagVersion: 1.0.0

Default value:1.0.0

The version label for this service's Docker image.

cassandra.backup.image.urlVersion: 1.0.0

Default value:"google/apigee-cassandra-backup-utility"

The location of the Docker image for this service.

cassandra.backup.scheduleVersion: 1.0.0

Default value:"0 2 * * *"

The schedule for the chron job.

SeeCassandra backup and recovery.

cassandra.backup.serviceAccountPathVersion: 1.0.0

Default value: none

Required if backup is enabled.

Path to Google Service Account key file with "Apigee Read Only Admin" role.

cassandra.clusterNameVersion: 1.0.0

Default value:"apigeecluster"

Specifies the name of the Cassandra cluster.

cassandra.datacenterVersion: 1.0.0

Default value:"dc-1"

Specifies the datacenter of the Cassandra node.

cassandra.dnsPolicyVersion: 1.1.1

Default value:ClusterFirstWithHostNet

When cassandra.hostNetwork is set totrue, this determines which DNS policy Cassandra uses. For Anthos based deployments it should be set toClusterFirstWithHostNet.

cassandra.externalSeedHostVersion: 1.0.0

Default value: none

Hostname or IP of a Cassandra cluster node. If not set, the Kubernetes local service is used.

cassandra.heapNewSizeVersion: 1.0.0

Default value:100M

The amount ofJVM system memory allocated to newer objects, in megabytes.

cassandra.hostNetworkVersion: 1.1.1

Default value:true

Set to true for Anthos based deployments.

cassandra.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

cassandra.image.tagVersion: 1.0.0

Default value:1.0.0

The version label for this service's Docker image.

cassandra.image.urlVersion: 1.0.0

Default value:"google/apigee-cassandra"

The location of the Docker image for this service.

cassandra.maxHeapSizeVersion: 1.0.0

Default value:512M

The upper limit ofJVM system memory available fo Cassandra operations, in megabytes.

cassandra.multiRegionSeedHostVersion: 1.0.0

Default value: none

IP address of an existing Cassandra cluster used to expand the existing cluster to a new region. SeeConfigure the multi-region seed host.

cassandra.nodeSelector.keyVersion: 1.0.0

Default value: none

Required

Node selector label key used to target dedicated Kubernetes nodes forcassandra data services.

SeeAdd node selectors.

cassandra.nodeSelector.valueVersion: 1.0.0

Default value: none

Optional ode selector label value used to target dedicated Kubernetes nodes forcassandra data services and override the nodeSelector.apigeeData settings.

SeenodeSelector.

cassandra.portVersion: 1.0.0

Default value:9042

Port number used to connect to cassandra.

cassandra.rackVersion: 1.0.0

Default value:"ra-1"

Specifies the rack of the Cassandra node.

cassandra.readinessProbe.failureThresholdVersion: 1.0.0

Default value:2

The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

cassandra.readinessProbe.initialDelaySecondsVersion: 1.0.0

Default value:0

The number of seconds after a container is started before a readiness probe is initiated.

cassandra.readinessProbe.periodSecondsVersion: 1.0.0

Default value:10

Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

cassandra.readinessProbe.successThresholdVersion: 1.0.0

Default 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.timeoutSecondsVersion: 1.0.0

Default value:5

The number of seconds after which a liveness probe times out. The minimum value is 1.

cassandra.replicaCountVersion: 1.0.0

Default value:3

Cassandra is a replicated database. It is configured to have at least 3 copies of the data in each region or data center. This property specifies the number of Cassandra nodes employed as aStatefulSet.

cassandra.resources.requests.cpuVersion: 1.0.0

Default value:500m

The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

cassandra.resources.requests.memoryVersion: 1.0.0

Default value:1Gi

The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

cassandra.restore.cloudProviderVersion: 1.0.0

Default value:"GCP"

Required if restore is enabled.

Cloud provider for backup storage.

cassandra.restore.dbStorageBucketVersion: 1.0.0

Default value: none

Required if restore is enabled.

Cloud storage bucket for the backup data to restore.

cassandra.restore.enabledVersion: 1.0.0

Default value:false

cassandra.restore.image.pullPolicyVersion: 1.0.0

Default 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, seeUpdating images.

cassandra.restore.image.tagVersion: 1.0.0

Default value:1.0.0

The version label for this service's Docker image.

cassandra.restore.image.urlVersion: 1.0.0

Default value:"google/apigee-cassandra-backup-utility"

The location of the Docker image for this service.

cassandra.restore.serviceAccountPathVersion: 1.0.0

Default value: none

Required if restore is enabled.

Path to Google Service Account key file with "Apigee Read Only Admin" role.

cassandra.restore.snapshotTimestampVersion: 1.0.0

Default value: none

Required if restore is enabled.

Timestamp of the backup that should be restored.

cassandra.storage.capacityVersion: 1.0.0

Default value:50Gi

Required if storage.storageClass is specified

Specifies the disk size required, in mebibytes.

cassandra.storage.storageClassVersion: 1.0.0

Default value: none

Specifies the class of on-prem storage being used.

cassandra.terminationGracePeriodSecondsVersion: 1.0.0

Default 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.

defaults

The Default encryption keys for the Apigee hybrid installation.

NOTE: You need to update these for your installation.

The following table describes the properties of thedefaults object:

PropertyDescription
defaults.org.kmsEncryptionKeyVersion: 1.0.0

Default value:"aWxvdmVhcGlzMTIzNDU2Nw=="

Default encryption key for the org in KMS.

defaults.org.kvmEncryptionKeyVersion: 1.0.0

Default value:"aWxvdmVhcGlzMTIzNDU2Nw=="

Default encryption key for the org in KVM.

defaults.env.kmsEncryptionKeyVersion: 1.0.0

Default value:"aWxvdmVhcGlzMTIzNDU2Nw=="

Default encryption key for the environment (env) in KMS.

defaults.env.kvmEncryptionKeyVersion: 1.0.0

Default value:"aWxvdmVhcGlzMTIzNDU2Nw=="

Default encryption key for the environment (env) in KVM.

defaults.env.cacheEncryptionKeyVersion: 1.0.0

Default value:"aWxvdmVhcGlzMTIzNDU2Nw=="

Default cache encryption key for the environment (env).

envs

Defines an array of environments to which you can deploy your API proxies. Each environmentprovides an isolated context or "sandbox" for running API proxies.

Your hybrid-enabled organization must have at least one environment.

Useenvs[] to configure base path routing, which allows you to configure and manage how Apigee hybrid routes API proxy calls to the correct environment.

For more information, see:

The following table describes the properties of theenvs object:

PropertyDescription
envs[].cacheEncryptionKeyVersion: 1.0.0

Default value: none

Required

Local file system path for the Apigee cache data's encryption key.

envs[].hostAliasVersion: 1.0.0

Default value: none

Required

The DNS name for your server. For example,foo-test.mydomain.com. If you don't have a DNS name, you can use a wildcard ('*'). If you use a wildcard, then youcan use the EXTERNAL IP of theistio-ingressgateway, which you can obtain by callingkubectl get services -n namespace after you complete the installation.

If you have multiple environments, you must use a unique host alias name for each one. For example,foo-test.mydomain.com andfoo-prod.mydomain.com.

Note: You cannot use a wildcard for the host name in a multiple environment configuration. If you do so, traffic will only be routed to one environment.

envs[].kmsEncryptionKeyVersion: 1.0.0

Default value: none

Required

Local file system path for the ApigeeKMS data's encryption key.

envs[].nameVersion: 1.0.0

Default value: none

Required

Apigee environment name to be synchronized.

envs[].pollIntervalVersion: 1.0.0

Default value: none

Interval used for polling organization and environment synchronization changes, in seconds.

envs[].paths.uri.prefixesVersion: 1.0.0

Default value: none

A property to support prefix base path routing. Provide those paths as in the pattern:

      org: hybrid      envs:      - name: test        paths:          uri:            prefixes:            - /foo            - /bar
envs[].portVersion: 1.0.0

Default value: none

TCP port number for HTTPS traffic.

envs[].serviceAccountPaths.synchronizerVersion: GA

Default value: none

Path to file on local system to a Google Service Account key with theApigee Synchronizer Manager role.

envs[].serviceAccountPaths.udcaVersion: GA

Default value: none

Path to file on local system to a Google Service Account key with theApigee Analytic Agent role.

envs[].sslCertPathVersion: 1.0.0

Default value: none

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, thehostAliases[] could befoo.example.com orbar.example.com.

envs[].sslKeyPathVersion: 1.0.0

Default value: none

Required

The path on your system to the TLS private key file.

httpProxy

httpProxy 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.

NOTE: HTTP forward proxy for the apigee-runtime component is not supported.

See also:MART,Synchronizer, andUDCA.

The following table describes the properties of thehttpProxy object:

PropertyDescription
httpProxy.hostVersion: 1.1.1

Default value: none

The hostname of the HTTP Proxy.

httpProxy.portVersion: 1.1.1

Default value: none

The port of the HTTP Proxy.

httpProxy.schemeVersion: 1.1.1

Default value:HTTPS

The scheme used by the proxy. Values can beHTTP orHTTPS.

ingress

ingress is the instantiation of the Istio Ingress Gateway, the Kubernetes Ingress Resource is used to specify services that should be exposed outside the cluster. It defines a containerized app that routes traffic from outside the runtime plane to services within the runtime plane. Apigee installation creates two Istio Ingress objects for:

  1. Runtime
  2. MART

See also:

The following table describes the properties of theingress object:

PropertyDescription
ingress.enableAccesslogVersion: 1.0.0

Default value:false

Enable or disable the Ingress access log. By default, it is disabled.

ingress.envoyHeaders.headersVersion: 1.0.0

Default value: none

A list of Envoy headers.

ingress.envoyHeaders.preservedVersion: 1.0.0

Default value:false

Determines whether to preserve or not to preserve Envoy's headers. By default, they are not.

ingress.httpsRedirectVersion: 1.0.0

Default value:true

Enable or disable the automatic HTTPS redirection for all incoming traffic.

ingress.mart.loadBalancerIPVersion: 1.1.1

Default value:10.0.10.252

IP address of the MART load balancer.

For Kubernetes and Anthos installations, you should reserve and configure the static IP address for the load balancer before setting this property. SeeConfigure static IP addresses.
ingress.runtime.loadBalancerIPVersion: 1.1.1

Default value:10.0.10.251

IP address of the load balancer for the Apigee-runtime object.

For Kubernetes and Anthos installations, you should reserve and configure the static IP address for the load balancer before setting this property. SeeConfigure static IP addresses.
ingress.serviceTypeVersion: 1.0.0

Default value:LoadBalancer

The type of service used for routing external traffic to internal services.

Possible values include:

  • ClusterIP (not supported)
  • LoadBalancer
  • NodePort

istio

Google Cloud Platform's (GCP's) implemention of Istio is a service mesh that layers onto existing your Apigee instance helping it integrate with the logging platform, telemetry and policy system.

NOTE: Theingress object is an implementation of the Istio ingress gateway.

See also:GCP's Istio documentation andWhat is Istio.

The following table describes the properties of theistio object:

PropertyDescription
istio.ingressgateway.replicaCountMaxVersion: 1.0.0

Default value: 5

Required

Maximum number of Istio ingress gateway replicas allowed.

See:

istio.ingressgateway.replicaCountMinVersion: 1.0.0

Default value: 1

Required

Minimum number of Istio ingress gateway replicas required.

See:

istio.ingressgateway.resources.requests.cpuVersion: 1.0.0

Default value: 100m

Required

CPU resources allocated to the ingress controller, needed for the gateway to operate optimally.

See:

istio.ingressgateway.resources.requests.memoryVersion: 1.0.0

Default value: 128Mi

Memory resources allocated to the ingress controller, needed for the gateway to operate optimally.

  • ingress object
  • Ingress Gateways in the Istio documentation
  • Ingress Controllers in the Kubernetes documentation.
  • istio.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Optional node selector label key for targeting Kubernetes nodes foristio services. If you do not specify a key for mart.nodeselector, theistio services use the node specified in thenodeSelectorobject.

    istio.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Optional node selector label value for targeting Kubernetes nodes foristio services. See also thenodeSelectorobject.

    istio.pilot.replicaCountMaxVersion: 1.0.0

    Default value: 5

    Required

    Thepilot core traffic management within the cluster, communicating with theenvoy sidecar proxy.replicaCountMax is the maximium number of Istio pilot replicas allowed.

    See Pilot: Core traffic management in the Istio documentation

    istio.pilot.replicaCountMinVersion: 1.0.0

    Default value: 1

    Required

    Thepilot core traffic management within the cluster, communicating with theenvoy sidecar proxy.replicaCountMax is the maximium number of Istio pilot replicas required.

    See Pilot: Core traffic management in the Istio documentation

    istio.pilot.resources.requests.cpuVersion: 1.0.0

    Default value: 500m

    Required

    CPU resources allocated to the pilot process, needed for the gateway to operate optimally.

    See:

    istio.pilot.resources.requests.memoryVersion: 1.0.0

    Default value: 2048Mi

    Memory resources allocated to the pilot process, needed for the gateway to operate optimally.

    See:

    logger

    Defines the service that manages operational logs. All of the Apigee hybrid servicesthat run in your Kubernetes cluster output this information.

    For more information, seeLogging.

    The following table describes the properties of thelogger object:

    PropertyDescription
    logger.enabledVersion: 1.0.0

    Default value:true

    Enables or disables logging on the cluster. For non-GKE set totrue, for Anthos or GKE set tofalse.

    logger.fluentd.buffer_chunk_limitVersion: 1.0.0

    Default 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_limitVersion: 1.0.0

    Default value:6

    The maximum length of the output queue. The default limit is 256 chunks.

    logger.fluentd.flush_intervalVersion: 1.0.0

    Default value:5s

    The interval to wait before invoking the next buffer flush, in seconds.

    logger.fluentd.max_retry_waitVersion: 1.0.0

    Default value:30

    The maximum interval between write retries, in seconds.

    logger.fluentd.num_threadsVersion: 1.0.0

    Default value:2

    The number of threads used to flush the buffer. The default is 1.

    logger.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    logger.image.tagVersion: 1.0.0

    Default value:"1.6.8"

    The version label for this service's Docker image.

    logger.image.urlVersion: 1.0.0

    Default value:"google/apigee-stackdriver-logging-agent"

    The location of the Docker image for this service.

    logger.livenessProbe.failureThresholdVersion: 1.0.0

    Default 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.initialDelaySecondsVersion: 1.0.0

    Default value:0

    The number of seconds after a container is started before a liveness probe is initiated.

    logger.livenessProbe.periodSecondsVersion: 1.0.0

    Default value:60

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    logger.livenessProbe.successThresholdVersion: 1.0.0

    Default 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.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    logger.nodeSelector.keyVersion: 1.0.0

    Default value:"apigee.com/apigee-logger-enabled"

    Required

    Node selector label key used to target dedicated Kubernetes nodes forlogger runtime services.

    SeeAdd node selectors.

    logger.nodeSelector.valueVersion: 1.0.0

    Default value:"true"

    Required

    Node selector label value used to target dedicated Kubernetes nodes forlogger runtime services.

    SeeAdd node selectors.

    logger.proxyURLVersion: 1.0.0

    Default value: none

    URL of the customer's proxy server.

    logger.resource.limits.memoryVersion: 1.0.0

    Default value:500Mi

    The memory limit for the resource in a Kubernetes container, in mebibytes.

    logger.resource.limits.cpuVersion: 1.0.0

    Default value:200m

    The CPU limit for the resource in a Kubernetes container, in millicores.

    logger.resource.requests.cpuVersion: 1.0.0

    Default value:100m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    logger.resource.requests.memoryVersion: 1.0.0

    Default value:250Mi

    The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

    logger.serviceAccountPathVersion: 1.0.0

    Default value: none

    Required

    Path to Google Service Account key file with "Apigee Read Only Admin" role.

    logger.terminationGracePeriodSecondsVersion: 1.0.0

    Default 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.

    mart

    Defines the MART (Management API for RunTime data) service, which acts as an API provider forpublic Apigee APIs so that you can access and manage runtime data entities such as KMS (API Keys andOAuth tokens), KVM, Quota, and API products.

    The following table describes the properties of themart object:

    PropertyDescription
    mart.hostAliasVersion: 1.0.0

    Default value: none

    The host alias pointing to theMART object. You can set this property to* or a fully-qualified domain name.

    mart.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    mart.image.tagVersion: 1.0.0

    Default value:1.0.0

    The version label for this service's Docker image.

    mart.image.urlVersion: 1.0.0

    Default 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.cpuVersion: 1.0.0

    Default value:10m

    The amount of CPU resourced allocated to the initialization check of the Cloud Foundry process.

    mart.livenessProbe.failureThresholdVersion: 1.0.0

    Default 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.initialDelaySecondsVersion: 1.0.0

    Default value:15

    The number of seconds after a container is started before a liveness probe is initiated.

    mart.livenessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    mart.livenessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    mart.metricsURLVersion: 1.0.0

    Default value:"/v1/server/metrics"

    mart.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Optional node selector label key for targeting Kubernetes nodes formart runtime services. If you do not specify a key for mart.nodeselector, then your runtime uses the node specified in thenodeSelectorobject.

    SeeAdd node selectors.

    mart.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Optional node selector label value for targeting Kubernetes nodes formart runtime services. See also thenodeSelectorobject.

    SeeAdd node selectors.

    mart.readinessProbe.failureThresholdVersion: 1.0.0

    Default value:2

    The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

    mart.readinessProbe.initialDelaySecondsVersion: 1.0.0

    Default value:15

    The number of seconds after a container is started before a readiness probe is initiated.

    mart.readinessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

    mart.readinessProbe.successThresholdVersion: 1.0.0

    Default 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.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    mart.replicaCountMaxVersion: 1.0.0

    Default value:5

    Maximum number of replicas available for autoscaling.

    mart.replicaCountMinVersion: 1.0.0

    Default value:1

    Minimum number of replicas available for autoscaling.

    mart.resources.requests.cpuVersion: 1.0.0

    Default value:500m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    mart.resources.requests.memoryVersion: 1.0.0

    Default value:512Mi

    The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

    mart.serviceAccountPathVersion: 1.1.1

    Default value: none

    Required

    Path to Google Service Account key file with "Apigee Read Only Admin" role.

    mart.sslCertPathVersion: 1.0.0

    Default value: none

    Local file system path for loading and encoding the SSL cert to a Secret.

    mart.sslKeyPathVersion: 1.0.0

    Default value: none

    Local file system path for loading and encoding the SSL key to a Secret.

    mart.targetCPUUtilizationPercentageVersion: 1.0.0

    Default 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 toreplicaCountMax.

    mart.terminationGracePeriodSecondsVersion: 1.0.0

    Default 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.

    metrics

    Defines the service that collects operations metrics. You can use metrics data to monitor thehealth of Hybrid services, to set up alerts, and so on.

    For more information, seeMetrics collection overview.

    The following table describes the properties of themetrics object:

    PropertyDescription
    metrics.enabledVersion: 1.0.0

    Default value:false

    Enables Apigee metrics. Set totrue to enable metrics. Set tofalse to disable metrics.

    metrics.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Required

    Node selector label key used to target dedicated Kubernetes nodes formetrics runtime services.

    SeeAdd node selectors.

    metrics.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Required

    Node selector label value used to target dedicated Kubernetes nodes formetrics runtime services.

    SeeAdd node selectors.

    metrics.prometheus.args.storage_tsdb_retentionVersion: 1.0.0

    Default value:48h

    The amount of time Prometheus waits before removing old data from local storage, in hours.

    metrics.prometheus.containerPortVersion: 1.0.0

    Default value:9090

    The port to connect to the Prometheus metrics service.

    metrics.prometheus.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    metrics.prometheus.image.tagVersion: 1.0.0

    Default value:"v2.9.2"

    The version label for this service's Docker image.

    metrics.prometheus.image.urlVersion: 1.0.0

    Default value:"google/apigee-prom-prometheus"

    The location of the Docker image for this service.

    metrics.prometheus.livenessProbe.failureThresholdVersion: 1.0.0

    Default 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.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    metrics.prometheus.livenessProbe.timeoutSecondsVersion: 1.0.0

    Default value:3

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    metrics.prometheus.readinessProbe.failureThresholdVersion: 1.0.0

    Default value:120

    The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

    metrics.prometheus.readinessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

    metrics.prometheus.readinessProbe.timeoutSecondsVersion: 1.0.0

    Default value:3

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    metrics.proxyURLVersion: 1.0.0

    Default value: none

    URL for the metrics process sidecar proxy in the Kubernetes cluster.

    metrics.resources.limits.cpuVersion: 1.0.0

    Default value:250m

    The CPU limit for the resource in a Kubernetes container, in millicores.

    metrics.resources.limits.memoryVersion: 1.0.0

    Default value:256Mi

    The memory limit for the resource in a Kubernetes container, in mebibytes.

    metrics.resources.requests.cpuVersion: 1.0.0

    Default value:250m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    metrics.resources.requests.memoryVersion: 1.0.0

    Default value:256Mi

    The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

    metrics.sdSidecar.containerPortVersion: 1.0.0

    Default value:9091

    The port for connecting to the StackDriver metrics service.

    metrics.sdSidecar.image.pullPolicyVersion: 1.0.0

    Default value:IfNotPresent

    Determines when Kubelet pulls this service's Docker image. Possible values include:

    • IfNotPresent: Do not pull a new image if it already exists
    • Always: Always pull the policy, even if it already exists

      For more information, see Updating images.

    metrics.sdSidecar.image.tagVersion: 1.0.0

    Default value:"release-0.4.0"

    The version label for this service's Docker image.

    metrics.sdSidecar.image.urlVersion: 1.0.0

    Default value:"google/apigee-stackdriver-prometheus-sidecar"

    The location of the Docker image for this service.

    metrics.serviceAccountPathVersion: 1.0.0

    Default value: none

    Required

    Path to Google Service Account key file with "Apigee Read Only Admin" role.

    metrics.terminationGracePeriodSecondsVersion: 1.0.0

    Default 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.

    nodeSelector

    The 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 theistio:nodeSelector andmart:nodeSelector properties.

    The following table describes the properties of thenodeSelector object:

    PropertyDescription
    nodeSelector.apigeeData.keyVersion: 1.0.0

    Default value: "cloud.google.com/gke-nodepool"

    ApigeeData is the node for the Cassandra database. Node selector label key for targeting Kubernetes nodes for working with Apigee services data.

    SeeAdd node selectors.

    nodeSelector.apigeeData.valueVersion: 1.0.0

    Default value: "apigee-data"

    apigee-data is the node for the Cassandra database. Node selector label value for targeting Kubernetes nodes for working with Apigee services data.

    SeeAdd node selectors.

    nodeSelector.apigeeRuntime.keyVersion: 1.0.0

    Default value: "cloud.google.com/gke-nodepool"

    Apigee Runtime is the node for the runtime environment for the project. Node selector label key for targeting Kubernetes nodes for Apigee runtime services.

    SeeAdd node selectors.

    nodeSelector.apigeeRuntime.valueVersion: 1.0.0

    Default value: "apigee-runtime"

    apigee-runtime is the node for the runtime environment for the project. Node selector label value for targeting Kubernetes nodes for Apigee runtime services.

    SeeAdd node selectors.

    nodeSelector.requiredForSchedulingVersion: 1.0.0

    Default value: false

    TherequiredForScheduling property defaults to false. If this value is overridden to true, it means that if Kubernetes cannot find nodes with the label key/value that is configured then the underlying Pods will not get scheduled on VM worker nodes.

    For production,nodeSelector.requiredForScheduling should be set to true.

    SeeAdd node selectors.

    runtime

    The following table describes the properties of theruntime object:

    PropertyDescription
    runtime.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    runtime.image.tagVersion: 1.0.0

    Default value:1.0.0

    The version label for this service's Docker image.

    runtime.image.urlVersion: 1.0.0

    Default value:URL to your installation's image resource, like:"google/apigee-runtime"

    The location of the Docker image for this service.

    runtime.livenessProbe.failureThresholdVersion: 1.0.0

    Default value:2

    The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.

    runtime.livenessProbe.initialDelaySecondsVersion: 1.0.0

    Default value:60

    The number of seconds after a container is started before a liveness probe is initiated.

    runtime.livenessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    runtime.livenessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    runtime.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Optional Node selector label key for targeting Kubernetes nodes forruntime services.

    SeenodeSelector property.

    runtime.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Node selector label value for targeting Kubernetes nodes forruntime services.

    SeeAdd node selectors.

    runtime.readinessProbe.failureThresholdVersion: 1.0.0

    Default value:2

    The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

    runtime.readinessProbe.initialDelaySecondsVersion: 1.0.0

    Default value:60

    The number of seconds after a container is started before a readiness probe is initiated.

    runtime.readinessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

    runtime.readinessProbe.successThresholdVersion: 1.0.0

    Default value:1

    The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1.

    runtime.readinessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    runtime.replicaCountMaxVersion: 1.0.0

    Default value:4

    Maximum number of replicas available for autoscaling.

    runtime.replicaCountMinVersion: 1.0.0

    Default value:1

    Minimum number of replicas available for autoscaling.

    runtime.resources.requests.cpuVersion: 1.0.0

    Default value:500m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    runtime.resources.requests.memoryVersion: 1.0.0

    Default value:1Gi

    The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

    runtime.service.typeVersion: 1.0.0

    Default value:ClusterIP

    The type of service. You can set this to a service other than ClusterIP; for example,LoadBalancer.

    runtime.targetCPUUtilizationPercentageVersion: 1.0.0

    Default value:75

    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 toreplicaCountMax.

    runtime.terminationGracePeriodSecondsVersion: 1.0.0

    Default value:180

    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.

    synchronizer

    Ensures that the Message Processors are kept up to date with the latest deployed API proxybundles. 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, seeSynchronizer.

    The following table describes the properties of thesynchronizer object:

    PropertyDescription
    synchronizer.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    synchronizer.image.tagVersion: 1.0.0

    Default value:1.0.0

    The version label for this service's Docker image.

    synchronizer.image.urlVersion: 1.0.0

    Default value:"google/apigee-synchronizer"

    The location of the Docker image for this service.

    synchronizer.livenessProbe.failureThresholdVersion: 1.0.0

    Default value:2

    The number of times Kubernetes will verify that liveness probes have failed before restarting the container. The minimum value is 1.

    synchronizer.livenessProbe.initialDelaySecondsVersion: 1.0.0

    Default value:0

    The number of seconds after a container is started before a liveness probe is initiated.

    synchronizer.livenessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    synchronizer.livenessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    synchronizer.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Required

    Optional node selector label key for targeting Kubernetes nodes forsynchronizer runtime services.

    SeenodeSelector.

    synchronizer.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Optional node selector label value used for targeting Kubernetes nodes forsynchronizer runtime services.

    SeenodeSelector.

    synchronizer.pollIntervalVersion: 1.0.0

    Default value:60

    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.failureThresholdVersion: 1.0.0

    Default value:2

    The number of times Kubernetes will verify that readiness probes have failed before marking the podunready. The minimum value is 1.

    synchronizer.readinessProbe.initialDelaySecondsVersion: 1.0.0

    Default value:0

    The number of seconds after a container is started before a readiness probe is initiated.

    synchronizer.readinessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a readiness probe, in seconds. The minimum value is 1.

    synchronizer.readinessProbe.successThresholdVersion: 1.0.0

    Default value:1

    The minimum consecutive successes needed for a readiness probe to be considered successful after a failure. The minimum value is 1.

    synchronizer.readinessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    synchronizer.replicaCountVersion: 1.0.0

    Default value:2

    Number of replicas for autoscaling.

    synchronizer.resources.requests.cpuVersion: 1.0.0

    Default value:100m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    synchronizer.resources.requests.memoryVersion: 1.0.0

    Default value:1Gi

    The memory needed for normal operation of the resource in a Kubernetes container, in gigabytes.

    synchronizer.serviceAccountPathVersion: 1.0.0

    Default value: none

    Required

    Path to Google Service Account key file with "Apigee Read Only Admin" role.

    synchronizer.targetCPUUtilizationPercentageVersion: 1.0.0

    Default value:75

    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 toreplicaCountMax.

    synchronizer.terminationGracePeriodSecondsVersion: 1.0.0

    Default 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.

    udca

    (Universal Data Collection Agent) Defines the service that runs within the data collection podin the runtime plane. This service extracts analytics and deployment status data and sends it to theUnified Analytics Platform (UAP).

    For more information, seeAnalytics and deployment status datacollection.

    The following table describes the properties of theudca object:

    PropertyDescription
    udca.fluentd.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    udca.fluentd.image.tagVersion: 1.0.0

    Default value:1.0.0

    The version label for this service's Docker image.

    udca.fluentd.image.urlVersion: 1.0.0

    Default value:"google/apigee-stackdriver-logging-agent"

    The location of the Docker image for this service.

    udca.fluentd.resource.limits.memoryVersion: 1.0.0

    Default value:500Mi

    The memory limit for the resource in a Kubernetes container, in mebibytes.

    udca.fluentd.resource.requests.cpuVersion: 1.0.0

    Default value:500m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    udca.fluentd.resource.requests.memoryVersion: 1.0.0

    Default value:250Mi

    The memory needed for normal operation of the resource in a Kubernetes container, in mebibytes.

    udca.image.pullPolicyVersion: 1.0.0

    Default 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, seeUpdating images.

    udca.image.tagVersion: 1.0.0

    Default value:"1.0.0"

    The version label for this service's Docker image.

    udca.image.urlVersion: 1.0.0

    Default value:"google/apigee-udca"

    The location of the Docker image for this service.

    udca.jvmXmsVersion: 1.0.0

    Default value:256m

    The starting amount of memory for the data collection pod'sJVM.

    udca.jvmXmxVersion: 1.0.0

    Default value:256m

    The maximum allocation of memory for the data collection pod'sJVM.

    udca.livenessProbe.failureThresholdVersion: 1.0.0

    Default 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.initialDelaySecondsVersion: 1.0.0

    Default value:0

    The number of seconds after a container is started before a liveness probe is initiated.

    udca.livenessProbe.periodSecondsVersion: 1.0.0

    Default value:5

    Determines how often to perform a liveness probe, in seconds. The minimum value is 1.

    udca.livenessProbe.timeoutSecondsVersion: 1.0.0

    Default value:1

    The number of seconds after which a liveness probe times out. The minimum value is 1.

    udca.nodeSelector.keyVersion: 1.0.0

    Default value: none

    Required

    Node selector label key used to target dedicated Kubernetes nodes forudca runtime services.

    SeeAdd node selectors.

    udca.nodeSelector.valueVersion: 1.0.0

    Default value: none

    Required

    Node selector label value used to target dedicated Kubernetes nodes forudca runtime services.

    SeeAdd node selectors.

    udca.pollingIntervalInSecVersion: 1.0.0

    Default 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.

    prometheus.sslCertPathVersion: 1.0.0

    Default 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.sslKeyPathVersion: 1.0.0

    Default 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:

    udca.replicaCountMaxVersion: 1.0.0

    Default 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.replicaCountMinVersion: 1.0.0

    Default 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 toudca.replicaCountMax.

    udca.resource.requests.cpuVersion: 1.0.0

    Default value:250m

    The CPU needed for normal operation of the resource in a Kubernetes container, in millicores.

    udca.revisionVersion: 1

    Default value:"v1"

    A static value that is populated in a label to enable canary deployments.

    udca.targetCPUUtilizationPercentageVersion: 1.0.0

    Default 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 toudca.replicaCountMax.

    udca.terminationGracePeriodSecondsVersion: 1.0.0

    Default 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.

    Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

    Last updated 2026-02-18 UTC.