LogoLogo
1.2.0
1.2.0
  • Maisa System
    • Introduction
    • Architecture
    • How to use it
  • Helm Installation
    • Getting Started
    • Authentication
    • Configuration Reference
Powered by GitBook
On this page
  • Introduction
  • Global Configuration
  • Image Configuration
  • API Server Configuration
  • Database Configuration
  • Internal Database
  • External Database
  • Worker Configuration
  • Scheduler Configuration (New in 1.2.0)
  • Ingress Configuration
  • Persistence Configuration
  • RBAC and Service Account
  • Security Configuration
  • Feature Flags
  • Breaking Changes from 1.1.0 to 1.2.0
  • Upgrading from 1.1.0
  • Complete Example
Edit on GitHub
Export as PDF
  1. Helm Installation

Configuration Reference

This configuration reference is for version 1.2.0. Configuration options may differ from previous versions.

Introduction

This document provides a comprehensive reference for all configuration options available in our Helm chart. The configuration is managed through a values.yaml file that you can customize according to your requirements.

Global Configuration

These settings affect the entire deployment.

Parameter
Description
Default
Required

global.imageRegistry

Global Docker image registry

artifactory.company.com

Yes

global.imagePullSecrets

Global Kubernetes imagePullSecrets

[]

No

global.storageClass

Global StorageClass for Persistent Volume Claims

""

No

global.env

Global environment variables

{}

No

Image Configuration

Parameter
Description
Default

image.registry

Image registry (overrides global)

artifactory.company.com

image.repository

Image repository

maisa-system

image.tag

Image tag (defaults to Chart version)

1.2.0

image.pullPolicy

Image pull policy

IfNotPresent

image.debug

Enable image debugging

false

API Server Configuration

Controls the API server component.

Parameter
Description
Default

api.enabled

Deploy API server

true

api.replicaCount

Number of API server replicas

1

api.service.port

Port for the API server

8080

api.metrics.port

Port for metrics

9090

api.resources.limits.cpu

CPU limit

1000m

api.resources.limits.memory

Memory limit

1Gi

api.resources.requests.cpu

CPU request

500m

api.resources.requests.memory

Memory request

512Mi

Database Configuration

Settings for the database component.

Internal Database

Parameter
Description
Default

database.internal.enabled

Use internal database

true

database.internal.persistence.enabled

Enable persistence

true

database.internal.persistence.size

Persistence size

8Gi

database.internal.resources.limits.cpu

CPU limit

1000m

database.internal.resources.limits.memory

Memory limit

2Gi

database.internal.resources.requests.cpu

CPU request

500m

database.internal.resources.requests.memory

Memory request

1Gi

database.internal.password

Database password (auto-generated if not provided)

""

External Database

Parameter
Description
Default

database.external.enabled

Use external database

false

database.external.host

External database host

""

database.external.port

External database port

5432

database.external.user

External database user

""

database.external.password

External database password

""

database.external.database

External database name

maisa

database.external.sslMode

SSL mode for database connection

require

Worker Configuration

Settings for the worker component that processes background jobs.

Parameter
Description
Default

worker.enabled

Deploy worker

true

worker.replicaCount

Number of worker replicas

1

worker.concurrency

Job concurrency

5

worker.queue.retryDelay

Retry delay in seconds

60

worker.queue.maxRetries

Maximum retry attempts

3

worker.resources.limits.cpu

CPU limit

1000m

worker.resources.limits.memory

Memory limit

1Gi

worker.resources.requests.cpu

CPU request

500m

worker.resources.requests.memory

Memory request

512Mi

worker.autoscaling.enabled

Enable autoscaling

false

worker.autoscaling.minReplicas

Minimum replicas

1

worker.autoscaling.maxReplicas

Maximum replicas

5

Scheduler Configuration (New in 1.2.0)

Settings for the scheduler component that triggers periodic jobs.

Parameter
Description
Default

scheduler.enabled

Deploy scheduler

true

scheduler.schedules.dataSync

Cron schedule for data sync

"0 */1 * * *"

scheduler.schedules.reportGeneration

Cron schedule for report generation

"0 0 * * *"

scheduler.schedules.cleanup

Cron schedule for cleanup jobs

"0 1 * * 0"

scheduler.resources.limits.cpu

CPU limit

500m

scheduler.resources.limits.memory

Memory limit

512Mi

scheduler.resources.requests.cpu

CPU request

100m

scheduler.resources.requests.memory

Memory request

128Mi

Ingress Configuration

Parameter
Description
Default

ingress.enabled

Enable ingress

false

ingress.className

Ingress class name

""

ingress.annotations

Ingress annotations

{}

ingress.hosts[0].host

Hostname

chart-example.local

ingress.hosts[0].paths[0].path

Path

/

ingress.hosts[0].paths[0].pathType

Path type

Prefix

ingress.tls

TLS configuration

[]

Persistence Configuration

Configuration for persistent storage.

Parameter
Description
Default

persistence.enabled

Enable persistence

true

persistence.storageClass

Storage class

""

persistence.accessModes

Access modes

["ReadWriteOnce"]

persistence.size

Size

10Gi

persistence.annotations

Annotations for the PVC

{}

persistence.existingClaim

Existing PVC (if you don't want to create a new one)

""

RBAC and Service Account

Parameter
Description
Default

serviceAccount.create

Create service account

true

serviceAccount.name

Service account name

""

serviceAccount.annotations

Annotations for the service account

{}

rbac.create

Create RBAC resources

true

rbac.rules

Rules for the role

[]

Security Configuration

Parameter
Description
Default

security.networkPolicy.enabled

Enable network policies

true

security.podSecurityContext.runAsNonRoot

Run as non-root user

true

security.podSecurityContext.runAsUser

User ID

1001

security.podSecurityContext.fsGroup

Group ID

1001

security.containerSecurityContext.allowPrivilegeEscalation

Allow privilege escalation

false

security.containerSecurityContext.capabilities.drop

Drop capabilities

["ALL"]

security.audit.enabled

Enable audit logging

true

Feature Flags

Enable or disable specific features.

Parameter
Description
Default

features.analytics.enabled

Enable analytics module

true

features.analytics.retention

Data retention in days

90

features.notifications.enabled

Enable notifications

true

features.notifications.channels

Notification channels

["email", "slack"]

features.export.enabled

Enable export functionality

true

features.export.formats

Export formats

["csv", "pdf", "excel"]

features.rateLimit.enabled

Enable API rate limiting

true

features.rateLimit.requestsPerMinute

Requests per minute

100

Breaking Changes from 1.1.0 to 1.2.0

Parameter
Change
Migration Path

api.port

Renamed to api.service.port

Update your values.yaml to use the new parameter name

database.enabled

Moved to database.internal.enabled

Update your values.yaml to use the new parameter location

database.password

Moved to database.internal.password

Update your values.yaml to use the new parameter location

externalDatabase.*

Moved to database.external.*

Update your values.yaml to use the new parameter location

features.reporting

Removed in favor of features.export

Use features.export with the appropriate formats

ingress.annotations.kubernetes.io/ingress.class

Deprecated

Use ingress.className instead

Upgrading from 1.1.0

To upgrade from version 1.1.0 to 1.2.0, follow these steps:

  1. Update your Helm repository:

helm repo update
  1. Create a backup of your values.yaml file:

cp values.yaml values.yaml.bak
  1. Adjust your values.yaml file to account for the breaking changes:

# Old format (1.1.0)
api:
  port: 8080
  
database:
  enabled: true
  password: "your-password"

externalDatabase:
  enabled: false
  # ...

features:
  reporting: true

ingress:
  annotations:
    kubernetes.io/ingress.class: nginx
# New format (1.2.0)
api:
  service:
    port: 8080
  
database:
  internal:
    enabled: true
    password: "your-password"
  external:
    enabled: false
    # ...

features:
  export:
    enabled: true
    formats:
      - csv
      - pdf
      - excel

ingress:
  className: nginx
  1. Upgrade your installation:

helm upgrade my-release maisa-repo/maisa-system --version 1.2.0 -f values.yaml

It's recommended to perform the upgrade in a test environment before upgrading your production system.

Complete Example

# Global settings
global:
  imageRegistry: "artifactory.company.com"
  storageClass: "standard"
  env:
    TZ: "UTC"

# Image settings
image:
  repository: "maisa-system"
  tag: "1.2.0"
  pullPolicy: "IfNotPresent"

# API server configuration
api:
  replicaCount: 2
  service:
    port: 8080
  metrics:
    port: 9090
  resources:
    limits:
      cpu: "1000m"
      memory: "1Gi"
    requests:
      cpu: "500m"
      memory: "512Mi"

# Database configuration
database:
  internal:
    enabled: true
    persistence:
      size: "10Gi"
  external:
    enabled: false

# Worker configuration
worker:
  enabled: true
  replicaCount: 2
  concurrency: 5

# Scheduler configuration
scheduler:
  enabled: true
  schedules:
    dataSync: "0 */1 * * *"
    reportGeneration: "0 0 * * *"
    cleanup: "0 1 * * 0"

# Ingress configuration
ingress:
  enabled: true
  className: "nginx"
  hosts:
    - host: "maisa-system.company.com"
      paths:
        - path: "/"
          pathType: "Prefix"
  tls:
    - secretName: "maisa-system-tls"
      hosts:
        - "maisa-system.company.com"

# Security settings
security:
  networkPolicy:
    enabled: true
  podSecurityContext:
    runAsNonRoot: true
    runAsUser: 1001
    fsGroup: 1001

# Features
features:
  analytics:
    enabled: true
  notifications:
    enabled: true
  export:
    enabled: true
    formats:
      - csv
      - pdf
      - excel
PreviousAuthentication

Last updated 26 days ago