Quarkus · Schema
Quarkus Application Configuration
JSON Schema for Quarkus application.properties / application.yml configuration. Covers HTTP server, datasource, Hibernate ORM, REST client, health, metrics, security, and native image settings.
Cloud NativeFrameworksGraalVMJavaKubernetesMicroservicesServerless
Properties
| Name | Type | Description |
|---|---|---|
| quarkus | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/quarkus/json-schema/quarkus-application-properties.json",
"title": "Quarkus Application Configuration",
"description": "JSON Schema for Quarkus application.properties / application.yml configuration. Covers HTTP server, datasource, Hibernate ORM, REST client, health, metrics, security, and native image settings.",
"type": "object",
"properties": {
"quarkus": {
"type": "object",
"properties": {
"http": {
"type": "object",
"description": "HTTP server configuration",
"properties": {
"port": {
"type": "integer",
"default": 8080,
"description": "HTTP listen port"
},
"host": {
"type": "string",
"default": "0.0.0.0",
"description": "HTTP listen host"
},
"ssl-port": {
"type": "integer",
"default": 8443,
"description": "HTTPS listen port"
},
"root-path": {
"type": "string",
"default": "/",
"description": "Context root for the application"
},
"cors": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"origins": {
"type": "string",
"description": "Comma-separated allowed origins"
},
"methods": { "type": "string" },
"headers": { "type": "string" },
"exposed-headers": { "type": "string" },
"access-control-max-age": { "type": "string" }
}
},
"ssl": {
"type": "object",
"properties": {
"certificate": {
"type": "object",
"properties": {
"files": { "type": "string" },
"key-files": { "type": "string" },
"key-store-file": { "type": "string" },
"key-store-password": { "type": "string" },
"key-store-file-type": { "type": "string" }
}
}
}
},
"limits": {
"type": "object",
"properties": {
"max-body-size": { "type": "string", "default": "10M" },
"max-header-size": { "type": "string", "default": "20K" }
}
},
"access-log": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"pattern": { "type": "string" }
}
}
}
},
"datasource": {
"type": "object",
"description": "Agroal datasource configuration",
"properties": {
"db-kind": {
"type": "string",
"enum": ["postgresql", "mysql", "mariadb", "h2", "derby", "mssql", "oracle", "db2"],
"description": "Database kind"
},
"jdbc": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "JDBC URL"
},
"max-size": {
"type": "integer",
"default": 20,
"description": "Maximum pool size"
},
"min-size": {
"type": "integer",
"default": 0,
"description": "Minimum pool size"
}
}
},
"reactive": {
"type": "object",
"properties": {
"url": { "type": "string" },
"max-size": { "type": "integer", "default": 20 }
}
},
"username": { "type": "string" },
"password": { "type": "string" }
}
},
"hibernate-orm": {
"type": "object",
"description": "Hibernate ORM configuration",
"properties": {
"database": {
"type": "object",
"properties": {
"generation": {
"type": "string",
"enum": ["none", "create", "drop-and-create", "drop", "update", "validate"],
"description": "Schema generation strategy"
}
}
},
"log": {
"type": "object",
"properties": {
"sql": { "type": "boolean", "default": false }
}
},
"physical-naming-strategy": { "type": "string" },
"second-level-caching-enabled": { "type": "boolean", "default": true }
}
},
"rest-client": {
"type": "object",
"description": "MicroProfile REST Client configuration",
"additionalProperties": {
"type": "object",
"properties": {
"url": { "type": "string" },
"uri": { "type": "string" },
"scope": { "type": "string" },
"connect-timeout": { "type": "integer" },
"read-timeout": { "type": "integer" }
}
}
},
"smallrye-health": {
"type": "object",
"description": "SmallRye Health configuration",
"properties": {
"root-path": {
"type": "string",
"default": "/q/health",
"description": "Root path for health endpoints"
},
"liveness-path": { "type": "string", "default": "/q/health/live" },
"readiness-path": { "type": "string", "default": "/q/health/ready" },
"startup-path": { "type": "string", "default": "/q/health/started" }
}
},
"smallrye-metrics": {
"type": "object",
"properties": {
"path": {
"type": "string",
"default": "/q/metrics",
"description": "Metrics endpoint path"
},
"micrometer": {
"type": "object",
"properties": {
"compatibility": { "type": "boolean", "default": false }
}
}
}
},
"micrometer": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"export": {
"type": "object",
"properties": {
"prometheus": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"path": { "type": "string", "default": "/q/metrics" }
}
}
}
}
}
},
"smallrye-openapi": {
"type": "object",
"description": "SmallRye OpenAPI configuration",
"properties": {
"path": {
"type": "string",
"default": "/q/openapi",
"description": "Path to serve the OpenAPI document"
},
"info-title": { "type": "string" },
"info-version": { "type": "string" },
"info-description": { "type": "string" }
}
},
"swagger-ui": {
"type": "object",
"properties": {
"always-include": {
"type": "boolean",
"default": false,
"description": "Include Swagger UI in production builds"
},
"path": {
"type": "string",
"default": "/q/swagger-ui"
}
}
},
"oidc": {
"type": "object",
"description": "OpenID Connect configuration",
"properties": {
"auth-server-url": { "type": "string" },
"client-id": { "type": "string" },
"credentials": {
"type": "object",
"properties": {
"secret": { "type": "string" }
}
},
"application-type": {
"type": "string",
"enum": ["web-app", "service", "hybrid"]
},
"token": {
"type": "object",
"properties": {
"issuer": { "type": "string" }
}
}
}
},
"log": {
"type": "object",
"description": "Logging configuration",
"properties": {
"level": {
"type": "string",
"default": "INFO",
"description": "Default root log level"
},
"min-level": {
"type": "string",
"default": "DEBUG"
},
"category": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"level": { "type": "string" },
"min-level": { "type": "string" }
}
}
},
"console": {
"type": "object",
"properties": {
"enable": { "type": "boolean", "default": true },
"format": { "type": "string" },
"json": { "type": "boolean", "default": false }
}
},
"file": {
"type": "object",
"properties": {
"enable": { "type": "boolean", "default": false },
"path": { "type": "string" },
"format": { "type": "string" }
}
}
}
},
"native": {
"type": "object",
"description": "GraalVM native image settings",
"properties": {
"additional-build-args": {
"type": "string",
"description": "Additional arguments for native-image"
},
"resources": {
"type": "object",
"properties": {
"includes": { "type": "string" },
"excludes": { "type": "string" }
}
}
}
},
"package": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["jar", "fast-jar", "uber-jar", "native", "native-sources", "legacy-jar"],
"default": "fast-jar",
"description": "Package type for the application"
}
}
},
"profile": {
"type": "string",
"description": "Active Quarkus profile (dev, test, prod)"
}
}
}
},
"additionalProperties": true
}