Micronaut · Schema
Micronaut Application Configuration
JSON Schema for Micronaut application.yml configuration. Covers server, datasources, JPA, security, management endpoints, HTTP client, and service discovery settings.
Cloud NativeFrameworksJavaJVMMicroservicesServerless
Properties
| Name | Type | Description |
|---|---|---|
| micronaut | object | |
| datasources | object | DataSource configurations |
| jpa | object | |
| endpoints | object | Management endpoint configuration |
| logger | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/micronaut/json-schema/micronaut-application-config.json",
"title": "Micronaut Application Configuration",
"description": "JSON Schema for Micronaut application.yml configuration. Covers server, datasources, JPA, security, management endpoints, HTTP client, and service discovery settings.",
"type": "object",
"properties": {
"micronaut": {
"type": "object",
"properties": {
"application": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Application name for service discovery"
}
}
},
"server": {
"type": "object",
"description": "Embedded server configuration",
"properties": {
"host": {
"type": "string",
"default": "localhost",
"description": "Server host"
},
"port": {
"type": "integer",
"default": 8080,
"description": "Server port (-1 for random)"
},
"max-request-size": {
"type": "string",
"default": "10MB"
},
"read-timeout": {
"type": "string",
"description": "Read timeout duration"
},
"idle-timeout": {
"type": "string",
"description": "Idle connection timeout"
},
"context-path": {
"type": "string",
"description": "Application context path"
},
"cors": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"configurations": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"allowed-origins": {
"type": "array",
"items": { "type": "string" }
},
"allowed-methods": {
"type": "array",
"items": { "type": "string" }
},
"allowed-headers": {
"type": "array",
"items": { "type": "string" }
},
"max-age": { "type": "integer" }
}
}
}
}
},
"ssl": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"port": { "type": "integer", "default": 8443 },
"key-store": {
"type": "object",
"properties": {
"path": { "type": "string" },
"password": { "type": "string" },
"type": { "type": "string" }
}
}
}
},
"netty": {
"type": "object",
"properties": {
"worker": {
"type": "object",
"properties": {
"threads": { "type": "integer" }
}
},
"max-initial-line-length": { "type": "integer" },
"max-header-size": { "type": "integer" }
}
}
}
},
"http": {
"type": "object",
"properties": {
"client": {
"type": "object",
"description": "HTTP client configuration",
"properties": {
"read-timeout": { "type": "string", "default": "10s" },
"connect-timeout": { "type": "string", "default": "5s" },
"max-content-length": { "type": "integer" },
"pool": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"max-connections": { "type": "integer" },
"max-pending-acquires": { "type": "integer" }
}
}
}
},
"services": {
"type": "object",
"description": "Named HTTP service configurations for @Client",
"additionalProperties": {
"type": "object",
"properties": {
"urls": {
"type": "array",
"items": { "type": "string" }
},
"url": { "type": "string" },
"path": { "type": "string" },
"health-check": { "type": "boolean" },
"health-check-interval": { "type": "string" }
}
}
}
}
},
"security": {
"type": "object",
"description": "Micronaut Security configuration",
"properties": {
"enabled": { "type": "boolean", "default": true },
"authentication": {
"type": "string",
"enum": ["bearer", "session", "cookie", "idtoken"],
"description": "Authentication mode"
},
"token": {
"type": "object",
"properties": {
"jwt": {
"type": "object",
"properties": {
"signatures": {
"type": "object",
"properties": {
"secret": {
"type": "object",
"properties": {
"generator": {
"type": "object",
"properties": {
"secret": { "type": "string" },
"jws-algorithm": { "type": "string", "default": "HS256" }
}
}
}
}
}
}
}
},
"refresh": {
"type": "object",
"properties": {
"cookie": {
"type": "object",
"properties": {
"cookie-name": { "type": "string" }
}
}
}
}
}
},
"oauth2": {
"type": "object",
"properties": {
"clients": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"client-id": { "type": "string" },
"client-secret": { "type": "string" },
"grant-type": { "type": "string" },
"openid": {
"type": "object",
"properties": {
"issuer": { "type": "string" }
}
}
}
}
}
}
},
"intercept-url-map": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pattern": { "type": "string" },
"http-method": { "type": "string" },
"access": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
},
"router": {
"type": "object",
"properties": {
"static-resources": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"paths": {
"type": "array",
"items": { "type": "string" }
},
"mapping": { "type": "string" }
}
}
}
}
}
}
},
"datasources": {
"type": "object",
"description": "DataSource configurations",
"additionalProperties": {
"type": "object",
"properties": {
"url": { "type": "string" },
"driver-class-name": { "type": "string" },
"username": { "type": "string" },
"password": { "type": "string" },
"dialect": { "type": "string" },
"schema-generate": {
"type": "string",
"enum": ["NONE", "CREATE", "CREATE_DROP", "DROP_CREATE"]
},
"maximum-pool-size": { "type": "integer", "default": 10 },
"minimum-idle": { "type": "integer" }
}
}
},
"jpa": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"entity-scan": {
"type": "object",
"properties": {
"packages": {
"type": "array",
"items": { "type": "string" }
}
}
},
"properties": {
"type": "object",
"properties": {
"hibernate": {
"type": "object",
"properties": {
"hbm2ddl": {
"type": "object",
"properties": {
"auto": {
"type": "string",
"enum": ["none", "validate", "update", "create", "create-drop"]
}
}
},
"show_sql": { "type": "boolean" }
}
}
}
}
}
}
},
"endpoints": {
"type": "object",
"description": "Management endpoint configuration",
"properties": {
"all": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"health": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"sensitive": { "type": "boolean", "default": false },
"details-visible": {
"type": "string",
"enum": ["AUTHENTICATED", "ANONYMOUS", "NEVER"]
}
}
},
"info": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"sensitive": { "type": "boolean", "default": false }
}
},
"beans": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"loggers": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"metrics": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": true },
"sensitive": { "type": "boolean", "default": false }
}
},
"refresh": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"routes": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"env": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
},
"threaddump": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"sensitive": { "type": "boolean", "default": true }
}
}
}
},
"logger": {
"type": "object",
"properties": {
"levels": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF"]
}
}
}
}
},
"additionalProperties": true
}