2026-02-12 17:08:21 +05:30

187 lines
4.6 KiB
YAML

# Production/Default configuration for Scheduler Service
replicaCount: 2
# CRITICAL: Backstage Kubernetes plugin discovery label
commonLabels:
backstage.io/kubernetes-id: "schedulerservice"
image:
repository: europe-west1-docker.pkg.dev/prj-onlinesales-stag-01/os-docker-images/onlinesales/prod/services/java/schedulerservice
pullPolicy: IfNotPresent
tag: "1767770163300"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
create: true
annotations: {}
name: ""
podAnnotations:
reloader.stakater.com/auto: "true"
podLabels: {}
podSecurityContext:
fsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsNonRoot: true
runAsUser: 1000
capabilities:
drop:
- ALL
service:
type: ClusterIP
port: 8080
targetPort: 8080
annotations: {}
# Ingress configuration (DEPRECATED - use httpRoute below instead)
ingress:
enabled: false
className: ""
annotations: {}
hosts:
- host: schedulerservice.example.com
paths:
- path: /schedulerService
pathType: Prefix
tls: []
# Gateway API HTTPRoute configuration (modern replacement for Ingress)
httpRoute:
enabled: false
annotations: {}
# Reference to the Gateway that will handle this route
parentRefs:
- name: main-gateway
namespace: traefik
sectionName: https
# Hostnames for this route
hostnames: []
# Optional: Custom routing rules (if not specified, defaults to PathPrefix /)
# rules:
# - matches:
# - path:
# type: PathPrefix
# value: /schedulerService
resources:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 250m
memory: 512Mi
livenessProbe:
httpGet:
path: /schedulerService/jobTrigger?jsonQuery=%7B%22application%22%3A%22nagios%22%2C%22jobName%22%3A%22monitoring_scheduler_svc%22%7D
port: http
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
failureThreshold: 5
successThreshold: 1
readinessProbe:
httpGet:
path: /schedulerService/jobTrigger?jsonQuery=%7B%22application%22%3A%22nagios%22%2C%22jobName%22%3A%22monitoring_scheduler_svc%22%7D
port: http
initialDelaySeconds: 30
periodSeconds: 15
timeoutSeconds: 30
failureThreshold: 5
startupProbe:
httpGet:
path: /schedulerService/jobTrigger?jsonQuery=%7B%22application%22%3A%22nagios%22%2C%22jobName%22%3A%22monitoring_scheduler_svc%22%7D
port: http
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 30
failureThreshold: 30
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
targetMemoryUtilizationPercentage: 80
pdb:
enabled: true
minAvailable: 1
nodeSelector: {}
tolerations: []
affinity: {}
# External service dependencies
externalServices: {}
config:
enabled: true
mountPath: /etc/onlinesales/config/schedulerService
files:
schedulerService.cfg: |
{
prod: {
log_config: "/etc/onlinesales/config/schedulerService/log.cfg",
scheduler_db_hibernate_config: "/etc/onlinesales/db/hibernate.cfg.xml"
},
test: {
log_config: "/etc/onlinesales/config/schedulerService/log.cfg",
scheduler_db_hibernate_config: "/etc/onlinesales/db/hibernate.cfg.xml"
}
}
authConfig.cfg: |
{
prod: {
"auth_enable": false,
"hades_auth_url": "http://hades-service/hades/authorize"
},
test: {
"auth_enable": false,
"hades_auth_url": "http://hades-service/hades/authorize"
}
}
log.cfg: |
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
env:
- name: APP_ENV
value: "test"
- name: LOG_LEVEL
value: "DEBUG"
- name: DB_CONFIG_FILE
value: "/etc/onlinesales/db/hibernate.cfg.xml"
- name: LOG_CONFIG_FILE
value: "/etc/onlinesales/config/schedulerService/log.cfg"
# External Database configuration
# MySQL is deployed as a shared dependency (not a subchart)
# Options (in priority order):
# 1. host: explicit MySQL host
# 2. mysqlRelease: derives host as {mysqlRelease}-mysql
# 3. autoDerive: derives host as {namespace}-os-schedules-argo-syncer-mysql
externalDatabase:
host: ""
mysqlRelease: ""
autoDerive: false # Set to true to auto-derive host from namespace
port: "3306"
database: "os_scheduling_db"
username: "scheduler_user"
password: ""