Helm chart for Spring Boot application with logging and tracing
To install the chart with the release name java-service
:
$ helm repo add romanow https://romanow.github.io/helm-charts/
$ helm repo update
$ helm install java-service romanow/java-service
To uninstall the java-service
installation:
helm uninstall java-service
Key | Type | Default | Description |
---|---|---|---|
circuitBreaker.enabled | bool | false |
Enable circuit breaker (set `CIRCUIT_BREAKER_ENABLED` env) |
configVolumes | list | [] |
External configs |
database.host | string | "postgres" |
Database host (set `DATABASE_HOST` env) |
database.name | string | null |
Database name (if defined, set `DATABASE_NAME` env) |
database.password | string | "test" |
Database password (set `DATABASE_PASSWORD` env) |
database.port | int | 5432 |
Database port (set `DATABASE_PORT` env) |
database.username | string | "program" |
Database user (set `DATABASE_USER` env) |
environments | list | [] |
Additional env variables |
filebeat.enabled | bool | false |
Enable send logs to ELK |
filebeat.image | object | {
"pullPolicy": "IfNotPresent",
"repository": "elastic/filebeat",
"tag": "7.17.8"
} |
Filebeat agent image |
filebeat.logstash | object | {
"host": "logstash",
"port": 5044
} |
Logstash address |
filebeat.resources.limits | object | {
"cpu": "50m",
"memory": "128Mi"
} |
Limited resources |
filebeat.resources.requests | object | {
"cpu": "50m",
"memory": "128Mi"
} |
Requested resources |
image | object | {
"pullPolicy": "IfNotPresent",
"repository": null,
"tag": null
} |
Image name and version |
ingress.domain | string | "romanow-alex.ru" |
Domain |
ingress.enabled | bool | false |
Enable ingress |
ingress.name | string | .Release.Name |
Ingress name |
initContainers | list | [] |
Init containers full declaration |
javaOptions | string | null |
|
liveness.delay | int | 60 |
Liveness initial delay |
liveness.path | string | "/manage/health/readiness" |
Liveness path |
liveness.port | int | 8080 |
|
liveness.timeout | int | 10 |
Liveness timeout between requests |
logFolder | string | .Release.Name |
Log folder (if filebeat is enabled) |
memoryUsage | float | 75 |
|
metrics.enabled | bool | true |
Is Prometheus metrics enabled (add annotation: `prometheus.io/scrape: true`) |
metrics.path | string | "/manage/prometheus" |
Metrics path |
ports.external | string | null |
If define, create NodePort for external usage |
ports.internal | int | 8080 |
Application port |
postDeployContainers | list | [] |
Containers to start after deploy main resources |
profile | string | "k8s" |
Spring Boot profile |
readiness.delay | int | 60 |
Readiness initial delay |
readiness.path | string | "/manage/health/readiness" |
Readiness path |
readiness.port | int | 8080 |
|
readiness.timeout | int | 10 |
Readiness timeout between requests |
replicas | int | 1 |
Count of replicas |
resources.limits | object | {
"cpu": "500m",
"memory": "1024Mi"
} |
Limited resources |
resources.requests | object | {
"cpu": "500m",
"memory": "1024Mi"
} |
Requested resources |
secrets | list | [] |
Additional secrets |
serviceName | string | .Release.Name |
Custom service name |
tracing.enabled | bool | false |
Enable tracing (set `TRACING_ENABLED` env) |
tracing.endpoint | string | "http://localhost:4318/v1/traces" |
OpenTelemetry collector endpoint |
Name | Url | |
---|---|---|
Romanov Alexey | [email protected] | https://romanow.github.io |