blob: 29c5ee8325a4e13a917322508bd6a20857629f39 [file] [log] [blame]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://go.skia.org/infra/perf/go/config/instance-config",
"$ref": "#/$defs/InstanceConfig",
"$defs": {
"AnomalyConfig": {
"properties": {
"settling_time": {
"$ref": "#/$defs/DurationAsString"
}
},
"additionalProperties": false,
"type": "object"
},
"ApplyDefault": {
"properties": {
"param": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array"
},
"select_only_first": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"param",
"values",
"select_only_first"
]
},
"AuthConfig": {
"properties": {
"header_name": {
"type": "string"
},
"email_regex": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"header_name"
]
},
"CacheConfig": {
"properties": {
"memcached_servers": {
"items": {
"type": "string"
},
"type": "array"
},
"namespace": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"memcached_servers",
"namespace"
]
},
"ConditionalDefaultRule": {
"properties": {
"trigger": {
"$ref": "#/$defs/TriggerCondition"
},
"apply": {
"items": {
"$ref": "#/$defs/ApplyDefault"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"trigger",
"apply"
]
},
"DataPointConfig": {
"properties": {
"keys_for_commit_range": {
"items": {
"type": "string"
},
"type": "array"
},
"keys_for_useful_links": {
"items": {
"type": "string"
},
"type": "array"
},
"skip_commit_detail_display": {
"type": "boolean"
},
"enable_point_links": {
"type": "boolean"
},
"show_json_file_display": {
"type": "boolean"
},
"always_show_commit_info": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"DataStoreConfig": {
"properties": {
"datastore_type": {
"type": "string"
},
"connection_string": {
"type": "string"
},
"tile_size": {
"type": "integer"
},
"cache": {
"$ref": "#/$defs/CacheConfig"
},
"enable_follower_reads": {
"type": "boolean"
},
"min_db_connections": {
"type": "integer"
},
"traceparams_param_indexes": {
"items": {
"type": "string"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"datastore_type",
"connection_string",
"tile_size"
]
},
"DurationAsString": {
"type": "string",
"title": "Duration",
"description": "A golang time.Duration serialized as a string."
},
"Experiments": {
"properties": {
"remove_default_stat_value": {
"type": "boolean"
},
"enable_skia_bridge_aggregation": {
"type": "boolean"
},
"preflight_subqueries_for_existing_keys": {
"type": "boolean"
},
"progress_use_redis_cache": {
"type": "boolean"
},
"df_iter_trace_slicer": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"Favorites": {
"properties": {
"sections": {
"items": {
"$ref": "#/$defs/FavoritesSectionConfig"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"sections"
]
},
"FavoritesSectionConfig": {
"properties": {
"name": {
"type": "string"
},
"links": {
"items": {
"$ref": "#/$defs/FavoritesSectionLinkConfig"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"links"
]
},
"FavoritesSectionLinkConfig": {
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
},
"description": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"text",
"href",
"description"
]
},
"GitRepoConfig": {
"properties": {
"git_auth_type": {
"type": "string"
},
"provider": {
"type": "string"
},
"start_commit": {
"type": "string"
},
"url": {
"type": "string"
},
"dir": {
"type": "string"
},
"file_change_marker": {
"type": "string"
},
"debounce_commit_url": {
"type": "boolean"
},
"commit_url": {
"type": "string"
},
"commit_number_regex": {
"type": "string"
},
"branch": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"provider",
"url",
"dir"
]
},
"IngestionConfig": {
"properties": {
"source_config": {
"$ref": "#/$defs/SourceConfig"
},
"branches": {
"items": {
"type": "string"
},
"type": "array"
},
"file_ingestion_pubsub_topic_name": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"source_config",
"branches",
"file_ingestion_pubsub_topic_name"
]
},
"InstanceConfig": {
"properties": {
"URL": {
"type": "string"
},
"instance_name": {
"type": "string"
},
"header_image_url": {
"type": "string"
},
"landing_page_rel_path": {
"type": "string"
},
"backend_host_url": {
"type": "string"
},
"allowed_hosts": {
"items": {
"type": "string"
},
"type": "array"
},
"contact": {
"type": "string"
},
"invalid_param_char_regex": {
"type": "string"
},
"fetch_chrome_perf_anomalies": {
"type": "boolean"
},
"fetch_anomalies_from_sql": {
"type": "boolean"
},
"feedback_url": {
"type": "string"
},
"chat_url": {
"type": "string"
},
"help_url_override": {
"type": "string"
},
"bug_host_url": {
"type": "string"
},
"favorites": {
"$ref": "#/$defs/Favorites"
},
"filter_parent_traces": {
"type": "boolean"
},
"trace_sample_proportion": {
"type": "number"
},
"trace_format": {
"type": "string"
},
"need_alert_action": {
"type": "boolean"
},
"use_regression2_schema": {
"type": "boolean"
},
"auth_config": {
"$ref": "#/$defs/AuthConfig"
},
"data_store_config": {
"$ref": "#/$defs/DataStoreConfig"
},
"ingestion_config": {
"$ref": "#/$defs/IngestionConfig"
},
"git_repo_config": {
"$ref": "#/$defs/GitRepoConfig"
},
"notify_config": {
"$ref": "#/$defs/NotifyConfig"
},
"issue_tracker_config": {
"$ref": "#/$defs/IssueTrackerConfig"
},
"anomaly_config": {
"$ref": "#/$defs/AnomalyConfig"
},
"query_config": {
"$ref": "#/$defs/QueryConfig"
},
"temporal_config": {
"$ref": "#/$defs/TemporalConfig"
},
"data_point_config": {
"$ref": "#/$defs/DataPointConfig"
},
"enable_sheriff_config": {
"type": "boolean"
},
"sheriff_configs_to_notify": {
"items": {
"type": "string"
},
"type": "array"
},
"ga_measurement_id": {
"type": "string"
},
"new_alerts_page": {
"type": "boolean"
},
"optimize_sqltracestore": {
"type": "boolean"
},
"experiments": {
"$ref": "#/$defs/Experiments"
},
"show_triage_link": {
"type": "boolean"
},
"show_bisect_btn": {
"type": "boolean"
},
"enable_v2_ui": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"URL",
"contact",
"data_store_config",
"ingestion_config",
"git_repo_config",
"notify_config"
]
},
"IssueTrackerConfig": {
"properties": {
"notification_type": {
"type": "string"
},
"issue_tracker_api_key_secret_project": {
"type": "string"
},
"issue_tracker_api_key_secret_name": {
"type": "string"
},
"culprit_subject": {
"type": "string"
},
"culprit_body": {
"items": {
"type": "string"
},
"type": "array"
},
"anomaly_report_subject": {
"type": "string"
},
"anomaly_report_body": {
"items": {
"type": "string"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"notification_type"
]
},
"NotifyConfig": {
"properties": {
"notifications": {
"type": "string"
},
"issue_tracker_api_key_secret_project": {
"type": "string"
},
"issue_tracker_api_key_secret_name": {
"type": "string"
},
"subject": {
"type": "string"
},
"body": {
"items": {
"type": "string"
},
"type": "array"
},
"missing_subject": {
"type": "string"
},
"missing_body": {
"items": {
"type": "string"
},
"type": "array"
},
"data_provider": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"notifications"
]
},
"QueryCacheConfig": {
"properties": {
"type": {
"type": "string"
},
"level1_cache_key": {
"type": "string"
},
"level1_cache_values": {
"items": {
"type": "string"
},
"type": "array"
},
"level2_cache_key": {
"type": "string"
},
"level2_cache_values": {
"items": {
"type": "string"
},
"type": "array"
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"type"
]
},
"QueryConfig": {
"properties": {
"include_params": {
"items": {
"type": "string"
},
"type": "array"
},
"default_param_selections": {
"patternProperties": {
".*": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"default_url_values": {
"patternProperties": {
".*": {
"type": "string"
}
},
"type": "object"
},
"cache_config": {
"$ref": "#/$defs/QueryCacheConfig"
},
"redis_config": {
"$ref": "#/$defs/RedisConfig"
},
"query_commit_chunk_size": {
"type": "integer"
},
"max_empty_tiles": {
"type": "integer"
},
"default_range": {
"type": "integer"
},
"default_xaxis_domain": {
"type": "string"
},
"conditional_defaults": {
"items": {
"$ref": "#/$defs/ConditionalDefaultRule"
},
"type": "array"
},
"default_trigger_priority": {
"patternProperties": {
".*": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"additionalProperties": false,
"type": "object"
},
"RedisConfig": {
"properties": {
"project": {
"type": "string"
},
"zone": {
"type": "string"
},
"instance": {
"type": "string"
},
"cache_expiration_minutes": {
"type": "integer"
}
},
"additionalProperties": false,
"type": "object"
},
"SourceConfig": {
"properties": {
"source_type": {
"type": "string"
},
"project": {
"type": "string"
},
"topic": {
"type": "string"
},
"subscription": {
"type": "string"
},
"dl_topic": {
"type": "string"
},
"dl_subscription": {
"type": "string"
},
"sources": {
"items": {
"type": "string"
},
"type": "array"
},
"reject_if_name_matches": {
"type": "string"
},
"accept_if_name_matches": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"source_type",
"project",
"topic",
"subscription",
"sources"
]
},
"TemporalConfig": {
"properties": {
"host_port": {
"type": "string"
},
"namespace": {
"type": "string"
},
"grouping_task_queue": {
"type": "string"
},
"pinpoint_task_queue": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"TriggerCondition": {
"properties": {
"param": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"param",
"values"
]
}
}
}