Open Liberty · Schema

Open Liberty Server Configuration

JSON Schema representing the Open Liberty server.xml configuration structure including features, HTTP endpoints, application definitions, data sources, and security.

Application ServerCloud-NativeIBMJakarta EEJavaMicroProfileMicroservices

Properties

Name Type Description
server object Root server element.
View JSON Schema on GitHub

JSON Schema

server-config.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/open-liberty/json-schema/server-config.json",
  "title": "Open Liberty Server Configuration",
  "description": "JSON Schema representing the Open Liberty server.xml configuration structure including features, HTTP endpoints, application definitions, data sources, and security.",
  "type": "object",
  "properties": {
    "server": {
      "type": "object",
      "description": "Root server element.",
      "properties": {
        "description": {
          "type": "string",
          "description": "Human-readable description of the server."
        },
        "featureManager": {
          "type": "object",
          "description": "Feature manager to enable Liberty features.",
          "properties": {
            "feature": {
              "type": "array",
              "description": "List of features to enable.",
              "items": {
                "type": "string",
                "description": "Feature name (e.g., jaxrs-2.1, mpHealth-4.0, mpConfig-3.0)."
              }
            }
          }
        },
        "httpEndpoint": {
          "type": "object",
          "description": "HTTP endpoint configuration.",
          "properties": {
            "id": {
              "type": "string",
              "default": "defaultHttpEndpoint"
            },
            "host": {
              "type": "string",
              "default": "*"
            },
            "httpPort": {
              "type": "integer",
              "default": 9080,
              "minimum": 0,
              "maximum": 65535
            },
            "httpsPort": {
              "type": "integer",
              "default": 9443,
              "minimum": 0,
              "maximum": 65535
            }
          },
          "additionalProperties": true
        },
        "application": {
          "type": "array",
          "description": "Application deployment definitions.",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique application identifier."
              },
              "name": {
                "type": "string",
                "description": "Application name."
              },
              "type": {
                "type": "string",
                "description": "Application type.",
                "enum": ["war", "ear", "eba", "rar"]
              },
              "location": {
                "type": "string",
                "description": "Path to the application archive."
              },
              "context-root": {
                "type": "string",
                "description": "Context root for the application."
              }
            },
            "required": ["location"],
            "additionalProperties": true
          }
        },
        "dataSource": {
          "type": "array",
          "description": "Data source definitions.",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "jndiName": {
                "type": "string",
                "description": "JNDI name for the data source."
              },
              "jdbcDriverRef": {
                "type": "string"
              },
              "properties": {
                "type": "object",
                "properties": {
                  "serverName": {
                    "type": "string"
                  },
                  "portNumber": {
                    "type": "integer"
                  },
                  "databaseName": {
                    "type": "string"
                  },
                  "user": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "URL": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            },
            "additionalProperties": true
          }
        },
        "jdbcDriver": {
          "type": "array",
          "description": "JDBC driver definitions.",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "libraryRef": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "keyStore": {
          "type": "object",
          "description": "SSL keystore configuration.",
          "properties": {
            "id": {
              "type": "string",
              "default": "defaultKeyStore"
            },
            "password": {
              "type": "string"
            },
            "location": {
              "type": "string"
            },
            "type": {
              "type": "string",
              "enum": ["PKCS12", "JKS", "JCEKS"]
            }
          },
          "additionalProperties": true
        },
        "ssl": {
          "type": "object",
          "description": "SSL configuration.",
          "properties": {
            "id": {
              "type": "string",
              "default": "defaultSSLConfig"
            },
            "keyStoreRef": {
              "type": "string"
            },
            "trustStoreRef": {
              "type": "string"
            },
            "sslProtocol": {
              "type": "string",
              "default": "TLSv1.2"
            }
          },
          "additionalProperties": true
        },
        "mpMetrics": {
          "type": "object",
          "description": "MicroProfile Metrics configuration.",
          "properties": {
            "authentication": {
              "type": "boolean",
              "default": false
            }
          },
          "additionalProperties": true
        },
        "mpHealth": {
          "type": "object",
          "description": "MicroProfile Health configuration.",
          "additionalProperties": true
        },
        "logging": {
          "type": "object",
          "description": "Logging configuration.",
          "properties": {
            "traceSpecification": {
              "type": "string",
              "description": "Trace specification string."
            },
            "consoleLogLevel": {
              "type": "string",
              "enum": ["INFO", "AUDIT", "WARNING", "ERROR", "OFF"],
              "default": "AUDIT"
            },
            "consoleFormat": {
              "type": "string",
              "enum": ["DEV", "SIMPLE", "JSON", "TBASIC"],
              "default": "DEV"
            },
            "consoleSource": {
              "type": "string",
              "description": "Comma-separated list of sources to include."
            },
            "maxFileSize": {
              "type": "integer",
              "description": "Maximum log file size in MB.",
              "default": 20
            },
            "maxFiles": {
              "type": "integer",
              "description": "Maximum number of log files.",
              "default": 2
            }
          },
          "additionalProperties": true
        },
        "quickStartSecurity": {
          "type": "object",
          "description": "Quick start security registry.",
          "properties": {
            "userName": {
              "type": "string"
            },
            "userPassword": {
              "type": "string"
            }
          }
        },
        "administrator-role": {
          "type": "object",
          "description": "Administrator role mapping.",
          "properties": {
            "user": {
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}