Helidon · Schema
Helidon Application Configuration
JSON Schema for Helidon application configuration (application.yaml / microprofile-config.properties). Covers server, security, datasource, metrics, health, tracing, and WebServer settings for both Helidon SE and MP.
Cloud NativeFrameworksJavaMicroProfileMicroservicesOracleReactive
Properties
| Name | Type | Description |
|---|---|---|
| server | object | Helidon WebServer configuration |
| security | object | Helidon Security configuration |
| javax.sql.DataSource | object | JDBC DataSource configuration (Helidon MP) |
| tracing | object | Distributed tracing configuration |
| mp | object | MicroProfile configuration |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/helidon/json-schema/helidon-application-config.json",
"title": "Helidon Application Configuration",
"description": "JSON Schema for Helidon application configuration (application.yaml / microprofile-config.properties). Covers server, security, datasource, metrics, health, tracing, and WebServer settings for both Helidon SE and MP.",
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "Helidon WebServer configuration",
"properties": {
"host": {
"type": "string",
"default": "0.0.0.0",
"description": "Server listen host"
},
"port": {
"type": "integer",
"default": 8080,
"description": "Server listen port"
},
"backlog": {
"type": "integer",
"default": 1024,
"description": "Server socket backlog"
},
"max-header-size": {
"type": "integer",
"default": 16384,
"description": "Maximum header size in bytes"
},
"max-initial-line-length": {
"type": "integer",
"default": 4096
},
"max-payload-size": {
"type": "integer",
"description": "Maximum payload size in bytes"
},
"idle-connection-timeout-seconds": {
"type": "integer",
"default": 0,
"description": "Idle connection timeout (0 for unlimited)"
},
"tls": {
"type": "object",
"properties": {
"private-key": {
"type": "object",
"properties": {
"keystore": {
"type": "object",
"properties": {
"resource": {
"type": "object",
"properties": {
"resource-path": { "type": "string" }
}
},
"passphrase": { "type": "string" },
"type": { "type": "string", "default": "PKCS12" }
}
}
}
},
"trust": {
"type": "object",
"properties": {
"keystore": {
"type": "object",
"properties": {
"resource": {
"type": "object",
"properties": {
"resource-path": { "type": "string" }
}
},
"passphrase": { "type": "string" }
}
}
}
}
}
},
"static": {
"type": "object",
"properties": {
"classpath": {
"type": "object",
"properties": {
"location": { "type": "string" },
"context": { "type": "string" }
}
}
}
},
"features": {
"type": "object",
"properties": {
"print-details": { "type": "boolean", "default": false }
}
}
}
},
"security": {
"type": "object",
"description": "Helidon Security configuration",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Ordered list of security providers"
},
"config": {
"type": "object",
"properties": {
"require-encryption": { "type": "boolean", "default": true },
"require-authentication": { "type": "boolean", "default": false },
"require-authorization": { "type": "boolean", "default": false }
}
},
"web-server": {
"type": "object",
"properties": {
"defaults": {
"type": "object",
"properties": {
"authenticate": { "type": "boolean" },
"authorize": { "type": "boolean" }
}
},
"paths": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": { "type": "string" },
"methods": {
"type": "array",
"items": { "type": "string" }
},
"authenticate": { "type": "boolean" },
"authorize": { "type": "boolean" },
"roles-allowed": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
}
}
},
"javax.sql.DataSource": {
"type": "object",
"description": "JDBC DataSource configuration (Helidon MP)",
"additionalProperties": {
"type": "object",
"properties": {
"dataSourceClassName": { "type": "string" },
"dataSource": {
"type": "object",
"properties": {
"url": { "type": "string" },
"user": { "type": "string" },
"password": { "type": "string" }
}
},
"maximumPoolSize": { "type": "integer", "default": 10 },
"minimumIdle": { "type": "integer" }
}
}
},
"tracing": {
"type": "object",
"description": "Distributed tracing configuration",
"properties": {
"service": {
"type": "string",
"description": "Service name for tracing"
},
"protocol": { "type": "string" },
"host": { "type": "string" },
"port": { "type": "integer" },
"path": { "type": "string" },
"enabled": { "type": "boolean", "default": true },
"sampler-type": {
"type": "string",
"enum": ["const", "probabilistic", "rate-limiting", "remote"]
},
"sampler-param": { "type": "number" }
}
},
"mp": {
"type": "object",
"description": "MicroProfile configuration",
"properties": {
"metrics": {
"type": "object",
"properties": {
"tags": {
"type": "string",
"description": "Global tags in key=value,key=value format"
},
"appName": { "type": "string" }
}
},
"openapi": {
"type": "object",
"properties": {
"filter": { "type": "string" },
"model": {
"type": "object",
"properties": {
"reader": { "type": "string" }
}
},
"scan": {
"type": "object",
"properties": {
"disable": { "type": "boolean", "default": false },
"packages": { "type": "string" },
"classes": { "type": "string" }
}
}
}
},
"jwt": {
"type": "object",
"properties": {
"verify": {
"type": "object",
"properties": {
"publickey": {
"type": "object",
"properties": {
"location": { "type": "string" }
}
},
"issuer": { "type": "string" }
}
}
}
}
}
}
},
"additionalProperties": true
}