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

JSON Schema

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