# Default values for property-settings-svc-v2-chart. # This is a YAML-formatted file. # Declare variables to be passed into your templates. # This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ replicaCount: 1 # This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/ image: repository: localhost:5001/prj-onlinesales-prod-01/os-docker-images/onlinesales/prod/services/java/propertysettingssvcv2 # This sets the pull policy for images. pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "1752740345878" # 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: {} # 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: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" 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: /headers # 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 # 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" # 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://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "post", "response": "com.sokrati.propertySettingsSvcObjectsV2.PostPropertiesResponse" }, "get_all_properties": { "url": "http://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "get", "response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse" }, "get_best_properties": { "url": "http://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "get", "response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse" }, "fetch_context": { "url": "http://hades.hades.svc.cluster.local:8080/hadesV2/context", "type": "get", "response": "com.sokrati.hadesObjects.ContextResponse" } } # Test REST accessor configuration testRestAccessor: | { "post_properties": { "url": "http://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "post", "response": "com.sokrati.propertySettingsSvcObjectsV2.PostPropertiesResponse" }, "get_all_properties": { "url": "http://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "get", "response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse" }, "get_best_properties": { "url": "http://prop-property-settings:8080/propertySettingsSvcV2/properties", "type": "get", "response": "com.sokrati.propertySettingsSvcObjectsV2.GetPropertiesResponse" }, "fetch_context": { "url": "http://hades.hades.svc.cluster.local:8080/hadesV2/context", "type": "get", "response": "com.sokrati.hadesObjects.ContextResponse" } } # Authentication configuration auth: | { prod: { hades_auth_url : "http://hades.hades.svc.cluster.local:8080/hadesV2/authorize", auth_enable : true }, test: { hades_auth_url : "http://hades.hades.svc.cluster.local:8080/hadesV2/authorize", auth_enable : true } } # 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", } }