first commit

This commit is contained in:
2026-06-10 12:25:52 +05:30
commit c3d6dc4fb8
133 changed files with 18388 additions and 0 deletions

View File

@@ -0,0 +1,164 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "chart.fullname" . }}-configmap
labels:
name: {{ include "chart.fullname" . }}-configmap
data:
application.yml: |
spring:
application:
name: {{repo_name}}
datasource:
url: jdbc:mysql://mysql-haproxy.database.svc.cluster.local:3306/{{db_name repo_name}}?createDatabaseIfNotExist=true
username: system
password: admin
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
connectionTimeout: 20000
maximumPoolSize: 20
jpa:
database-platform: org.hibernate.dialect.MySQL8Dialect
hibernate:
ddl-auto: update # Options: none, validate, update, create, create-drop
show-sql: true
defer-datasource-initialization: false
properties:
hibernate:
format_sql: true
# If you are using process, uncomment below
# sql:
# init:
# schema-locations:
# - classpath:activiti.engine.schema.sql
# mode: always
security:
oauth2:
resourceserver:
jwt:
issuer-uri: https://holocron.keross.com/api/platform
# If you use any one of the below data sources, uncomment data and the respective section.
#data:
# If you are using redis, uncomment below
# redis:
# host: redis.database.svc.cluster.local
# port: 6379
# password: ducs8WZf7lJnsHm6
# database: 0
# lettuce:
# pool:
# max-active: 10 # Maximum number of connections
# max-idle: 8 # Maximum idle connections
# min-idle: 2 # Minimum idle connections
# max-wait: 5s # Max wait time for a connection
# If you are using mongodb, uncomment below
# mongodb:
# host: mongo.database.svc.cluster.loca
# port: 27017
# username: admin
# password: admin
# authentication-database: admin
# mongodb:
# client:
# settings:
# connection-pool:
# max-size: 500 # Maximum connections in the pool
# min-size: 10 # Minimum idle connections
# max-connection-idle-time: 10s # Time a connection can be idle before being closed
# max-wait-time: 5s
# If you are using kafka, uncomment below
# kafka:
# bootstrap-servers: kafka.kafka.svc.cluster.local:9092
# properties:
# schema:
# registry:
# url: http://schemaregistry.kafka.svc.cluster.local:8081
# specific:
# avro:
# reader: true
# producer:
# key-serializer: org.apache.kafka.common.serialization.StringSerializer
# value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
# consumer:
# key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# value-deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer
# group-id: ${spring.application.name}-consumer-group
# auto-offset-reset: earliest
ikon:
user:
agent: "IKON App Server"
time-zone: "Asia/Kolkata"
platform:
rest:
url: http://ikon-api-gateway.ikon-platform.svc.cluster.local:8080/api
logger:
enabled: false # set true when deployed in dev/uat/prod otherwise set to false if running in local/devtools environment.
app:
softwareId: "{{software_id}}"
softwareVersion: {{version}}
softwareName: "{{app_name}}"
softwareRepositoryName: "{{repo_name}}"
accessmanagement:
init:
file: ./bpmn/project.json
# If you are using process, uncomment below
# processengine:
# databaseSchemaUpdate: false # possible values: "true", "false", "create-drop"
# bpmn:
# enabled: true
# path: ./bpmn
# job:
# max-pool-size: 100
logging:
level:
com.ikon: DEBUG
file:
name: "../logs/${spring.application.name}-app.log"
server:
address: ${HOSTNAME}
port: 8070
eureka:
instance:
hostname: ${HOSTNAME}
ipAddress: ${{{upper_snake_case repo_name}}_BACKEND_SERVICE_SERVICE_HOST}
preferIpAddress: true
instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://ikon-discovery-service.ikon-platform.svc.cluster.local:8761/eureka
management:
endpoint:
health:
probes:
enabled: true
show-details: always
endpoints:
web:
exposure:
include: health
health:
livenessState:
enabled: true
readinessState:
enabled: true

View File

@@ -0,0 +1,62 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "chart.fullname" . }}-deployment
labels:
{{- include "chart.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "chart.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "chart.selectorLabels" . | nindent 8 }}
spec:
{{- if .Values.global.imagePullSecret.enabled }}
imagePullSecrets:
- name: {{ .Release.Name }}-registry-secret
{{- else if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /actuator/health/liveness
port: http
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
readinessProbe:
httpGet:
path: /actuator/health/readiness
port: http
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
volumeMounts:
- name: config-volume
readOnly: true
mountPath: /app/application.yml
subPath: application.yml
resources:
{{- toYaml .Values.resources | nindent 10 }}
env:
{{- with .Values.env }}
{{- toYaml . | nindent 10 }}
{{- end }}
volumes:
- name: config-volume
configMap:
name: {{ include "chart.fullname" . }}-configmap

View File

@@ -0,0 +1,49 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "chart.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
*/}}
{{- define "chart.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "chart.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "chart.labels" -}}
helm.sh/chart: {{ include "chart.chart" . }}
{{ include "chart.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "chart.selectorLabels" -}}
app.kubernetes.io/name: {{ include "chart.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "chart.fullname" . }}-service
labels:
{{- include "chart.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "chart.selectorLabels" . | nindent 4 }}