Sagar Patil fc0153efee chore: update image to propertysettingsservicev3 dev build
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 18:49:42 +05:30

361 lines
13 KiB
YAML

# Default values for property-settings-svc-v2-chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
# External service dependencies - URLs can be overridden via Helm parameters
hades:
baseUrl: "http://hades-service:8080"
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
replicaCount: 1
# Common labels to add to all resources
# These labels enable Backstage discovery and Hades IP registration
commonLabels:
backstage.io/kubernetes-id: "property-settings-v2-service"
osmos.ai/track: "true"
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
image:
repository: europe-west1-docker.pkg.dev/prj-onlinesales-prod-01/os-docker-images/onlinesales/github-actions/prod/java/propertysettingsservicev3
# This sets the pull policy for images.
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: "dev-4862005c33f336a5eaadc8424d5a6bebb66c345f"
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []
# This is to override the chart name.
nameOverride: "property-settings"
fullnameOverride: ""
# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/
serviceAccount:
# Specifies whether a service account should be created.
create: true
# Automatically mount a ServiceAccount's API credentials?
automount: true
# Annotations to add to the service account.
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template.
name: ""
# This is for setting Kubernetes Annotations to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
podAnnotations:
osmos.ai/service-name: "psDbService_rw"
# This is for setting Kubernetes Labels to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
podLabels: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/
service:
# This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
type: ClusterIP
# This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports
port: 8080
# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/
ingress:
enabled: false
className: ""
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# -- Expose the service via gateway-api HTTPRoute
# Requires Gateway API resources and suitable controller installed within the cluster
# (see: https://gateway-api.sigs.k8s.io/guides/)
httpRoute:
# HTTPRoute enabled.
enabled: false
# HTTPRoute annotations.
annotations: {}
# Which Gateways this Route is attached to.
parentRefs:
- name: gateway
sectionName: http
# namespace: default
# Hostnames matching HTTP header.
hostnames:
- chart-example.local
# List of rules and filters applied.
rules:
- matches:
- path:
type: PathPrefix
value: /propertySettingsSvcV2
# filters:
# - type: RequestHeaderModifier
# requestHeaderModifier:
# set:
# - name: My-Overwrite-Header
# value: this-is-the-only-value
# remove:
# - User-Agent
# - matches:
# - path:
# type: PathPrefix
# value: /echo
# headers:
# - name: version
# value: v2
resources:
requests:
cpu: 500m
memory: 512Mi
# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
livenessProbe:
httpGet:
path: /propertySettingsSvcV2/properties?jsonQuery=%7B%22requestType%22%3A%22GetAllProperties%22%2C%22isActive%22%3A%22true%22%2C%22propertyTypeFilter%22%3A%5B%22BUSINESS_SEGMENT_SET%22%5D%2C%22isBestProperty%22%3Afalse%2C%22entityDetails%22%3A%5B%7B%22entityType%22%3A%22AGENCY%22%2C%22entityValue%22%3A%22424_1%22%7D%5D%2C%22application%22%3A%22nagios%22%7D
port: http
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /propertySettingsSvcV2/properties?jsonQuery=%7B%22requestType%22%3A%22GetAllProperties%22%2C%22isActive%22%3A%22true%22%2C%22propertyTypeFilter%22%3A%5B%22BUSINESS_SEGMENT_SET%22%5D%2C%22isBestProperty%22%3Afalse%2C%22entityDetails%22%3A%5B%7B%22entityType%22%3A%22AGENCY%22%2C%22entityValue%22%3A%22424_1%22%7D%5D%2C%22application%22%3A%22nagios%22%7D
port: http
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 200
targetMemoryUtilizationPercentage: 80
# Traefik Ingress Configuration (for test setup with IP header injection)
# Enable this to route traffic through Traefik with custom IP header injection
traefik:
# Enable Traefik routing for Hades calls
enabled: false
# Service-specific IP address for X-Client-IP header
clientIP: "10.0.0.1"
# Base URL for routing to Hades via Traefik (path-based routing - no DNS config needed)
hadesUrl: "http://traefik.traefik.svc.cluster.local/property-hades"
# Middleware reference (must exist in cluster)
middleware:
name: "property-settings-caller-headers"
namespace: "traefik"
# Additional volumes on the output Deployment definition.
volumes: []
# The deployment will automatically add config and db-config volumes
# - config volume mounts ConfigMap with application configuration files
# - db-config volume mounts Secret with Hibernate mapping
# Additional volumeMounts on the output Deployment definition.
volumeMounts: []
# The deployment automatically mounts:
# - /etc/onlinesales/config/propertySettingsSvcV2 (from config ConfigMap)
# - /etc/onlinesales/db (from db-config Secret)
nodeSelector: {}
tolerations: []
affinity: {}
# MySQL Database Configuration
# Set mysql.enabled to true to deploy MySQL as part of this chart
# Set mysql.enabled to false to use an external MySQL database
mysql:
enabled: true
image: "mysql"
imageTag: "8.0.33"
imagePullPolicy: IfNotPresent
mysqlRootPassword: "changeme"
mysqlUser: "propertysettings"
mysqlPassword: "changeme"
mysqlDatabase: "property_settings_db_v2"
persistence:
enabled: true
size: 8Gi
storageClass: ""
resources:
requests:
cpu: 250m
memory: 256Mi
configurationFiles:
mysql.cnf: |-
[mysqld]
default_authentication_plugin=mysql_native_password
character-set-server=utf8
collation-server=utf8_general_ci
sql_mode=NO_ENGINE_SUBSTITUTION
max_allowed_packet=16M
log_bin_trust_function_creators=ON
# Database initialization
# Automatically runs all SQL migration files from sql/ directory in alphabetical order
# SQL files are loaded via ConfigMap and executed by a Helm Job (post-install/post-upgrade hook)
# To use a specific set of files, manage them in the sql/ directory:
# - For clean installation: Use 000-003 files (004 can be removed or renamed)
# - For complete dump with data: Use only 004 file (rename others to .bak or remove)
dbInit:
enabled: true
# External MySQL Configuration (used when mysql.enabled=false)
externalDatabase:
host: "mysql.example.com"
port: 3306
database: "property_settings_db_v2"
username: "propertysettings"
password: "changeme"
# Root password for database initialization (defaults to password if not set)
rootPassword: "changeme"
# Application Configuration Files
# These values are used to generate the ConfigMap mounted at /etc/onlinesales/config/propertySettingsSvcV2
appEnv:
test
config:
# Main service configuration
propertySettingsService:
prod:
logConfig: "/etc/onlinesales/config/propertySettingsSvcV2/log.cfg"
hibernateConfig: "/etc/onlinesales/db/propertySettingsV2.hbm.xml"
restAccessorConfig: "/etc/onlinesales/config/propertySettingsSvcV2/prodRestAccessor.cfg"
test:
logConfig: "/etc/onlinesales/config/propertySettingsSvcV2/log.cfg"
hibernateConfig: "/etc/onlinesales/db/propertySettingsV2.hbm.xml"
restAccessorConfig: "/etc/onlinesales/config/propertySettingsSvcV2/testRestAccessor.cfg"
# Logging configuration
log: |
log4j.rootLogger=DEBUG, root
log4j.logger.OS=DEBUG, root
log4j.logger.org.hibernate=DEBUG, root
log4j.appender.root=org.apache.log4j.ConsoleAppender
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.layout.ConversionPattern=<%d> %5p [%t](%c) [%X{request_id}] - %m%n
log4j.additivity.OS=false
log4j.logger.SOKRATI_METRICS=OFF, A3
log4j.appender.A3=org.apache.log4j.ConsoleAppender
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=<%d> %5p [%t](%c) - %m%n
log4j.additivity.SOKRATI_METRICS=false
# Production REST accessor configuration
prodRestAccessor: |
{
"post_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "post",
"response": "com.sokrati.propertySettingsSvcObjectsV2.PostPropertiesResponse"
},
"get_all_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "get",
"response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse"
},
"get_best_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "get",
"response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse"
},
"fetch_context":
{
"url": "http://hades-service:8080/hadesV2/context",
"type": "get",
"response": "com.sokrati.hadesObjects.ContextResponse"
}
}
# Test REST accessor configuration
testRestAccessor: |
{
"post_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "post",
"response": "com.sokrati.propertySettingsSvcObjectsV2.PostPropertiesResponse"
},
"get_all_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "get",
"response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse"
},
"get_best_properties":
{
"url": "http://property-settings-v2-service:8080/propertySettingsSvcV2/properties",
"type": "get",
"response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse"
},
"fetch_context":
{
"url": "http://hades-service:8080/hadesV2/context",
"type": "get",
"response": "com.sokrati.hadesObjects.ContextResponse"
}
}
# Authentication configuration
auth: |
{
prod: {
hades_auth_url : "http://hades-service:8080/hadesV2/authorize",
auth_enable : false
},
test: {
hades_auth_url : "http://hades-service:8080/hadesV2/authorize",
auth_enable : false
}
}
# Statistics logging configuration
statsLogging: |
{
test: {
metric_name_prefix: "",
statsd_host: "localhost",
statsd_port: "8125",
logging_enabled: "true",
},
prod: {
metric_name_prefix: "",
statsd_host: "localhost",
statsd_port: "8125",
logging_enabled: "true",
}
}