Skip to main content
Version: 13.x (Current)

Service Specific Configuration

Mia-Platform Console architecture is composed by several microservices, to better respond to your user-load you can fine tune the configuration for each service following these configurations.

General configuration options

note

All of the following values are root values for the mia-console chart values.

NameTypeDescriptionDefaultOptional
apiGatewayService ConfThe configurations for the API Gateway Service
rateLimitEnvoyService ConfThe configurations for the API Gateway Rate Limit Service
apiPortalService ConfThe configurations for the API Portal Service
authenticationServiceService ConfThe configurations for the Authentication Service
authorizationServiceService ConfThe configurations for the Authorization Service
backendServiceService ConfThe configurations for the Console Backend Service
crudServiceService ConfThe configurations for the CRUD Service
deployServiceService ConfThe configurations for the Deploy Service
environmentsVariablesService ConfThe configurations for the Environment Variables Service
extensibilityManagerServiceService ConfThe configurations for the Extensibility Manager Service
filesServiceService ConfThe configurations for the Files Service
kubernetesServiceService ConfThe configurations for the Kubernetes Service
loginSiteService ConfThe configurations for the Login website Service
notificationProviderService ConfThe configurations for the Notification Provider Service
swaggerAggregatorService ConfThe configurations for the Swagger Aggregator Service
websitesService ConfThe configurations for the Console website Service
miaCraftBffService ConfThe configurations for the mia-craft backend for frontend
rbacManagerBffService ConfThe configurations for the rbac-manager backend for frontend to handle users and iam
rbacStandaloneService ConfThe configurations for a rbac service standalone
tenantOverviewBffService ConfThe configurations for the tenant overview service
bindingsCleanerService ConfThe configurations for the bindings cleaner cronjob
configurationsCleanerService ConfThe configurations for the configurations history cleaner cronjob
mailServiceService ConfThe configurations for the mail service
featureToggleServiceService ConfThe configurations for the feature toggle service
licenseManagerService ConfThe configurations for the license manager service
backofficeService ConfThe configurations for Backoffice service
eventsManagerService ConfThe configurations for the events-manager service
licenseMetricsGeneratorCronJob ConfThe configurations for the license metrics generator CronJob
rbacAnnotation ConfThe configurations for the RBAC resources
updateScripts.marketplaceCategoriesJobThe configurable part of the marketplace categories hook
updateScripts.consoleVersionUpgraderJobThe configurable part of the console-version-upgrader hook

Service Conf

NameTypeDescriptionDefaultOptional
deployDeployment ConfAn object that describe the configurable part of a deployment
serviceAnnotation ConfAn object that describe the configurable part of a kubernetes service
rbacSidecarRBAC Sidecar ConfAn object that describe the configurable part of the RBAC Sidecar service

CronJob Conf

NameTypeDescriptionDefaultOptional
cronjobCronJobAn object that describe the configurable part of a cronjob

Deployment Conf

NameTypeDescriptionDefaultOptional
imageDocker ImageThe docker image configurations
annotationsAnnotation Conf
resourcesobjectA kubernetes resource object for the container
affinityobjectA kubernetes affinity object for the pod
nodeSelectorobjectA kubernetes nodeSelector object for the pod
tolerationsarrayA kubernetes tolerations array for the pod
hpaHPA ConfA kubernetes hpa object to enable horizontal pod autoscaler
podDisruptionBudgetPodDisruptionBudgetA kubernetes PodDisruptionBudget object
podSecurityContextPod Security ContextA kubernetes pod security context object

Docker Image

NameTypeDescriptionDefaultOptional
repositorystringThe docker image name without tag
versionstringA valid docker image tag
registrystringA valid docker image registry
pullPolicystringThe policy for pulling the docker image, one of IfNotPresent or AlwaysIfNotPresent

HPA

NameTypeDescriptionDefaultOptional
minReplicasintegerThe minimum number of replicas, must not be lower than 1
maxReplicasintegerThe maximum number of replicas
targetCPUUtilizationPercentageintegerPercentage of CPU usage at which the pod should scale.
annotationsobject

PodDisruptionBudget

NameTypeDescriptionDefaultOptional
enabledbooleanIf PodDisruptionBudget must be enabledfalse
minAvailableintegerNumber of pods from that set that must still be available after the eviction
maxUnavailableintegerNumber of pods from that set that can be unavailable after the eviction

Annotations Conf

NameTypeDescriptionDefaultOptional
annotationsobjectA Kubernetes valid annotation object
labelsobjectA Kubernetes valid labels object

RBAC Sidecar Conf

NameTypeDescriptionDefaultOptional
annotationsobjectA Kubernetes valid annotation object
resourcesobjectA Kubernetes valid resources object

CronJob

NameTypeDescriptionDefaultOptional
imageDocker ImageThe docker image configurations
annotationsAnnotation Conf
resourcesobjectA kubernetes resource object for the container
affinityobjectA kubernetes affinity object for the pod
nodeSelectorobjectA kubernetes nodeSelector object for the pod
tolerationsarrayA kubernetes tolerations array for the pod
podSecurityContextPod Security ContextA kubernetes pod security context object

Job

NameTypeDescriptionDefaultOptional
imageDocker ImageThe docker image configurations
annotationsAnnotation Conf
resourcesobjectA kubernetes resource object for the container
affinityobjectA kubernetes affinity object for the pod
nodeSelectorobjectA kubernetes nodeSelector object for the pod
tolerationsarrayA kubernetes tolerations array for the pod
podSecurityContextPod Security ContextA kubernetes pod security context object

Examples

mia-console:
authenticationService:
deploy:
image:
version: "AUTHN-VERSION"
resources:
requests:
cpu: "10m"
memory: "30Mi"
limits:
memory: 70Mi
hpa:
annotations: {}
minReplicas: 2
maxReplicas: 3
targetCPUUtilizationPercentage: 70

crudService:
deploy:
image:
version: "CRUD-VERSION"
resources:
requests:
memory: "70Mi"
cpu: "20m"
limits:
memory: "250Mi"
cpu: "50m"
hpa:
annotations:
foo: bar
minReplicas: 2
maxReplicas: 4
targetCPUUtilizationPercentage: 70

Suggested resources

Based on the number of users, you might want to change the CPU and Memory resources configurations for each service; when doing so you can take the examples provided in the Installation Chart Example page which are enough to manage up to 300 monthly active users. If you have less or more users you can reduce or increase the resources as you prefer and fine-tune your installation resource consumption.

info

To better size the Console cluster dimension, consider that the minimum allocatable memory (RAM) and core (CPU) values should be at least equal to the sum of the requested ones set in your installation chart for all services.

Deploy with High Availability

To enable High Availability you can configure HPA for each service just by following the example below

mia-console:
...

<SERVICE_NAME>:
deploy:
hpa:
annotations: {}
minReplicas: 2
maxReplicas: 4
targetCPUUtilizationPercentage: 70

For all the Console services you want to replicate, set the <SERVICE_NAME> with the correct value, adjust the minReplicas, maxReplicas and the targetCPUUtilizationPercentage (which is the percentage of CPU used compared to the requested CPU set) values with the desired ones.

In the configuration shown in the example, the <SERVICE_NAME> will have at least 2 running pods and it will be automatically replicated up to 4 times when the service CPU usage exceeds the request value set.