a9s Harbor SPI Configuration
This document describes a9s harbor SPI configuration.
Summary
Custom Parameter Configuration
The a9s Harbor SPI handles custom parameters for all service instances. It does configuration and validation of custom parameters.
The a9s Harbor SPI defines default values for certain custom parameters. Also, it defines whether a custom parameter can be set by the application developer.
The platform operator can overwrite those choices by changing the a9s harbor
SPI configuration. The platform operator has to configure the property
harbor-spi.service_instance.custom_param_config
. The property
value must be a hash. Every key in that hash stands for a custom parameter and
the value for every key contains the configuration for that particular
parameter. The configuration for a particular param is a hash consisting of
the following optional keys: default_value
and modifiable
.
The key default_value
specifies the default value for that parameter and
modifiable
specifies whether the application developer is allowed to
set that custom parameter. For example:
harbor-spi:
service_instance:
custom_param_config:
max_connections:
default_value: 600
modifiable: false
Default Custom Parameter Configuration
The following table contains custom parameters that are configurable by the platform operator. The meaning of those custom parameters can be read in the application developer documentation for a9s Harbor.
Name | Default value | Is modifiable |
---|---|---|
max_connections | 128 | true |
max_connections
The parameter max_connections
sets the PostgreSQL configuration parameter
max_connections
to the configured number.
Valid values are any integer
bigger than 0
.
For practical reasons, it should be at least 20
.
IMPORTANT: It makes sense to configure this parameter per plan. For a9s Harbor, it doesn't make sense to let the application developer fine-tune this value.
There is no silver bullet to calculate max_connections
. Please take a look at the
a9s PostgreSQL SPI configuration parameter documentation
to get a grasp how it could be calculated.
Example Configuration
Let's build an imaginary example.
The default value for the max_connections
custom parameter should be 600.
The custom parameter max_connections
should not be allowed to be changed by
the application developer.
Then the configuration must look the following way:
harbor-spi:
service_instance:
custom_param_config:
max_connections:
default_value: 600
modifiable: true
Per Plan Configuration
Take a look at Service Plans documentation if you want to configure the custom parameters per plan.
Notes
Additional custom parameters will be made available over time. We do not make all available custom parameters the SPIs knows about available to the platform operator from the beginning.
During the SPI startup, the configuration the platform operator made will be checked. When it's invalid, the SPI will not start up.