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
View JSON Schema on GitHub

JSON Schema

quarkus-application-properties.json Raw ↑
{
  "$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
}