Visit Azul.com Support

Optimizer Hub Generic Defaults

Optimizer Hub is shipped as a Helm chart with all the defaults as specified in the values.yaml file. Here you find a list of the most important generic values that can be modified to match Optimizer Hub to your environment by overriding the default values in your values-override.yaml file.

Management Gateway Parameters

Option Description Default

mgmtGateway.enabled

Flag to define if the Management Gateway is enabled to expose the REST APIs for ReadyNow Orchestrator and/or Cross-Region Sync.

true

mgmtGateway.service.httpEndpoint.port

The port used by the Management Gateway.

8080

Additional Labels for Kubernetes Objects

If needed, additional labels can be specified for the Kubernetes objects.

Option Description Default

gateway.applicationLabels

For Deployment/StatefulSet

gateway.applicationAnnotations

For Deployment/StatefulSet

gateway.podTemplateLabels

For POD

gateway.podTemplateAnnotations

For POD

gateway.serviceLabels

For Service

ReadyNow Orchestrator Defaults

See Configuring ReadyNow Orchestrator > Understanding Profile Generations for more information.

Option Description Default

readyNowOrchestrator.debugInfoHistoryLength

Limit of rolling profile history entries

100

readyNowOrchestrator.cache.enabled

Enabling of caching the content on the gateway

true

readyNowOrchestrator.cache.maxSizeBytes

The fixed size of content cached on the gateway

500000000

readyNowOrchestrator.completedAfter

Time required after the last profile update, after which the profile is considered completed and updates are no longer possible, duration specified in format PnDTnHnMn.nS.

PT24H

readyNowOrchestrator.producers.continueRecordingOnPromotion

Flag to define if profiles must be recorded after the maxGeneration has been reached. You can use this flag for debugging purposes.

false

readyNowOrchestrator.producers.maxConcurrentRecordings

The number of concurrent copies of a specific generation ReadyNow Orchestrator accepts before it tells other JVMs trying to write the same generation of the same profile name to stop

10

readyNowOrchestrator.producers.maxPromotableGeneration

Maximum number of generations ReadyNow Orchestrator accepts for a profile name. Note that here is no 'unlimited' value available

3

readyNowOrchestrator.producers.maxProfileSize

Limit on the input profile size, in bytes.

300000000

readyNowOrchestrator.cleaner.enabled

Enabling of automatic repository clean-up

true

readyNowOrchestrator.cleaner.externalPersistentStorageSoftLimit

Determines the threshold for the blob data usage, at which ReadyNow Orchestrator initiates its cleanup process.

10Gi

readyNowOrchestrator.cleaner.keepUnrequestedProfileNamesFor

Time limit after which the profile name gets removed if it was not requested within the given duration specified in format PnDTnHnMn.nS.

By default, no limit is defined. You need to specify a value if you want to enable complete cleanup of unused profiles.

0

readyNowOrchestrator.promotion.minProfileSize

Minimal size (bytes) threshold for all generations unless per-generation flags are specified. Per-generation flags take precedence over the global setting, but the global might be used as a generation 0 setting in case it is not specified in the corresponding per-generation setting.

1000000

readyNowOrchestrator.promotion.minProfileSizePerGeneration

Minimal size thresholds for each generation. In case a generation is missing in the list, it inherits a value from the previously specified generation or the global setting, if there is no previous generation specified.

List of pair <generation>:<size>, separated by \,.

For more information, check Understanding ReadyNow Orchestrator Generations.

0:1000000\,1:10000000\,2:25000000\,3:50000000

readyNowOrchestrator.promotion.minProfileDuration

PT2M

readyNowOrchestrator.promotion.minProfileDurationPerGeneration

See minProfileSizePerGeneration.

List of pair <generation>:<duration>, separated by \,. The duration must be specified in the format PnDTnHnMn.nS.

For more information, check Understanding ReadyNow Orchestrator Generations.

0:PT2M\,1:PT15M\,2:PT30M\,3:PT60M

readyNowOrchestrator.producers.maxSynchronizedGeneration

Defines the maximum number of profile generations to be synced from peers. Profiles with a higher generation are not synced from peers.

2

Cross-Region Sync Parameters

See Configuring ReadyNow Orchestrator > Configuring Cross-Region Synchronization of Profiles for more information.

Optimizer Hub admins can set the following global defaults for ReadyNow profiles in values-override.yaml to configure synchronization:

Option Description Default

synchronization.enabled

Define if Cross-Region Sync needs to be enabled. You must also enable the Management Gateway for this setting to become effective.

true

synchronization.peers

A comma separated list of peer Management Gateway URLs from other Optimizer Hub instances to include in the syncing process.

synchronization.initialDelay

Initial delay for the periodic synchronization task.

PT180s

synchronization.period

Defines periodicity of a synchronization with the specified Optimizer Hub peers.

PT30s

Blob Storage Auto Cleanup Parameters

See Configuring Blob Storage Auto Cleanup for more info.

Option Description Default

codeCache.cleaner.enabled

Flag to specify if the automatic Code Cache cleaner must be enabled.

true

codeCache.cleaner.targetSize

Target size for the Code Cache cleaner.

"100GiB" # Or "107374182400"

codeCache.cleaner.interval

Interval at which the Code Cache cleaner checks whether the current usage is bigger than targetSize. If so, the cleanup process is triggered. This process deletes the Code Cache items that are least recently used to get below the targetSize.

PT2H # 2 hours

Externally Defined Secrets Parameters

See Using Externally Defined Secrets for more info.

Option Description Default

secrets.blobStorage.s3.existingSecret

Name of the existing Secret object to use. A new secret is created if the name is empty.

""

secrets.blobStorage.s3.accessKeySecretKey

Name of the key for the accessKey value in Kubernetes secret. It can be renamed to the match names in an existing secret.

blob-storage-accesskey

secrets.blobStorage.s3.accesskey

The default value for accesskey, used when a new secret is created.

<yourAccessKey>

secrets.blobStorage.s3.secretAccessKeySecretKey

The name of the key for the secretkey value in Kubernetes secret. It can be renamed to match names in an existing secret.

blob-storage-secretkey

secrets.blobStorage.s3.secretkey

The default value for s3.secretkey, used when a new secret is created.

<yourSecretKey>

secrets.blobStorage.azure.existingSecret

The name of an existing secret object to use. A new secret is created if the name is empty.

""

secrets.blobStorage.azure.connectionStringSecretKey

The name of the key for the connectionStringSecretKey value in Kubernetes secret. It can be renamed to match names in an existing secret.

azure-storage-connection-string

secrets.blobStorage.azure.sasTokenSecretKey

The name of the key for sasTokenSecretKey in K8S Secret. It can be renamed to match names in existing Secret

azure-storage-sas-token

Simple Sizing Parameters

See Sizing and Scaling your Optimizer Hub Installation > How Optimizer Hub Scales for more info.

Option Description Default

simpleSizing.vCores

The total number of vCores that gets allocated to the Optimizer Hub service. The default value is the amount of vCores necessary to start one instance of Optimizer Hub, so that the service is operational.

32

simpleSizing.minVCores

minVCores and maxVCores have the same formula as vCores, but are applied when autoscaling is enabled. The value is used by the Optimizer Hub service to adjust the sizing of the instance to try to meet your timeToClearOptimizationBacklog limit for all the JVMs that request compilations.

32

simpleSizing.maxVCores

The default max value is dimensioned to be able to allocate 10 compile brokers.

106

SSL Parameters

See Configuring Optimizer Hub with SSL Authentication for more info.

Option Description Default

ssl.enabled

Flag to specify if SSL must be enabled for Optimizer Hub connections from JVMs.

false

ssl.value.cert and ssl.value.key

Specify the certificate and private keys directly as values. This is the simplest way to run quick experiments in a controlled environment, especially when you’re installing from the Helm repository.

Example:

 
ssl: value: cert: |- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- key: |- -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----
Note
This is not the recommended approach in production as it embeds private security credentials in a config file.

ssl.path.cert and ssl.path.key

Specify the certificate and private key file paths.

ssl.existingSecret

When you use a separate chain to manage your certificate, you can point the deployment to a custom secret in the installation namespace. Such a secret needs to have keys named cert.pem and key.pem.

This is the most secure way to add certificates. is .

Size and Duration Formats

Specifying Size Values

You can define size values in helm charts, e.g. values-override.yaml, with different notations:

  • Number format

    Example: 5000000

  • Decimal format: M, G,…​

    Example: 5M instead of 5000000

  • Binary format: Mi, Gi,…​

    Example: 20Mi instead of 20971520

Specifying Durations

You can specify the duration in time using the ISO-8601 format PnDTnHnMn.nS where n is the relevant days, hours, minutes or seconds part of the duration.