Files
kestra/cli/src/main/resources/application.yml

274 lines
6.7 KiB
YAML

micronaut:
application:
name: kestra
# Disable Micronaut Open Telemetry
otel:
enabled: false
router:
static-resources:
swagger:
paths: classpath:META-INF/swagger
mapping: /swagger/**
ui:
paths: classpath:ui
mapping: /ui/**
static:
paths: classpath:static
mapping: /static/**
root:
paths: classpath:root
mapping: /**
codec:
json:
additional-types:
- application/scim+json
server:
max-request-size: 10GB
multipart:
max-file-size: 10GB
mixed: true
read-idle-timeout: 60m
write-idle-timeout: 60m
idle-timeout: 60m
responses:
file:
cache-seconds: 86400
cache-control:
public: true
netty:
max-zstd-encode-size: 67108864 # increased to 64MB from the default of 32MB
max-chunk-size: 10MB
max-header-size: 32768 # increased from the default of 8k
# Access log configuration, see https://docs.micronaut.io/latest/guide/index.html#accessLogger
access-logger:
enabled: true
logger-name: io.kestra.webserver.access
log-format: "%{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}t | %r | status: %s | ip: %a | length: %b | duration: %D"
exclusions:
- /ui/.+
- /health
- /health/.+
- /metrics
- /metrics/.+
- /prometheus
http-version: HTTP_1_1
caches:
default:
maximum-weight: 10485760
http:
client:
read-idle-timeout: 60s
connect-timeout: 30s
read-timeout: 60s
http-version: HTTP_1_1
services:
api:
url: https://api.kestra.io
remote-api:
read-idle-timeout: 180s
connect-timeout: 180s
read-timeout: 180s
proxy:
read-idle-timeout: 180s
connect-timeout: 180s
read-timeout: 180s
# By default, Micronaut uses a scheduled executor with 2*nbProc for @Scheduled which is a lot as we didn't use much scheduling tasks.
# Using core-pool-size to set the minimum nb threads to keep when idle instead.
executors:
scheduled:
type: scheduled
core-pool-size: 1
metrics:
binders:
retry:
enabled: true
netty:
queues:
enabled: true
bytebuf-allocators:
enabled: true
channels:
enabled: true
# Disable OpenTelemetry metrics by default, users that need it must enable it and configure the collector URL.
export:
otlp:
enabled: false
# url: http://localhost:4318/v1/metrics
jackson:
serialization:
writeDatesAsTimestamps: false
writeDurationsAsTimestamps: false
serialization-inclusion: non_null
deserialization:
FAIL_ON_UNKNOWN_PROPERTIES: false
mapper:
ACCEPT_CASE_INSENSITIVE_ENUMS: true
endpoints:
all:
port: 8081
enabled: true
sensitive: false
health:
details-visible: ANONYMOUS
disk-space:
enabled: false
discovery-client:
enabled: false
loggers:
write-sensitive: false
env:
enabled: true
flyway:
datasources:
postgres:
enabled: true
locations:
- classpath:migrations/postgres
# We must ignore missing migrations as we delete some wrong or not used anymore migrations
ignore-migration-patterns: "*:missing,*:future"
out-of-order: true
properties:
flyway:
postgresql:
transactional:
lock: false
mysql:
enabled: true
locations:
- classpath:migrations/mysql
# We must ignore missing migrations as we delete some wrong or not used anymore migrations
ignore-migration-patterns: "*:missing,*:future"
out-of-order: true
h2:
enabled: true
locations:
- classpath:migrations/h2
# We must ignore missing migrations as we delete some wrong or not used anymore migrations
ignore-migration-patterns: "*:missing,*:future"
out-of-order: true
kestra:
tutorial-flows:
# Automatically loads all tutorial flows at startup.
enabled: true
retries:
attempts: 5
multiplier: 2.0
delay: 1s
maxDelay: ""
server:
basic-auth:
# These URLs will not be authenticated, by default we open some of the Micronaut default endpoints but not all for security reasons
open-urls:
- "/ping"
- "/api/v1/executions/webhook/"
- "/api/v1/main/executions/webhook/"
- "/api/v1/*/executions/webhook/"
- "/api/v1/basicAuthValidationErrors"
preview:
initial-rows: 100
max-rows: 5000
# The expected time for this server to complete all its tasks before initiating a graceful shutdown.
terminationGracePeriod: 5m
workerTaskRestartStrategy: AFTER_TERMINATION_GRACE_PERIOD
# Configuration for Liveness and Heartbeat mechanism between servers.
liveness:
enabled: true
# The expected time between liveness probe.
interval: 10s
# The timeout used to detect service failures.
timeout: 1m
# The time to wait before executing a liveness probe.
initialDelay: 1m
# The expected time between service heartbeats.
heartbeatInterval: 3s
service:
purge:
initial-delay: 1h
fixed-delay: 1d
retention: 30d
jdbc:
queues:
min-poll-interval: 25ms
max-poll-interval: 500ms
poll-switch-interval: 60s
cleaner:
initial-delay: 1h
fixed-delay: 1h
retention: 7d
types:
- type: io.kestra.core.models.executions.LogEntry
retention: 1h
- type: io.kestra.core.models.executions.MetricEntry
retention: 1h
plugins:
repositories:
central:
url: https://repo.maven.apache.org/maven2/
configurations:
- type: io.kestra.plugin.core.flow.Subflow
values:
outputs:
enabled: true # backward-compatibility with version prior to v0.15.0
- type: io.kestra.plugin.core.flow.Flow
values:
outputs:
enabled: true # backward-compatibility with version prior to v0.15.0
- type: io.kestra.plugin.core.trigger.Schedule
values:
recoverMissedSchedules: ALL
variables:
env-vars-prefix: ENV_
cache-enabled: true
cache-size: 1000
metrics:
prefix: kestra
traces:
root: DISABLED
ui-anonymous-usage-report:
enabled: true
ui:
charts:
default-duration: P30D
anonymous-usage-report:
enabled: true
uri: https://api.kestra.io/v1/reports/server-events
initial-delay: 5m
fixed-delay: 1h
hidden-labels:
prefixes:
- system.
- internal.
otel:
exclusions:
- /ping
- /metrics
- /health
- /env
- /prometheus
propagators: tracecontext, baggage