add descriptions to schema and fix sample-config-advanced.json

Signed-off-by: si458 <simonsmith5521@gmail.com>
This commit is contained in:
si458 2025-03-20 10:49:10 +00:00
parent 5cb565c005
commit 027e5b52c5
2 changed files with 286 additions and 142 deletions

View File

@ -22,10 +22,12 @@
}, },
"mongoDb": { "mongoDb": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "Add this section to connect MeshCentral to a MongoDB database instance. Set to the MongoDB connection string. For example 'mongodb://localhost:27017/meshcentral'."
}, },
"mongoDbName": { "mongoDbName": {
"type": "string" "type": "string",
"description": "Name of the MongoDB database used."
}, },
"mongoDbChangeStream": { "mongoDbChangeStream": {
"type": "boolean", "type": "boolean",
@ -278,6 +280,7 @@
}, },
"dbExpire": { "dbExpire": {
"type": "object", "type": "object",
"description": "Amount of time to keep various events in the database, in seconds. Below are the default values",
"properties": { "properties": {
"events": { "events": {
"type": "integer", "type": "integer",
@ -572,14 +575,17 @@
"description": "Set to false to disable agent multicast scanning on the local network, this is already disabled in WAN mode." "description": "Set to false to disable agent multicast scanning on the local network, this is already disabled in WAN mode."
}, },
"meshErrorLogPath": { "meshErrorLogPath": {
"type": "string" "type": "string",
"description": "Path to the MeshCentral error log file."
}, },
"npmPath": { "npmPath": {
"type": "string" "type": "string",
"description": "Path to the npm executable."
}, },
"npmProxy": { "npmProxy": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "HTTP proxy to use when downloading npm packages."
}, },
"allowHighQualityDesktop": { "allowHighQualityDesktop": {
"type": "boolean", "type": "boolean",
@ -680,7 +686,7 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"description": "Users in this list are allowed to see and manage all device groups within their domain." "description": "Users in this list are allowed to see and manage all device groups within their domain. For example ['user//billybob','user//fred'] would allow billybob and fred to manage all device groups from all users in their domain."
}, },
"manageCrossDomain": { "manageCrossDomain": {
"type": "array", "type": "array",
@ -688,17 +694,19 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"description": "Users in this list are allowed to manage all users in all domains." "description": "Users in this list are allowed to manage all users in all domains. For example ['user//billybob','user/subdomain/fred'] would allow billybob to manage all users in all domains."
}, },
"localDiscovery": { "localDiscovery": {
"type": "object", "type": "object",
"description": "When this server is in LAN mode, you may discover this server using a multicast discovery tool. When discovery happens, the name and info fields are sent back to the discovery tool.", "description": "When this server is in LAN mode, you may discover this server using a multicast discovery tool. When discovery happens, the name and info fields are sent back to the discovery tool.",
"properties": { "properties": {
"name": { "name": {
"type": "string" "type": "string",
"description": "The name of the server."
}, },
"info": { "info": {
"type": "string" "type": "string",
"description": "The information about the server."
}, },
"key": { "key": {
"type": "string", "type": "string",
@ -745,17 +753,20 @@
}, },
"mpsPortBind": { "mpsPortBind": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "When set, bind the MPS port to a specific network address."
}, },
"mpsAliasPort": { "mpsAliasPort": {
"type": "integer", "type": "integer",
"minimum": 1, "minimum": 1,
"maximum": 65535, "maximum": 65535,
"default": null "default": null,
"description": "The actual MPS port as seen externally on the Internet, this setting is often used when a reverse-proxy is used."
}, },
"mpsAliasHost": { "mpsAliasHost": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "When set, the MPS port is ignored and the MPS is accessed using this DNS name."
}, },
"mpsTlsOffload": { "mpsTlsOffload": {
"type": "boolean", "type": "boolean",
@ -777,7 +788,8 @@
}, },
"no2FactorAuth": { "no2FactorAuth": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set to true, disables two-factor authentication for all users."
}, },
"debug": { "debug": {
"type": "string", "type": "string",
@ -791,15 +803,18 @@
}, },
"syslog": { "syslog": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "Send syslog events to a target hostname:port. For example: localhost:514"
}, },
"syslogauth": { "syslogauth": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "Send syslog events to a target hostname:port with authentication. For example: user:password@localhost:514"
}, },
"syslogjson": { "syslogjson": {
"type": "string", "type": "string",
"default": null "default": null,
"description": "Send syslog events in JSON format to a target hostname:port. For example: localhost:514"
}, },
"syslogtcp": { "syslogtcp": {
"type": "string", "type": "string",
@ -1218,6 +1233,14 @@
"default": null, "default": null,
"description": "If an agent attempts to connect to a unknown device group, automatically create a new device group and grant access to the specified user. Example: admin" "description": "If an agent attempts to connect to a unknown device group, automatically create a new device group and grant access to the specified user. Example: admin"
}, },
"manageAllDeviceGroups": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
},
"description": "Users in this list are allowed to see and manage all device groups within their domain. For example ['billybob','fred'] would allow billybob and fred to manage all device groups from all users in their domain."
},
"maxDeviceView": { "maxDeviceView": {
"type": "integer", "type": "integer",
"default": null, "default": null,
@ -1239,10 +1262,12 @@
"description": "If true, a Scroll To Top button in the devices tab." "description": "If true, a Scroll To Top button in the devices tab."
}, },
"userQuota": { "userQuota": {
"type": "integer" "type": "integer",
"description": "This is the maximum amount of data in kilobytes that can be placed in the “My Files” tab for a user account."
}, },
"meshQuota": { "meshQuota": {
"type": "integer" "type": "integer",
"description": "This is the maximum amount of data in kilobytes that can be placed in the “My Files” tab for a given mesh"
}, },
"loginKey": { "loginKey": {
"type": [ "type": [
@ -1296,7 +1321,8 @@
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} },
"description": "When set, new accounts will be added to these groups."
}, },
"userNameIsEmail": { "userNameIsEmail": {
"type": "boolean", "type": "boolean",
@ -1308,14 +1334,19 @@
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} },
"description": "When set, new accounts will only be created for email addresses that match these domains."
}, },
"newAccountsRights": { "newAccountsRights": {
"type": "array", "type": [
"array",
"string"
],
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} },
"description": "When set, new accounts will be added to these siteadmin rights."
}, },
"allowedOrigin": { "allowedOrigin": {
"type": [ "type": [
@ -1989,16 +2020,20 @@
"description": "This section is user to customize user notifications when a remote desktop, terminal or file session is connected to a remote system.", "description": "This section is user to customize user notifications when a remote desktop, terminal or file session is connected to a remote system.",
"properties": { "properties": {
"Title": { "Title": {
"type": "string" "type": "string",
"description": "Title of the notification message."
}, },
"Desktop": { "Desktop": {
"type": "string" "type": "string",
"description": "Message to show when a remote desktop session is connected, you can use {0} to represent the realname and {1} to represent the username."
}, },
"Terminal": { "Terminal": {
"type": "string" "type": "string",
"description": "Message to show when a remote terminal session is connected, you can use {0} to represent the realname and {1} to represent the username."
}, },
"Files": { "Files": {
"type": "string" "type": "string",
"description": "Message to show when a remote file session is connected, you can use {0} to represent the realname and {1} to represent the username."
} }
} }
}, },
@ -2739,16 +2774,20 @@
}, },
"yubikey": { "yubikey": {
"type": "object", "type": "object",
"description": "Yubikey configuration",
"properties": { "properties": {
"id": { "id": {
"type": "string" "type": "string",
"description": "Yubikey client ID"
}, },
"secret": { "secret": {
"type": "string" "type": "string",
"description": "Yubikey secret key"
}, },
"proxy": { "proxy": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "Yubikey proxy URL"
} }
}, },
"required": [ "required": [
@ -2760,7 +2799,8 @@
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "string" "type": "string"
} },
"description": "This is used to add custom HTTP headers to all responses. For example setting \"httpHeaders\": { \"X-Frame-Options\":\"DENY\" } will add the X-Frame-Options header to all responses."
}, },
"agentConfig": { "agentConfig": {
"type": "array", "type": "array",
@ -2797,6 +2837,7 @@
}, },
"sessionRecording": { "sessionRecording": {
"type": "object", "type": "object",
"description": "Values that affect the session recording feature",
"properties": { "properties": {
"onlySelectedUsers": { "onlySelectedUsers": {
"type": "boolean", "type": "boolean",
@ -2931,13 +2972,16 @@
"description": "This is used for OAuth2 authentication", "description": "This is used for OAuth2 authentication",
"properties": { "properties": {
"clientId": { "clientId": {
"type": "string" "type": "string",
"description": "OAuth2 client ID"
}, },
"clientSecret": { "clientSecret": {
"type": "string" "type": "string",
"description": "OAuth2 client secret"
}, },
"refreshToken": { "refreshToken": {
"type": "string" "type": "string",
"description": "OAuth2 refresh token"
}, },
"type": { "type": {
"type": "string", "type": "string",
@ -2952,10 +2996,12 @@
] ]
}, },
"tlscertcheck": { "tlscertcheck": {
"type": "boolean" "type": "boolean",
"description": "When set to false, the SMTP server certificate is not checked."
}, },
"tlsstrict": { "tlsstrict": {
"type": "boolean" "type": "boolean",
"description": "When set to true, the SMTP server certificate must be valid and signed by a trusted CA."
}, },
"verifyemail": { "verifyemail": {
"type": "boolean", "type": "boolean",
@ -3007,30 +3053,48 @@
}, },
"authStrategies": { "authStrategies": {
"type": "object", "type": "object",
"description": "Authentication strategies for MeshCentral",
"properties": { "properties": {
"twitter": { "twitter": {
"type": "object", "type": "object",
"description": "Twitter authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that Twitter will redirect to after authentication."
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with Twitter."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} },
"description": "When set, new accounts will be created for users that authenticate with Twitter and added to the specified groups."
},
"newAccountsRights": {
"type": [
"array",
"string"
],
"uniqueItems": true,
"items": {
"type": "string"
},
"description": "When set, new accounts will be added to these siteadmin rights."
}, },
"clientid": { "clientid": {
"type": "string" "type": "string",
"description": "Twitter client ID."
}, },
"clientsecret": { "clientsecret": {
"type": "string" "type": "string",
"description": "Twitter client secret."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3045,27 +3109,33 @@
}, },
"google": { "google": {
"type": "object", "type": "object",
"description": "Google authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that Google will redirect to after authentication."
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with Google."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} },
"description": "When set, new accounts will be created for users that authenticate with Google and added to the specified groups."
}, },
"clientid": { "clientid": {
"type": "string" "type": "string",
"description": "Google client ID."
}, },
"clientsecret": { "clientsecret": {
"type": "string" "type": "string",
"description": "Google client secret."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3080,27 +3150,33 @@
}, },
"github": { "github": {
"type": "object", "type": "object",
"description": "GitHub authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that GitHub will redirect to after authentication."
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with GitHub."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"uniqueItems": true, "uniqueItems": true,
"description": "When set, new accounts will be created for users that authenticate with GitHub and added to the specified groups.",
"items": { "items": {
"type": "string" "type": "string"
} }
}, },
"clientid": { "clientid": {
"type": "string" "type": "string",
"description": "GitHub client ID."
}, },
"clientsecret": { "clientsecret": {
"type": "string" "type": "string",
"description": "GitHub client secret."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3115,30 +3191,37 @@
}, },
"azure": { "azure": {
"type": "object", "type": "object",
"description": "Azure authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that Azure will redirect to after authentication."
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with Azure."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"description": "When set, new accounts will be created for users that authenticate with Azure and added to the specified groups.",
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} }
}, },
"clientid": { "clientid": {
"type": "string" "type": "string",
"description": "Azure client ID."
}, },
"clientsecret": { "clientsecret": {
"type": "string" "type": "string",
"description": "Azure client secret."
}, },
"tenantid": { "tenantid": {
"type": "string" "type": "string",
"description": "Azure tenant ID."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3154,31 +3237,38 @@
}, },
"jumpcloud": { "jumpcloud": {
"type": "object", "type": "object",
"description": "JumpCloud authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that JumpCloud will redirect to after authentication."
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with JumpCloud."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"description": "When set, new accounts will be created for users that authenticate with JumpCloud and added to the specified groups.",
"uniqueItems": true, "uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} }
}, },
"entityid": { "entityid": {
"type": "string" "type": "string",
"description": "JumpCloud entity ID."
}, },
"idpurl": { "idpurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "JumpCloud IDP URL."
}, },
"cert": { "cert": {
"type": "string" "type": "string",
"description": "JumpCloud certificate."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3194,41 +3284,43 @@
}, },
"saml": { "saml": {
"type": "object", "type": "object",
"description": "SAML authentication",
"properties": { "properties": {
"callbackurl": { "callbackurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "The URL that SAML will redirect to after authentication."
}, },
"disableRequestedAuthnContext": { "disableRequestedAuthnContext": {
"type": "boolean" "type": "boolean",
"description": "When set, the requestedAuthnContext will be disabled.",
"default": false
}, },
"newAccounts": { "newAccounts": {
"type": "boolean", "type": "boolean",
"default": false "default": false,
"description": "When set, new accounts will be created for users that authenticate with SAML."
}, },
"newAccountsUserGroups": { "newAccountsUserGroups": {
"type": "array", "type": "array",
"uniqueItems": true, "uniqueItems": true,
"items": { "description": "When set, new accounts will be created for users that authenticate with SAML and added to the specified groups.",
"type": "string"
}
},
"newAccountsRights": {
"type": "array",
"uniqueItems": true,
"items": { "items": {
"type": "string" "type": "string"
} }
}, },
"entityid": { "entityid": {
"type": "string" "type": "string",
"description": "SAML entity ID."
}, },
"idpurl": { "idpurl": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "SAML IDP URL."
}, },
"cert": { "cert": {
"type": "string" "type": "string",
"description": "SAML certificate."
}, },
"logouturl": { "logouturl": {
"type": "string", "type": "string",
@ -3288,16 +3380,6 @@
"type": "string" "type": "string"
} }
}, },
"newAccountsRights": {
"type": [
"array",
"string"
],
"uniqueItems": true,
"items": {
"type": "string"
}
},
"clientid": { "clientid": {
"type": "string", "type": "string",
"depreciated": true, "depreciated": true,
@ -3495,27 +3577,33 @@
}, },
"authorization_endpoint": { "authorization_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when logging in."
}, },
"token_endpoint": { "token_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when requesting tokens."
}, },
"jwks_uri": { "jwks_uri": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to retrieve the JSON Web Key Set."
}, },
"userinfo_endpoint": { "userinfo_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to retrieve user information."
}, },
"revocation_endpoint": { "revocation_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when revoking tokens."
}, },
"introspection_endpoint": { "introspection_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when introspecting tokens."
}, },
"end_session_endpoint": { "end_session_endpoint": {
"type": "string", "type": "string",
@ -3524,47 +3612,60 @@
}, },
"registration_endpoint": { "registration_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when registering a new client."
}, },
"token_endpoint_auth_methods_supported": { "token_endpoint_auth_methods_supported": {
"type": "string" "type": "string",
"description": "Supported token endpoint authentication methods."
}, },
"token_endpoint_auth_signing_alg_values_supported": { "token_endpoint_auth_signing_alg_values_supported": {
"type": "string" "type": "string",
"description": "Supported token endpoint authentication signing algorithms."
}, },
"introspection_endpoint_auth_methods_supported": { "introspection_endpoint_auth_methods_supported": {
"type": "string" "type": "string",
"description": "Supported introspection endpoint authentication methods."
}, },
"introspection_endpoint_auth_signing_alg_values_supported": { "introspection_endpoint_auth_signing_alg_values_supported": {
"type": "string" "type": "string",
"description": "Supported introspection endpoint authentication signing algorithms."
}, },
"revocation_endpoint_auth_methods_supported": { "revocation_endpoint_auth_methods_supported": {
"type": "string" "type": "string",
"description": "Supported revocation endpoint authentication methods."
}, },
"revocation_endpoint_auth_signing_alg_values_supported": { "revocation_endpoint_auth_signing_alg_values_supported": {
"type": "string" "type": "string",
"description": "Supported revocation endpoint authentication signing algorithms."
}, },
"request_object_signing_alg_values_supported": { "request_object_signing_alg_values_supported": {
"type": "string" "type": "string",
"description": "Supported request object signing algorithms."
}, },
"mtls_endpoint_aliases": { "mtls_endpoint_aliases": {
"type": "object", "type": "object",
"description": "MTLS endpoint aliases.",
"properties": { "properties": {
"token_endpoint": { "token_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when requesting tokens."
}, },
"userinfo_endpoint": { "userinfo_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to retrieve user information."
}, },
"revocation_endpoint": { "revocation_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when revoking tokens."
}, },
"introspection_endpoint": { "introspection_endpoint": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URI to direct users to when introspecting tokens."
} }
} }
} }
@ -3592,20 +3693,25 @@
}, },
"claims": { "claims": {
"type": "object", "type": "object",
"description": "Custom claims to use.",
"properties": { "properties": {
"email": { "email": {
"type": "string" "type": "string",
"description": "Custom claim to use for email."
}, },
"name": { "name": {
"type": "string" "type": "string",
"description": "Custom claim to use for name."
}, },
"uuid": { "uuid": {
"type": "string" "type": "string",
"description": "Custom claim to use for uuid."
} }
} }
}, },
"preset": { "preset": {
"type": "string", "type": "string",
"description": "Preset to use for OIDC configuration",
"enum": [ "enum": [
"azure", "azure",
"google" "google"
@ -3623,6 +3729,7 @@
}, },
"groups": { "groups": {
"type": "object", "type": "object",
"description": "Group settings for OIDC",
"properties": { "properties": {
"recursive": { "recursive": {
"type": "boolean", "type": "boolean",
@ -3701,7 +3808,8 @@
"description": "Email address of the administrator of this server. Make sure this is a valid email address otherwise the certificate request will fail." "description": "Email address of the administrator of this server. Make sure this is a valid email address otherwise the certificate request will fail."
}, },
"names": { "names": {
"type": "string" "type": "string",
"description": "Comma separated list of DNS names that will be included in the certificate. The first name will be the primary name."
}, },
"skipChallengeVerification": { "skipChallengeVerification": {
"type": "boolean", "type": "boolean",
@ -3754,16 +3862,19 @@
}, },
"properties": { "properties": {
"serverId": { "serverId": {
"type": "string" "type": "string",
"description": "Unique server identifier, must be unique across all servers."
}, },
"servers": { "servers": {
"type": "object", "type": "object",
"description": "List of peer servers.",
"additionalProperties": { "additionalProperties": {
"type": "object", "type": "object",
"properties": { "properties": {
"url": { "url": {
"type": "string", "type": "string",
"format": "uri" "format": "uri",
"description": "URL of the peer server."
} }
}, },
"required": [ "required": [
@ -3847,13 +3958,16 @@
"description": "This is used for OAuth2 authentication", "description": "This is used for OAuth2 authentication",
"properties": { "properties": {
"clientId": { "clientId": {
"type": "string" "type": "string",
"description": "OAuth2 client ID"
}, },
"clientSecret": { "clientSecret": {
"type": "string" "type": "string",
"description": "OAuth2 client secret"
}, },
"refreshToken": { "refreshToken": {
"type": "string" "type": "string",
"description": "OAuth2 refresh token"
}, },
"type": { "type": {
"type": "string", "type": "string",
@ -3868,10 +3982,14 @@
] ]
}, },
"tlscertcheck": { "tlscertcheck": {
"type": "boolean" "type": "boolean",
"default": true,
"description": "When set to false, the SMTP server certificate is not checked."
}, },
"tlsstrict": { "tlsstrict": {
"type": "boolean" "type": "boolean",
"default": false,
"description": "When set to true, the SMTP server certificate must be valid and signed by a trusted CA."
}, },
"verifyemail": { "verifyemail": {
"type": "boolean", "type": "boolean",
@ -3930,18 +4048,22 @@
"properties": { "properties": {
"provider": { "provider": {
"type": "string", "type": "string",
"description": "The SMS provider to use",
"enum": [ "enum": [
"twilio" "twilio"
] ]
}, },
"sid": { "sid": {
"type": "string" "type": "string",
"description": "Twilio SID"
}, },
"auth": { "auth": {
"type": "string" "type": "string",
"description": "Twilio Auth Token"
}, },
"from": { "from": {
"type": "string" "type": "string",
"description": "Twilio phone number to send from"
} }
}, },
"required": [ "required": [
@ -3955,19 +4077,23 @@
"type": "object", "type": "object",
"properties": { "properties": {
"provider": { "provider": {
"description": "The SMS provider to use",
"type": "string", "type": "string",
"enum": [ "enum": [
"plivo" "plivo"
] ]
}, },
"id": { "id": {
"type": "string" "type": "string",
"description": "Plivo ID"
}, },
"token": { "token": {
"type": "string" "type": "string",
"description": "Plivo Auth Token"
}, },
"from": { "from": {
"type": "string" "type": "string",
"description": "Plivo phone number to send from"
} }
}, },
"required": [ "required": [
@ -3982,15 +4108,18 @@
"properties": { "properties": {
"provider": { "provider": {
"type": "string", "type": "string",
"description": "The SMS provider to use",
"enum": [ "enum": [
"telnyx" "telnyx"
] ]
}, },
"apikey": { "apikey": {
"type": "string" "type": "string",
"description": "Telnyx API Key"
}, },
"from": { "from": {
"type": "string" "type": "string",
"description": "Telnyx phone number to send from"
} }
}, },
"required": [ "required": [
@ -4004,6 +4133,7 @@
"properties": { "properties": {
"provider": { "provider": {
"type": "string", "type": "string",
"description": "The SMS provider to use",
"enum": [ "enum": [
"url" "url"
] ]
@ -4029,13 +4159,16 @@
"description": "Configure Telegram messaging system", "description": "Configure Telegram messaging system",
"properties": { "properties": {
"apiid": { "apiid": {
"type": "number" "type": "number",
"description": "Telegram API ID"
}, },
"apihash": { "apihash": {
"type": "string" "type": "string",
"description": "Telegram API Hash"
}, },
"session": { "session": {
"type": "string" "type": "string",
"description": "Path to the Telegram session file"
}, },
"useWSS": { "useWSS": {
"type": "boolean", "type": "boolean",
@ -4078,10 +4211,12 @@
"description": "Login credentials for the XMPP server.", "description": "Login credentials for the XMPP server.",
"properties": { "properties": {
"username": { "username": {
"type": "string" "type": "string",
"description": "XMPP username."
}, },
"password": { "password": {
"type": "string" "type": "string",
"description": "XMPP password."
} }
} }
} }

View File

@ -1,8 +1,8 @@
{ {
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json", "$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
"__comment__": "This is a sample configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.", "__comment__": "This is a sample advanced configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
"settings": { "settings": {
"_cert": "myserver.mydomain.com", "cert": "myserver.mydomain.com",
"_SQLite3": true, "_SQLite3": true,
"_acebase": { "_sponsor": true }, "_acebase": { "_sponsor": true },
"_mongoDb": "mongodb://127.0.0.1:27017", "_mongoDb": "mongodb://127.0.0.1:27017",
@ -119,15 +119,15 @@
}, },
"_autoBackup": { "_autoBackup": {
"_mongoDumpPath": "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongodump.exe", "_mongoDumpPath": "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongodump.exe",
"backupIntervalHours": 24, "_backupIntervalHours": 24,
"keepLastDaysBackup": 10, "_keepLastDaysBackup": 10,
"zipPassword": "MyReallySecretPassword3", "_zipPassword": "MyReallySecretPassword3",
"_backupPath": "C:\\backups", "_backupPath": "C:\\backups",
"_googleDrive": { "_googleDrive": {
"folderName": "MeshCentral-Backups", "folderName": "MeshCentral-Backups",
"maxFiles": 10 "maxFiles": 10
}, },
"webdav": { "_webdav": {
"url": "https://server/remote.php/dav/files/xxxxx@server.com/", "url": "https://server/remote.php/dav/files/xxxxx@server.com/",
"username": "user", "username": "user",
"password": "pass", "password": "pass",
@ -160,7 +160,7 @@
"count": 10, "count": 10,
"coolofftime": 10 "coolofftime": 10
}, },
"watchDog": { "_watchDog": {
"interval": 100, "interval": 100,
"timeout": 400 "timeout": 400
}, },
@ -179,16 +179,16 @@
}, },
"_domaindefaults": { "_domaindefaults": {
"__comment__": "Any settings in this section is used as default setting for all domains", "__comment__": "Any settings in this section is used as default setting for all domains",
"title": "MyDefaultTitle", "_title": "MyDefaultTitle",
"footer": "Default page footer", "_footer": "Default page footer",
"newAccounts": false "_newAccounts": false
}, },
"domains": { "domains": {
"": { "": {
"_siteStyle": 2, "_siteStyle": 2,
"_showModernUIToggle": true, "_showModernUIToggle": true,
"title": "MyServer", "_title": "MyServer",
"title2": "Servername", "_title2": "Servername",
"_titlePicture": "title-sample.png", "_titlePicture": "title-sample.png",
"_loginPicture": "title-sample.png", "_loginPicture": "title-sample.png",
"_pwaLogo": "title-sample.png", "_pwaLogo": "title-sample.png",
@ -203,12 +203,13 @@
"_loginKey": [ "abc", "123" ], "_loginKey": [ "abc", "123" ],
"_agentKey": [ "abc", "123" ], "_agentKey": [ "abc", "123" ],
"_ipkvm": false, "_ipkvm": false,
"minify": true, "_minify": true,
"_hidePowerTimeline": true, "_hidePowerTimeline": true,
"_showNotesPanel": true, "_showNotesPanel": true,
"_userSessionsSort": "Username", "_userSessionsSort": "Username",
"_newAccounts": true, "_newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_manageAllDeviceGroups": [ "admin" ],
"_userNameIsEmail": true, "_userNameIsEmail": true,
"_newAccountEmailDomains": [ "sample.com" ], "_newAccountEmailDomains": [ "sample.com" ],
"_newAccountsRights": [ "nonewgroups", "notools" ], "_newAccountsRights": [ "nonewgroups", "notools" ],
@ -263,7 +264,7 @@
] ]
}, },
"_assistantTypeAgentInvite": 2, "_assistantTypeAgentInvite": 2,
"PreconfiguredScripts": [ "_PreconfiguredScripts": [
{ {
"name": "Run NotePad as user", "name": "Run NotePad as user",
"file": "scripts/notepad.bat", "file": "scripts/notepad.bat",
@ -288,7 +289,7 @@
"type": "agent" "type": "agent"
} }
], ],
"PreconfiguredRemoteInput": [ "_PreconfiguredRemoteInput": [
{ {
"name": "CompanyUrl", "name": "CompanyUrl",
"value": "https://help.mycompany.com/" "value": "https://help.mycompany.com/"
@ -302,7 +303,7 @@
"value": "Default welcome text" "value": "Default welcome text"
} }
], ],
"myServer": { "_myServer": {
"Backup": false, "Backup": false,
"Restore": false, "Restore": false,
"Upgrade": false, "Upgrade": false,
@ -388,7 +389,7 @@
"_userSessionIdleTimeout": 30, "_userSessionIdleTimeout": 30,
"___logoutOnIdleSessionTimeout": "Determines whether MeshCentral should logout after the session idle timeout elapsed or should just disconnect remote desktop, terminal and files.", "___logoutOnIdleSessionTimeout": "Determines whether MeshCentral should logout after the session idle timeout elapsed or should just disconnect remote desktop, terminal and files.",
"_logoutOnIdleSessionTimeout": false, "_logoutOnIdleSessionTimeout": false,
"userConsentFlags": { "_userConsentFlags": {
"desktopnotify": true, "desktopnotify": true,
"terminalnotify": true, "terminalnotify": true,
"filenotify": true, "filenotify": true,
@ -493,6 +494,7 @@
"_callbackurl": "https://server/auth-twitter-callback", "_callbackurl": "https://server/auth-twitter-callback",
"newAccounts": true, "newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "xxxxxxxxxxxxxxxxxxxxxxx", "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
@ -500,6 +502,7 @@
"_callbackurl": "https://server/auth-google-callback", "_callbackurl": "https://server/auth-google-callback",
"newAccounts": true, "newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx" "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx"
}, },
@ -507,6 +510,7 @@
"_callbackurl": "https://server/auth-github-callback", "_callbackurl": "https://server/auth-github-callback",
"newAccounts": true, "newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "xxxxxxxxxxxxxxxxxxxxxxx", "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
@ -514,6 +518,7 @@
"_callbackurl": "https://server/auth-azure-callback", "_callbackurl": "https://server/auth-azure-callback",
"newAccounts": true, "newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "00000000-0000-0000-0000-000000000000", "clientid": "00000000-0000-0000-0000-000000000000",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tenantid": "00000000-0000-0000-0000-000000000000" "tenantid": "00000000-0000-0000-0000-000000000000"
@ -522,6 +527,7 @@
"_callbackurl": "https://server/auth-jumpcloud-callback", "_callbackurl": "https://server/auth-jumpcloud-callback",
"newAccounts": true, "newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"entityid": "meshcentral", "entityid": "meshcentral",
"idpurl": "https://sso.jumpcloud.com/saml2/saml2", "idpurl": "https://sso.jumpcloud.com/saml2/saml2",
"cert": "jumpcloud-saml.pem" "cert": "jumpcloud-saml.pem"
@ -553,7 +559,10 @@
"filter": [ "groupB", "groupC" ] "filter": [ "groupB", "groupC" ]
} }
}, },
"newAccounts": true "newAccounts": true,
"_newAccountsRights": [ "nonewgroups", "notools" ],
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ]
} }
} }
}, },