2021-08-16 14:30:19 +00:00
|
|
|
/* Config interface is a flattened version of the fleet/config API response */
|
|
|
|
|
2022-02-05 00:48:35 +00:00
|
|
|
import {
|
|
|
|
IWebhookHostStatus,
|
|
|
|
IWebhookFailingPolicies,
|
|
|
|
IWebhookSoftwareVulnerabilities,
|
|
|
|
} from "interfaces/webhook";
|
2021-04-12 13:32:25 +00:00
|
|
|
import PropTypes from "prop-types";
|
2016-10-21 23:13:41 +00:00
|
|
|
|
|
|
|
export default PropTypes.shape({
|
2021-08-16 14:30:19 +00:00
|
|
|
org_name: PropTypes.string,
|
|
|
|
org_logo_url: PropTypes.string,
|
|
|
|
server_url: PropTypes.string,
|
2020-01-14 00:53:04 +00:00
|
|
|
live_query_disabled: PropTypes.bool,
|
2021-06-23 22:19:01 +00:00
|
|
|
enable_analytics: PropTypes.bool,
|
2021-08-16 14:30:19 +00:00
|
|
|
enable_smtp: PropTypes.bool,
|
|
|
|
configured: PropTypes.bool,
|
2016-12-23 18:40:16 +00:00
|
|
|
sender_address: PropTypes.string,
|
|
|
|
server: PropTypes.string,
|
2021-08-16 14:30:19 +00:00
|
|
|
port: PropTypes.number,
|
|
|
|
authentication_type: PropTypes.string,
|
2016-12-23 18:40:16 +00:00
|
|
|
user_name: PropTypes.string,
|
2021-08-16 14:30:19 +00:00
|
|
|
password: PropTypes.string,
|
|
|
|
enable_ssl_tls: PropTypes.bool,
|
|
|
|
authentication_method: PropTypes.string,
|
|
|
|
domain: PropTypes.string,
|
2016-12-23 18:40:16 +00:00
|
|
|
verify_sll_certs: PropTypes.bool,
|
2021-08-16 14:30:19 +00:00
|
|
|
enable_start_tls: PropTypes.bool,
|
|
|
|
entity_id: PropTypes.string,
|
|
|
|
issuer_uri: PropTypes.string,
|
|
|
|
idp_image_url: PropTypes.string,
|
|
|
|
metadata: PropTypes.string,
|
2022-01-21 17:06:58 +00:00
|
|
|
metadata_url: PropTypes.string,
|
2021-08-16 14:30:19 +00:00
|
|
|
idp_name: PropTypes.string,
|
|
|
|
enable_sso: PropTypes.bool,
|
|
|
|
enable_sso_idp_login: PropTypes.bool,
|
|
|
|
host_expiry_enabled: PropTypes.bool,
|
|
|
|
host_expiry_window: PropTypes.number,
|
|
|
|
agent_options: PropTypes.string,
|
2021-05-18 15:08:48 +00:00
|
|
|
tier: PropTypes.string,
|
2021-08-16 14:30:19 +00:00
|
|
|
organization: PropTypes.string,
|
|
|
|
device_count: PropTypes.number,
|
|
|
|
expiration: PropTypes.string,
|
|
|
|
note: PropTypes.string,
|
|
|
|
// vulnerability_settings: PropTypes.any, TODO
|
2021-09-10 17:49:11 +00:00
|
|
|
enable_host_status_webhook: PropTypes.bool,
|
|
|
|
destination_url: PropTypes.string,
|
|
|
|
host_percentage: PropTypes.number,
|
|
|
|
days_count: PropTypes.number,
|
2021-08-10 22:53:47 +00:00
|
|
|
logging: PropTypes.shape({
|
|
|
|
debug: PropTypes.bool,
|
|
|
|
json: PropTypes.bool,
|
|
|
|
result: PropTypes.shape({
|
|
|
|
plugin: PropTypes.string,
|
|
|
|
config: PropTypes.shape({
|
2021-08-16 14:30:19 +00:00
|
|
|
status_log_file: PropTypes.string,
|
|
|
|
result_log_file: PropTypes.string,
|
|
|
|
enable_log_rotation: PropTypes.bool,
|
|
|
|
enable_log_compression: PropTypes.bool,
|
2021-08-10 22:53:47 +00:00
|
|
|
}),
|
|
|
|
}),
|
|
|
|
status: PropTypes.shape({
|
|
|
|
plugin: PropTypes.string,
|
|
|
|
config: PropTypes.shape({
|
|
|
|
status_log_file: PropTypes.string,
|
|
|
|
result_log_file: PropTypes.string,
|
|
|
|
enable_log_rotation: PropTypes.bool,
|
|
|
|
enable_log_compression: PropTypes.bool,
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
}),
|
2016-10-21 23:13:41 +00:00
|
|
|
});
|
2021-05-18 15:08:48 +00:00
|
|
|
|
|
|
|
export interface IConfig {
|
2021-08-16 14:30:19 +00:00
|
|
|
org_name: string;
|
|
|
|
org_logo_url: string;
|
|
|
|
server_url: string;
|
2021-05-18 15:08:48 +00:00
|
|
|
live_query_disabled: boolean;
|
2021-06-23 22:19:01 +00:00
|
|
|
enable_analytics: boolean;
|
2021-08-16 14:30:19 +00:00
|
|
|
enable_smtp: boolean;
|
|
|
|
configured: boolean;
|
2021-05-18 15:08:48 +00:00
|
|
|
sender_address: string;
|
|
|
|
server: string;
|
2021-08-16 14:30:19 +00:00
|
|
|
port: number;
|
|
|
|
authentication_type: string;
|
2021-05-18 15:08:48 +00:00
|
|
|
user_name: string;
|
2021-08-16 14:30:19 +00:00
|
|
|
password: string;
|
|
|
|
enable_ssl_tls: boolean;
|
|
|
|
authentication_method: string;
|
|
|
|
domain: string;
|
2021-05-18 15:08:48 +00:00
|
|
|
verify_sll_certs: boolean;
|
2021-08-16 14:30:19 +00:00
|
|
|
enable_start_tls: boolean;
|
|
|
|
entity_id: string;
|
|
|
|
issuer_uri: string;
|
|
|
|
idp_image_url: string;
|
|
|
|
metadata: string;
|
2022-01-21 17:06:58 +00:00
|
|
|
metadata_url: string;
|
2021-08-16 14:30:19 +00:00
|
|
|
idp_name: string;
|
|
|
|
enable_sso: boolean;
|
|
|
|
enable_sso_idp_login: boolean;
|
|
|
|
host_expiry_enabled: boolean;
|
|
|
|
host_expiry_window: number;
|
|
|
|
agent_options: string;
|
2021-09-30 19:32:06 +00:00
|
|
|
osquery_detail: number;
|
2021-10-11 15:13:10 +00:00
|
|
|
osquery_policy: number;
|
2021-05-18 15:08:48 +00:00
|
|
|
tier: string;
|
2021-08-16 14:30:19 +00:00
|
|
|
organization: string;
|
|
|
|
device_count: number;
|
|
|
|
expiration: string;
|
|
|
|
note: string;
|
|
|
|
// vulnerability_settings: any; TODO
|
2021-09-10 17:49:11 +00:00
|
|
|
enable_host_status_webhook: boolean;
|
|
|
|
destination_url: string;
|
|
|
|
host_percentage: number;
|
|
|
|
days_count: number;
|
2022-02-14 22:11:12 +00:00
|
|
|
debug: boolean;
|
|
|
|
json: boolean;
|
|
|
|
result: {
|
|
|
|
plugin: string;
|
|
|
|
config: {
|
|
|
|
status_log_file: string;
|
|
|
|
result_log_file: string;
|
|
|
|
enable_log_rotation: boolean;
|
|
|
|
enable_log_compression: boolean;
|
2021-08-10 22:53:47 +00:00
|
|
|
};
|
2022-02-14 22:11:12 +00:00
|
|
|
};
|
|
|
|
status: {
|
|
|
|
plugin: string;
|
|
|
|
config: {
|
|
|
|
status_log_file: string;
|
|
|
|
result_log_file: string;
|
|
|
|
enable_log_rotation: boolean;
|
|
|
|
enable_log_compression: boolean;
|
2021-08-10 22:53:47 +00:00
|
|
|
};
|
|
|
|
};
|
2022-02-07 18:45:49 +00:00
|
|
|
webhook_settings: {
|
2022-01-21 17:06:58 +00:00
|
|
|
failing_policies_webhook: IWebhookFailingPolicies;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IConfigFormData {
|
|
|
|
smtpAuthenticationMethod: string;
|
|
|
|
smtpAuthenticationType: string;
|
|
|
|
domain: string;
|
|
|
|
smtpEnableSSLTLS: boolean;
|
|
|
|
enableStartTLS: boolean;
|
|
|
|
serverURL: string;
|
|
|
|
orgLogoURL: string;
|
|
|
|
orgName: string;
|
|
|
|
smtpPassword: string;
|
|
|
|
smtpPort?: number;
|
|
|
|
smtpSenderAddress: string;
|
|
|
|
smtpServer: string;
|
|
|
|
smtpUsername: string;
|
|
|
|
verifySSLCerts: boolean;
|
|
|
|
entityID: string;
|
|
|
|
issuerURI: string;
|
|
|
|
idpImageURL: string;
|
|
|
|
metadata: string;
|
|
|
|
metadataURL: string;
|
|
|
|
idpName: string;
|
|
|
|
enableSSO: boolean;
|
|
|
|
enableSSOIDPLogin: boolean;
|
|
|
|
enableSMTP: boolean;
|
|
|
|
enableHostExpiry: boolean;
|
|
|
|
hostExpiryWindow: number;
|
|
|
|
disableLiveQuery: boolean;
|
|
|
|
agentOptions: any;
|
|
|
|
enableHostStatusWebhook: boolean;
|
|
|
|
hostStatusWebhookDestinationURL?: string;
|
|
|
|
hostStatusWebhookHostPercentage?: number;
|
|
|
|
hostStatusWebhookDaysCount?: number;
|
|
|
|
enableUsageStatistics: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IConfigNested {
|
|
|
|
org_info: {
|
|
|
|
org_name: string;
|
|
|
|
org_logo_url: string;
|
|
|
|
};
|
|
|
|
server_settings: {
|
|
|
|
server_url: string;
|
|
|
|
live_query_disabled: boolean;
|
|
|
|
enable_analytics: boolean;
|
|
|
|
};
|
|
|
|
smtp_settings: {
|
|
|
|
enable_smtp: boolean;
|
|
|
|
configured: boolean;
|
|
|
|
sender_address: string;
|
|
|
|
server: string;
|
|
|
|
port?: number;
|
|
|
|
authentication_type: string;
|
|
|
|
user_name: string;
|
|
|
|
password: string;
|
|
|
|
enable_ssl_tls: boolean;
|
|
|
|
authentication_method: string;
|
|
|
|
domain: string;
|
|
|
|
verify_ssl_certs: boolean;
|
|
|
|
enable_start_tls: boolean;
|
|
|
|
};
|
|
|
|
sso_settings: {
|
|
|
|
entity_id: string;
|
|
|
|
issuer_uri: string;
|
|
|
|
idp_image_url: string;
|
|
|
|
metadata: string;
|
|
|
|
metadata_url: string;
|
|
|
|
idp_name: string;
|
|
|
|
enable_sso: boolean;
|
|
|
|
enable_sso_idp_login: boolean;
|
|
|
|
};
|
|
|
|
host_expiry_settings: {
|
|
|
|
host_expiry_enabled: boolean;
|
|
|
|
host_expiry_window: number;
|
|
|
|
};
|
2022-02-08 00:52:55 +00:00
|
|
|
host_settings: {
|
|
|
|
enable_host_users: boolean;
|
|
|
|
enable_software_inventory: boolean;
|
|
|
|
};
|
2022-01-21 17:06:58 +00:00
|
|
|
agent_options: string;
|
|
|
|
update_interval: {
|
|
|
|
osquery_detail: number;
|
|
|
|
osquery_policy: number;
|
|
|
|
};
|
|
|
|
license: {
|
|
|
|
organization: string;
|
|
|
|
device_count: number;
|
|
|
|
tier: string;
|
|
|
|
expiration: string;
|
|
|
|
note: string;
|
|
|
|
};
|
2022-02-08 00:52:55 +00:00
|
|
|
vulnerabilities: {
|
2022-01-21 17:06:58 +00:00
|
|
|
databases_path: string;
|
2022-02-08 00:52:55 +00:00
|
|
|
periodicity: number;
|
|
|
|
cpe_database_url: string;
|
|
|
|
cve_feed_prefix_url: string;
|
|
|
|
current_instance_checks: string;
|
|
|
|
disable_data_sync: boolean;
|
2022-01-21 17:06:58 +00:00
|
|
|
};
|
2022-02-08 00:52:55 +00:00
|
|
|
// Note: `vulnerability_settings` is deprecated and should not be used
|
|
|
|
// vulnerability_settings: {
|
|
|
|
// databases_path: string;
|
|
|
|
// };
|
2021-12-28 18:07:18 +00:00
|
|
|
webhook_settings: {
|
2022-02-05 00:48:35 +00:00
|
|
|
host_status_webhook: IWebhookHostStatus;
|
2021-12-28 18:07:18 +00:00
|
|
|
failing_policies_webhook: IWebhookFailingPolicies;
|
2022-02-05 00:48:35 +00:00
|
|
|
vulnerabilities_webhook: IWebhookSoftwareVulnerabilities;
|
2021-12-28 18:07:18 +00:00
|
|
|
};
|
2022-01-21 17:06:58 +00:00
|
|
|
logging: {
|
|
|
|
debug: boolean;
|
|
|
|
json: boolean;
|
|
|
|
result: {
|
|
|
|
plugin: string;
|
|
|
|
config: {
|
|
|
|
status_log_file: string;
|
|
|
|
result_log_file: string;
|
|
|
|
enable_log_rotation: boolean;
|
|
|
|
enable_log_compression: boolean;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
status: {
|
|
|
|
plugin: string;
|
|
|
|
config: {
|
|
|
|
status_log_file: string;
|
|
|
|
result_log_file: string;
|
|
|
|
enable_log_rotation: boolean;
|
|
|
|
enable_log_compression: boolean;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2021-05-18 15:08:48 +00:00
|
|
|
}
|