schemas.schema-form.json Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gravitee-apim-plugin-apiservice-servicediscovery-consul Show documentation
Show all versions of gravitee-apim-plugin-apiservice-servicediscovery-consul Show documentation
Api Service dedicated to manage Consul service discovery for apis
{
"type": "object",
"id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration",
"properties": {
"url": {
"title": "Consul.io URL",
"description": "Address of the Consul.io agent",
"type": "string",
"default": "http://localhost:8500"
},
"service": {
"title": "Service",
"description": "The service name to query",
"type": "string"
},
"dc": {
"title": "DC",
"description": "Name of the data-center to query. If unspecified, the query will default to the data-center of the Consul agent at the HTTP address.",
"type": "string"
},
"acl": {
"title": "ACL",
"description": "ACL token to use in the request. If unspecified, the query will default to the token of the Consul agent at the HTTP address.",
"type": "string"
},
"ssl": {
"type": "object",
"title": "SSL Options",
"id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslOptions",
"properties": {
"hostnameVerifier": {
"title": "Verify Host",
"description": "Use to enable host name verification",
"type": "boolean",
"default": true
},
"trustAll": {
"title": "Trust all",
"description": "Use this with caution (if over Internet). The gateway must trust any origin certificates. The connection will still be encrypted but this mode is vulnerable to 'man in the middle' attacks.",
"type": "boolean",
"default": false
},
"trustStore": {
"type": "object",
"title": "Trust store",
"id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslTrustStoreOptions",
"properties": {
"type": {
"type": "string",
"title": "Type",
"description": "The type of the trust store",
"default": "",
"enum": ["", "JKS", "PKCS12", "PEM"],
"x-schema-form": {
"type": "select",
"titleMap": {
"": "None",
"JKS": "Java Trust Store (.jks)",
"PKCS12": "PKCS#12 (.p12) / PFX (.pfx)",
"PEM": "PEM (.pem)"
}
}
},
"password": {
"type": "string",
"title": "Password",
"description": "Trust store password",
"x-schema-form": {
"type": "password",
"hidden": [
{
"$eq": {
"ssl.trustStore.type": ["", "PEM"]
}
}
]
}
},
"path": {
"type": "string",
"title": "Path to trust store",
"description": "Path to the trust store file",
"x-schema-form": {
"hidden": [
{
"$eq": {
"ssl.trustStore.type": ""
}
}
]
}
},
"content": {
"type": "string",
"title": "Content",
"description": "Binary content as Base64",
"x-schema-form": {
"type": "text",
"hidden": [
{
"$eq": {
"ssl.trustStore.type": ""
}
}
]
}
}
},
"oneOf": [
{
"properties": { "type": { "const": "" } }
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["content"]
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["path"]
},
{
"properties": { "type": { "pattern": "JKS|PKCS12" } },
"required": ["content", "password"]
},
{
"properties": { "type": { "pattern": "JKS|PKCS12" } },
"required": ["path", "password"]
}
],
"x-schema-form": {
"hidden": [
{
"$eq": {
"ssl.trustAll": true
}
}
]
}
},
"keyStore": {
"type": "object",
"title": "Key store",
"id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslKeyStoreOptions",
"properties": {
"type": {
"type": "string",
"title": "Type",
"description": "The type of the key store",
"default": "",
"enum": ["", "JKS", "PKCS12", "PEM"],
"x-schema-form": {
"type": "select",
"titleMap": {
"": "None",
"JKS": "Java Trust Store (.jks)",
"PKCS12": "PKCS#12 (.p12) / PFX (.pfx)",
"PEM": "PEM (.pem)"
}
}
},
"password": {
"type": "string",
"title": "Password",
"description": "Password to use to open the key store",
"x-schema-form": {
"type": "password",
"hidden": [
{
"$eq": {
"ssl.keyStore.type": ["", "PEM"]
}
}
]
}
},
"alias": {
"type": "string",
"title": "Alias for the key",
"description": "Alias of the key to use in case the key store contains more than one key",
"x-schema-form": {
"type": "password",
"hidden": [
{
"$eq": {
"ssl.keyStore.type": ["", "PEM"]
}
}
]
}
},
"keyPassword": {
"type": "string",
"title": "Key Password",
"description": "Password to use to access the key when protected by password",
"x-schema-form": {
"type": "password",
"hidden": [
{
"$eq": {
"ssl.keyStore.type": ["", "PEM"]
}
}
]
}
},
"path": {
"type": "string",
"title": "Path to key store",
"description": "Path to the key store file",
"x-schema-form": {
"hidden": [
{
"$eq": {
"ssl.keyStore.type": ["", "PEM"]
}
}
]
}
},
"content": {
"type": "string",
"title": "Content",
"description": "Binary content as Base64",
"x-schema-form": {
"type": "text",
"hidden": [
{
"$eq": {
"ssl.keyStore.type": ["", "PEM"]
}
}
]
}
},
"certPath": {
"type": "string",
"title": "Path to cert file",
"description": "Path to cert file (.PEM)",
"x-schema-form": {
"hidden": [
{
"$neq": {
"ssl.keyStore.type": "PEM"
}
}
]
}
},
"certContent": {
"type": "string",
"title": "Certificate",
"x-schema-form": {
"type": "text",
"hidden": [
{
"$neq": {
"ssl.keyStore.type": "PEM"
}
}
]
}
},
"keyPath": {
"type": "string",
"title": "Path to private key file",
"description": "Path to private key file (.PEM)",
"x-schema-form": {
"hidden": [
{
"$neq": {
"ssl.keyStore.type": "PEM"
}
}
]
}
},
"keyContent": {
"type": "string",
"title": "Private key",
"x-schema-form": {
"type": "text",
"hidden": [
{
"$neq": {
"ssl.keyStore.type": "PEM"
}
}
]
}
}
},
"oneOf": [
{
"properties": { "type": { "const": "" } }
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["certContent", "keyContent"]
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["certPath", "keyPath"]
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["certContent", "keyPath"]
},
{
"properties": { "type": { "const": "PEM" } },
"required": ["certPath", "keyContent"]
},
{
"properties": { "type": { "pattern": "JKS|PKCS12" } },
"required": ["content", "password"]
},
{
"properties": { "type": { "pattern": "JKS|PKCS12" } },
"required": ["path", "password"]
}
]
}
}
}
},
"required": [
"url",
"service"
]
}