ToolJet/plugins/packages/mssql/lib/manifest.json
Siddharth Pundir 668807c2c9
Mssql entra auth implementation (#15760)
* Mssql entra auth implementation

* migration for sql auth type

* Update index.ts

* automation fix

* Undoing the change

* fixed mssql authdropdown (#15811)

---------

Co-authored-by: Srimaniteja <mani@tooljet.com>
2026-04-02 21:05:27 +05:30

785 lines
No EOL
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"$schema": "https://raw.githubusercontent.com/ToolJet/ToolJet/develop/plugins/schemas/manifest.schema.json",
"title": "Mssql datasource",
"description": "A schema defining mssql datasource",
"type": "object",
"tj:version": "1.0.0",
"tj:source": {
"name": "SQL Server",
"kind": "mssql",
"type": "database"
},
"properties": {
"connection_type": {
"type": "string",
"title": "Connection type",
"description": "Single select dropdown for connection_type",
"enum": ["manual", "string"],
"default": "manual"
},
"connection_string": {
"type": "string",
"title": "Connection string",
"description": "Server=localhost,1433;Database=mydb;User Id=sa;Password=mypass;"
},
"host": {
"type": "string",
"title": "Host",
"description": "localhost",
"default": "localhost"
},
"instanceName": {
"type": "string",
"title": "Instance",
"description": "Enter the name of the database instance"
},
"port": {
"type": "number",
"title": "Port",
"description": "1433",
"default": 1433
},
"database": {
"type": "string",
"title": "Database",
"description": "Enter name of the database"
},
"username": {
"type": "string",
"title": "Username",
"description": "Enter username"
},
"password": {
"type": "string",
"title": "Password",
"description": "Enter password"
},
"auth_type": {
"type": "string",
"title": "Authentication type",
"enum": ["sql", "service_principal"],
"default": "sql"
},
"sp_tenant_id": {
"type": "string",
"title": "Tenant ID",
"description": "Enter Azure AD Tenant ID"
},
"sp_client_id": {
"type": "string",
"title": "Client ID",
"description": "Enter Azure AD Client (Application) ID"
},
"sp_client_secret": {
"type": "string",
"title": "Client secret",
"description": "Enter client secret value"
},
"connection_options": {
"type": "array",
"title": "Connection options",
"description": "Connection options"
},
"allow_dynamic_connection_parameters": {
"type": "boolean",
"title": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"default": false
},
"azure": {
"type": "boolean",
"title": "Azure (encrypt connection)",
"description": "Toggle for azure",
"default": false
},
"ssl_enabled": {
"type": "boolean",
"title": "SSL/TLS",
"description": "Connect using SSL",
"default": false
},
"ssl_certificate": {
"type": "string",
"title": "SSL certificate",
"description": "Single select dropdown for choosing certificates",
"enum": ["none", "ca_certificate", "self_signed"],
"default": "none"
},
"ca_cert": {
"type": "string",
"title": "CA cert",
"description": "Enter ca certificate"
},
"client_key": {
"type": "string",
"title": "Client key",
"description": "Enter client key"
},
"client_cert": {
"type": "string",
"title": "Client cert",
"description": "Enter client certificate"
},
"root_cert": {
"type": "string",
"title": "Root cert",
"description": "Enter root certificate"
},
"ssh_enabled": {
"type": "string",
"title": "SSH Tunnel",
"description": "Connect through an SSH server",
"enum": ["enabled", "disabled"],
"default": "disabled"
},
"ssh_host": {
"type": "string",
"title": "SSH Host"
},
"ssh_port": {
"type": "number",
"title": "SSH Port",
"default": 22
},
"ssh_username": {
"type": "string",
"title": "SSH Username"
},
"ssh_auth_type": {
"type": "string",
"title": "SSH Authentication Type",
"enum": ["private_key", "password"],
"default": "private_key"
},
"ssh_password": {
"type": "string",
"title": "SSH Password"
},
"ssh_private_key": {
"type": "string",
"title": "SSH Private Key"
},
"ssh_passphrase": {
"type": "string",
"title": "SSH Passphrase"
}
},
"allOf": [
{
"if": {
"properties": {
"connection_type": {
"const": "string"
}
}
},
"then": {
"required": ["connection_string"]
}
},
{
"if": {
"properties": {
"ssl_certificate": {
"const": "ca_certificate"
}
}
},
"then": {
"required": ["ca_cert"]
}
},
{
"if": {
"properties": {
"ssl_certificate": {
"const": "self_signed"
}
}
},
"then": {
"required": ["client_key", "client_cert", "root_cert"]
}
},
{
"if": {
"properties": {
"ssh_enabled": {
"const": "enabled"
}
}
},
"then": {
"required": ["ssh_host", "ssh_port", "ssh_username", "ssh_auth_type"]
}
}
],
"tj:encrypted": [
"password",
"ca_cert",
"client_key",
"client_cert",
"root_cert",
"ssh_private_key",
"ssh_password",
"ssh_passphrase",
"connection_string",
"sp_client_secret"
],
"required": [
"connection_type"
],
"tj:ui:properties": {
"connection_type": {
"order": 1,
"$ref": "#/properties/connection_type",
"key": "connection_type",
"label": "Connection type",
"description": "Single select dropdown for connection_type",
"widget": "dropdown-component-flip",
"list": [
{
"name": "Manual connection",
"value": "manual"
},
{
"name": "Connection string",
"value": "string"
}
]
},
"manual": {
"host": {
"order": 10,
"$ref": "#/properties/host",
"key": "host",
"label": "Host",
"description": "localhost",
"widget": "text-v3",
"required": true
},
"port": {
"order": 20,
"$ref": "#/properties/port",
"key": "port",
"label": "Port",
"description": "1433",
"widget": "text-v3",
"required": true
},
"instanceName": {
"order": 30,
"$ref": "#/properties/instanceName",
"key": "instance_name",
"label": "Instance",
"description": "Enter the name of the database instance",
"widget": "text-v3"
},
"database": {
"order": 40,
"$ref": "#/properties/database",
"key": "database",
"label": "Database",
"description": "Enter name of the database",
"widget": "text-v3"
},
"auth_type": {
"order": 45,
"$ref": "#/properties/auth_type",
"key": "auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "sql",
"list": [
{ "value": "sql", "name": "SQL Server" },
{ "value": "service_principal", "name": "Azure AD \u2013 Service Principal" }
]
},
"sql": {
"username": {
"order": 50,
"$ref": "#/properties/username",
"key": "username",
"label": "Username",
"description": "Enter username",
"widget": "text-v3"
},
"password": {
"order": 60,
"$ref": "#/properties/password",
"key": "password",
"label": "Password",
"description": "Enter password",
"widget": "password-v3",
"help_text": "Supports secrets (e.g., {{secrets.db_password}})"
}
},
"service_principal": {
"sp_tenant_id": {
"order": 50,
"$ref": "#/properties/sp_tenant_id",
"key": "sp_tenant_id",
"label": "Tenant ID",
"description": "Enter Azure AD Tenant ID",
"widget": "text-v3",
"required": true
},
"sp_client_id": {
"order": 51,
"$ref": "#/properties/sp_client_id",
"key": "sp_client_id",
"label": "Client ID",
"description": "Enter Azure AD Client (Application) ID",
"widget": "text-v3",
"required": true
},
"sp_client_secret": {
"order": 52,
"$ref": "#/properties/sp_client_secret",
"key": "sp_client_secret",
"label": "Client secret",
"description": "Enter client secret value",
"widget": "password-v3",
"required": true
}
},
"connection_options": {
"order": 70,
"$ref": "#/properties/connection_options",
"key": "connection_options",
"label": "Connection options",
"widget": "react-component-headers"
},
"ssl_enabled": {
"order": 75,
"$ref": "#/properties/ssl_enabled",
"key": "ssl_enabled",
"label": "SSL/TLS",
"description": "Enable SSL connection",
"widget": "toggle-flip",
"help_text": "Enable encrypted connections to SQL Server.",
"default": false,
"true": {
"ssl_certificate": {
"order": 76,
"$ref": "#/properties/ssl_certificate",
"key": "ssl_certificate",
"label": "SSL certificate",
"description": "SSL certificate type",
"widget": "dropdown-component-flip",
"default": "none",
"list": [
{ "value": "none", "name": "None" },
{ "value": "ca_certificate", "name": "CA certificate" },
{ "value": "self_signed", "name": "Self-signed certificate" }
]
},
"ca_certificate": {
"ca_cert": {
"order": 77,
"$ref": "#/properties/ca_cert",
"key": "ca_cert",
"label": "CA certificate",
"description": "Enter CA certificate",
"widget": "password-v3-textarea"
}
},
"self_signed": {
"client_key": {
"order": 77,
"$ref": "#/properties/client_key",
"key": "client_key",
"label": "Client key",
"description": "Enter client key",
"widget": "password-v3-textarea"
},
"client_cert": {
"order": 78,
"$ref": "#/properties/client_cert",
"key": "client_cert",
"label": "Client certificate",
"description": "Enter client certificate",
"widget": "password-v3-textarea"
},
"root_cert": {
"order": 79,
"$ref": "#/properties/root_cert",
"key": "root_cert",
"label": "Root certificate",
"description": "Enter root certificate",
"widget": "password-v3-textarea"
}
},
"none": {}
},
"false": {}
},
"ssh_enabled": {
"order": 80,
"$ref": "#/properties/ssh_enabled",
"key": "ssh_enabled",
"label": "SSH tunnel",
"description": "Connect through an SSH server",
"widget": "toggle-flip",
"default": false,
"help_text": "Connect through an SSH server to access databases in private networks."
},
"enabled": {
"ssh_host": {
"order": 90,
"$ref": "#/properties/ssh_host",
"key": "ssh_host",
"label": "SSH host",
"description": "ssh.example.com",
"help_text": "SSH server hostname or IP address",
"widget": "text-v3"
},
"ssh_port": {
"order": 100,
"$ref": "#/properties/ssh_port",
"key": "ssh_port",
"label": "SSH port",
"description": "22",
"help_text": "Default SSH port is 22",
"widget": "text-v3"
},
"ssh_username": {
"order": 110,
"$ref": "#/properties/ssh_username",
"key": "ssh_username",
"label": "SSH username",
"description": "SSH username",
"widget": "text-v3"
},
"ssh_auth_type": {
"order": 175,
"$ref": "#/properties/ssh_auth_type",
"key": "ssh_auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "private_key",
"list": [
{ "value": "private_key", "name": "Private key" },
{ "value": "password", "name": "Password" }
]
},
"private_key": {
"ssh_private_key": {
"order": 180,
"$ref": "#/properties/ssh_private_key",
"key": "ssh_private_key",
"label": "SSH private key",
"widget": "password-v3-textarea"
},
"ssh_passphrase": {
"order": 190,
"$ref": "#/properties/ssh_passphrase",
"key": "ssh_passphrase",
"label": "SSH passphrase",
"widget": "password-v3"
}
},
"password": {
"ssh_password": {
"order": 180,
"$ref": "#/properties/ssh_password",
"key": "ssh_password",
"label": "SSH password",
"widget": "password-v3"
}
}
},
"disabled": {},
"allow_dynamic_connection_parameters": {
"order": 140,
"$ref": "#/properties/allow_dynamic_connection_parameters",
"key": "allow_dynamic_connection_parameters",
"label": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"widget": "toggle-v2",
"help_text": "Enable this to override the default host and database at query runtime"
},
"azure": {
"order": 150,
"$ref": "#/properties/azure",
"key": "azure",
"label": "Azure encrypt connection",
"description": "Toggle for azure",
"help_text": "Enable encrypted connection for Azure SQL Database.",
"widget": "toggle-v2"
}
},
"string": {
"connection_string": {
"order": 2,
"$ref": "#/properties/connection_string",
"key": "connection_string",
"label": "Connection string",
"description": "Enter encoded connection string",
"widget": "password-v3-textarea",
"required": true
},
"host": {
"order": 10,
"$ref": "#/properties/host",
"key": "host",
"label": "Host",
"description": "localhost",
"widget": "text-v3",
"required": true
},
"port": {
"order": 20,
"$ref": "#/properties/port",
"key": "port",
"label": "Port",
"description": "1433",
"widget": "text-v3",
"required": true
},
"database": {
"order": 35,
"$ref": "#/properties/database",
"key": "database",
"label": "Database",
"description": "Enter database",
"widget": "text-v3"
},
"instanceName": {
"order": 30,
"$ref": "#/properties/instanceName",
"key": "instance_name",
"label": "Instance",
"description": "Enter the name of the database instance",
"widget": "text-v3"
},
"auth_type": {
"order": 36,
"$ref": "#/properties/auth_type",
"key": "auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "sql",
"list": [
{ "value": "sql", "name": "SQL Server" },
{ "value": "service_principal", "name": "Azure AD Service Principal" }
]
},
"sql": {
"username": {
"order": 40,
"$ref": "#/properties/username",
"key": "username",
"label": "Username",
"description": "Enter username",
"widget": "text-v3"
},
"password": {
"order": 50,
"$ref": "#/properties/password",
"key": "password",
"label": "Password",
"description": "Enter password",
"widget": "password-v3",
"help_text": "Supports secrets (e.g., {{secrets.db_password}})"
}
},
"service_principal": {
"sp_tenant_id": {
"order": 40,
"$ref": "#/properties/sp_tenant_id",
"key": "sp_tenant_id",
"label": "Tenant ID",
"description": "Enter Azure AD Tenant ID",
"widget": "text-v3",
"required": true
},
"sp_client_id": {
"order": 41,
"$ref": "#/properties/sp_client_id",
"key": "sp_client_id",
"label": "Client ID",
"description": "Enter Azure AD Client (Application) ID",
"widget": "text-v3",
"required": true
},
"sp_client_secret": {
"order": 42,
"$ref": "#/properties/sp_client_secret",
"key": "sp_client_secret",
"label": "Client secret",
"description": "Enter client secret value",
"widget": "password-v3",
"required": true
}
},
"connection_options": {
"order": 60,
"$ref": "#/properties/connection_options",
"key": "connection_options",
"label": "Connection options",
"widget": "react-component-headers"
},
"ssl_enabled": {
"order": 75,
"$ref": "#/properties/ssl_enabled",
"key": "ssl_enabled",
"label": "SSL/TLS",
"description": "Enable SSL connection",
"widget": "toggle-flip",
"help_text": "Enable encrypted connections to SQL Server.",
"default": false,
"true": {
"ssl_certificate": {
"order": 76,
"$ref": "#/properties/ssl_certificate",
"key": "ssl_certificate",
"label": "SSL certificate",
"description": "SSL certificate type",
"widget": "dropdown-component-flip",
"default": "none",
"list": [
{ "value": "none", "name": "None" },
{ "value": "ca_certificate", "name": "CA certificate" },
{ "value": "self_signed", "name": "Self-signed certificate" }
]
},
"ca_certificate": {
"ca_cert": {
"order": 77,
"$ref": "#/properties/ca_cert",
"key": "ca_cert",
"label": "CA certificate",
"description": "Enter CA certificate",
"widget": "password-v3-textarea"
}
},
"self_signed": {
"client_key": {
"order": 77,
"$ref": "#/properties/client_key",
"key": "client_key",
"label": "Client key",
"description": "Enter client key",
"widget": "password-v3-textarea"
},
"client_cert": {
"order": 78,
"$ref": "#/properties/client_cert",
"key": "client_cert",
"label": "Client certificate",
"description": "Enter client certificate",
"widget": "password-v3-textarea"
},
"root_cert": {
"order": 79,
"$ref": "#/properties/root_cert",
"key": "root_cert",
"label": "Root certificate",
"description": "Enter root certificate",
"widget": "password-v3-textarea"
}
},
"none": {}
},
"false": {}
},
"ssh_enabled": {
"order": 80,
"$ref": "#/properties/ssh_enabled",
"key": "ssh_enabled",
"label": "SSH tunnel",
"description": "Connect through an SSH server",
"widget": "toggle-flip",
"default": false,
"help_text": "Connect through an SSH server to access databases in private networks."
},
"enabled": {
"ssh_host": {
"order": 90,
"$ref": "#/properties/ssh_host",
"key": "ssh_host",
"label": "SSH host",
"description": "ssh.example.com",
"help_text": "SSH server hostname or IP address",
"widget": "text-v3"
},
"ssh_port": {
"order": 100,
"$ref": "#/properties/ssh_port",
"key": "ssh_port",
"label": "SSH port",
"description": "22",
"help_text": "Default SSH port is 22",
"widget": "text-v3"
},
"ssh_username": {
"order": 110,
"$ref": "#/properties/ssh_username",
"key": "ssh_username",
"label": "SSH username",
"description": "SSH Username",
"widget": "text-v3"
},
"ssh_auth_type": {
"order": 175,
"$ref": "#/properties/ssh_auth_type",
"key": "ssh_auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "private_key",
"list": [
{ "value": "private_key", "name": "Private key" },
{ "value": "password", "name": "Password" }
]
},
"private_key": {
"ssh_private_key": {
"order": 180,
"$ref": "#/properties/ssh_private_key",
"key": "ssh_private_key",
"label": "SSH private key",
"widget": "password-v3-textarea"
},
"ssh_passphrase": {
"order": 190,
"$ref": "#/properties/ssh_passphrase",
"key": "ssh_passphrase",
"label": "SSH passphrase",
"widget": "password-v3"
}
},
"password": {
"ssh_password": {
"order": 180,
"$ref": "#/properties/ssh_password",
"key": "ssh_password",
"label": "SSH password",
"widget": "password-v3"
}
}
},
"disabled": {},
"allow_dynamic_connection_parameters": {
"order": 130,
"$ref": "#/properties/allow_dynamic_connection_parameters",
"key": "allow_dynamic_connection_parameters",
"label": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"widget": "toggle-v2",
"help_text": "Enable this to override the default host and database at query runtime"
},
"azure": {
"order": 140,
"$ref": "#/properties/azure",
"key": "azure",
"label": "Azure encrypt connection",
"description": "Toggle for azure",
"widget": "toggle-v2",
"help_text": "Enable encrypted connection for Azure SQL Database."
}
}
}
}