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

JSON Schema

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