diff --git a/Makefile b/Makefile index e5a375aa..957476c1 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,14 @@ generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and $(LOCALBIN): mkdir -p $(LOCALBIN) +schema/openapi/_definitions.json: + cat schema/openapi/connection.schema.json | jq 'del(.["$$ref"], .["$$id"], .["$$schema"] )' > schema/openapi/connection.definitions.json + cat schema/openapi/scrape_config.spec.schema.json | jq 'del(.["$$ref"], .["$$id"], .["$$schema"] )' > schema/openapi/scrape_config.definitions.json + cat schema/openapi/notification.schema.json | jq 'del(.["$$ref"], .["$$id"], .["$$schema"] )' > schema/openapi/notification.definitions.json + cat schema/openapi/topology.spec.schema.json | jq 'del(.["$$ref"], .["$$id"], .["$$schema"] )' > schema/openapi/topology.definitions.json + cat schema/openapi/playbook-spec.schema.json | jq 'del(.["$$ref"], .["$$id"], .["$$schema"] )' > schema/openapi/playbook.definitions.json + + download-openapi-schemas: mkdir -p tmp diff --git a/schema/openapi/connection.definitions.json b/schema/openapi/connection.definitions.json new file mode 100644 index 00000000..5463c96e --- /dev/null +++ b/schema/openapi/connection.definitions.json @@ -0,0 +1,952 @@ +{ + "$defs": { + "ConfigMapKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "Connection": { + "properties": { + "kind": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "metadata": { + "$ref": "#/$defs/ObjectMeta" + }, + "spec": { + "$ref": "#/$defs/ConnectionSpec" + }, + "status": { + "$ref": "#/$defs/ConnectionStatus" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionAWS": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "region": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "insecureTLS": { + "type": "boolean" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionAWSS3": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "region": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "insecureTLS": { + "type": "boolean" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "bucket": { + "type": "string" + }, + "usePathStyle": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "bucket" + ] + }, + "ConnectionAzure": { + "properties": { + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "tenantID": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "clientID", + "tenantID" + ] + }, + "ConnectionAzureDevops": { + "properties": { + "string": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "organization", + "personalAccessToken" + ] + }, + "ConnectionDiscord": { + "properties": { + "token": { + "type": "string" + }, + "webhookID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token", + "webhookID" + ] + }, + "ConnectionFolder": { + "properties": { + "path": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path" + ] + }, + "ConnectionGCP": { + "properties": { + "endpoint": { + "$ref": "#/$defs/EnvVar" + }, + "certificate": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionGit": { + "properties": { + "string": { + "type": "string" + }, + "ref": { + "type": "string" + }, + "certificate": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "string", + "ref" + ] + }, + "ConnectionGitHub": { + "properties": { + "url": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "personalAccessToken" + ] + }, + "ConnectionGitLab": { + "properties": { + "string": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "personalAccessToken" + ] + }, + "ConnectionHTTP": { + "properties": { + "url": { + "type": "string" + }, + "insecureTLS": { + "type": "boolean" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "url" + ] + }, + "ConnectionKubernetes": { + "properties": { + "certificate": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "certificate" + ] + }, + "ConnectionMSSQL": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "host": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "database": { + "$ref": "#/$defs/EnvVar" + }, + "trustServerCertificate": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionMongo": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "host": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "database": { + "$ref": "#/$defs/EnvVar" + }, + "replicaSet": { + "type": "string" + }, + "insecureTLS": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionMySQL": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "host": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "database": { + "$ref": "#/$defs/EnvVar" + }, + "insecureTLS": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionNtfy": { + "properties": { + "topic": { + "type": "string" + }, + "host": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "topic", + "host", + "username", + "password" + ] + }, + "ConnectionPostgres": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "host": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "database": { + "$ref": "#/$defs/EnvVar" + }, + "insecureTLS": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionPrometheus": { + "properties": { + "url": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "bearer": { + "$ref": "#/$defs/EnvVar" + }, + "oauth": { + "$ref": "#/$defs/OAuth" + }, + "tls": { + "$ref": "#/$defs/TLSConfig" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionPushbullet": { + "properties": { + "token": { + "$ref": "#/$defs/EnvVar" + }, + "targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token", + "targets" + ] + }, + "ConnectionPushover": { + "properties": { + "token": { + "$ref": "#/$defs/EnvVar" + }, + "user": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token", + "user" + ] + }, + "ConnectionSFTP": { + "properties": { + "host": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "port": { + "type": "integer" + }, + "path": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "host", + "username", + "password", + "path" + ] + }, + "ConnectionSMB": { + "properties": { + "server": { + "$ref": "#/$defs/EnvVar" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "port": { + "$ref": "#/$defs/EnvVar" + }, + "share": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "server", + "username", + "password", + "share" + ] + }, + "ConnectionSMTP": { + "properties": { + "host": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "insecureTLS": { + "type": "boolean" + }, + "encryption": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "fromAddress": { + "type": "string" + }, + "toAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subject": { + "type": "string" + }, + "auth": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "host", + "fromAddress" + ] + }, + "ConnectionSlack": { + "properties": { + "token": { + "$ref": "#/$defs/EnvVar" + }, + "channel": { + "type": "string" + }, + "botName": { + "type": "string" + }, + "color": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "thread_ts": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionSpec": { + "properties": { + "properties": { + "$ref": "#/$defs/JSONStringMap" + }, + "aws": { + "$ref": "#/$defs/ConnectionAWS" + }, + "s3": { + "$ref": "#/$defs/ConnectionAWSS3" + }, + "azure": { + "$ref": "#/$defs/ConnectionAzure" + }, + "azureDevops": { + "$ref": "#/$defs/ConnectionAzureDevops" + }, + "gcp": { + "$ref": "#/$defs/ConnectionGCP" + }, + "folder": { + "$ref": "#/$defs/ConnectionFolder" + }, + "git": { + "$ref": "#/$defs/ConnectionGit" + }, + "github": { + "$ref": "#/$defs/ConnectionGitHub" + }, + "gitlab": { + "$ref": "#/$defs/ConnectionGitLab" + }, + "http": { + "$ref": "#/$defs/ConnectionHTTP" + }, + "kubernetes": { + "$ref": "#/$defs/ConnectionKubernetes" + }, + "mssql": { + "$ref": "#/$defs/ConnectionMSSQL" + }, + "mongo": { + "$ref": "#/$defs/ConnectionMongo" + }, + "mysql": { + "$ref": "#/$defs/ConnectionMySQL" + }, + "postgres": { + "$ref": "#/$defs/ConnectionPostgres" + }, + "prometheus": { + "$ref": "#/$defs/ConnectionPrometheus" + }, + "sftp": { + "$ref": "#/$defs/ConnectionSFTP" + }, + "smb": { + "$ref": "#/$defs/ConnectionSMB" + }, + "discord": { + "$ref": "#/$defs/ConnectionDiscord" + }, + "ntfy": { + "$ref": "#/$defs/ConnectionNtfy" + }, + "pushbullet": { + "$ref": "#/$defs/ConnectionPushbullet" + }, + "pushover": { + "$ref": "#/$defs/ConnectionPushover" + }, + "smtp": { + "$ref": "#/$defs/ConnectionSMTP" + }, + "slack": { + "$ref": "#/$defs/ConnectionSlack" + }, + "telegram": { + "$ref": "#/$defs/ConnectionTelegram" + }, + "url": { + "$ref": "#/$defs/EnvVar" + }, + "port": { + "$ref": "#/$defs/EnvVar" + }, + "type": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "certificate": { + "$ref": "#/$defs/EnvVar" + }, + "insecure_tls": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionStatus": { + "properties": { + "ref": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "ref" + ] + }, + "ConnectionTelegram": { + "properties": { + "token": { + "$ref": "#/$defs/EnvVar" + }, + "chats": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token", + "chats" + ] + }, + "EnvVar": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "valueFrom": { + "$ref": "#/$defs/EnvVarSource" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVarSource": { + "properties": { + "serviceAccount": { + "type": "string" + }, + "helmRef": { + "$ref": "#/$defs/HelmRefKeySelector" + }, + "configMapKeyRef": { + "$ref": "#/$defs/ConfigMapKeySelector" + }, + "secretKeyRef": { + "$ref": "#/$defs/SecretKeySelector" + } + }, + "additionalProperties": false, + "type": "object" + }, + "FieldsV1": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "HelmRefKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "JSONStringMap": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ManagedFieldsEntry": { + "properties": { + "manager": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "time": { + "$ref": "#/$defs/Time" + }, + "fieldsType": { + "type": "string" + }, + "fieldsV1": { + "$ref": "#/$defs/FieldsV1" + }, + "subresource": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "OAuth": { + "properties": { + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "scope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenURL": { + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ObjectMeta": { + "properties": { + "name": { + "type": "string" + }, + "generateName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "resourceVersion": { + "type": "string" + }, + "generation": { + "type": "integer" + }, + "creationTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionGracePeriodSeconds": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ownerReferences": { + "items": { + "$ref": "#/$defs/OwnerReference" + }, + "type": "array" + }, + "finalizers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "managedFields": { + "items": { + "$ref": "#/$defs/ManagedFieldsEntry" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "OwnerReference": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "controller": { + "type": "boolean" + }, + "blockOwnerDeletion": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ] + }, + "SecretKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "TLSConfig": { + "properties": { + "insecureSkipVerify": { + "type": "boolean" + }, + "handshakeTimeout": { + "type": "integer" + }, + "ca": { + "$ref": "#/$defs/EnvVar" + }, + "cert": { + "$ref": "#/$defs/EnvVar" + }, + "key": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Time": { + "properties": {}, + "additionalProperties": false, + "type": "object" + } + } +} diff --git a/schema/openapi/notification.definitions.json b/schema/openapi/notification.definitions.json new file mode 100644 index 00000000..03cdf2bd --- /dev/null +++ b/schema/openapi/notification.definitions.json @@ -0,0 +1,230 @@ +{ + "$defs": { + "FieldsV1": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "ManagedFieldsEntry": { + "properties": { + "manager": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "time": { + "$ref": "#/$defs/Time" + }, + "fieldsType": { + "type": "string" + }, + "fieldsV1": { + "$ref": "#/$defs/FieldsV1" + }, + "subresource": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Notification": { + "properties": { + "kind": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "metadata": { + "$ref": "#/$defs/ObjectMeta" + }, + "spec": { + "$ref": "#/$defs/NotificationSpec" + }, + "status": { + "$ref": "#/$defs/NotificationStatus" + } + }, + "additionalProperties": false, + "type": "object" + }, + "NotificationRecipientSpec": { + "properties": { + "person": { + "type": "string" + }, + "team": { + "type": "string" + }, + "email": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "NotificationSpec": { + "properties": { + "events": { + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "type": "string" + }, + "template": { + "type": "string" + }, + "filter": { + "type": "string" + }, + "repeatInterval": { + "type": "string" + }, + "repeatGroup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "to": { + "$ref": "#/$defs/NotificationRecipientSpec" + }, + "waitFor": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "events", + "to" + ] + }, + "NotificationStatus": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "ObjectMeta": { + "properties": { + "name": { + "type": "string" + }, + "generateName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "resourceVersion": { + "type": "string" + }, + "generation": { + "type": "integer" + }, + "creationTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionGracePeriodSeconds": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ownerReferences": { + "items": { + "$ref": "#/$defs/OwnerReference" + }, + "type": "array" + }, + "finalizers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "managedFields": { + "items": { + "$ref": "#/$defs/ManagedFieldsEntry" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "OwnerReference": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "controller": { + "type": "boolean" + }, + "blockOwnerDeletion": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ] + }, + "Time": { + "properties": {}, + "additionalProperties": false, + "type": "object" + } + } +} diff --git a/schema/openapi/playbook.definitions.json b/schema/openapi/playbook.definitions.json new file mode 100644 index 00000000..ff59e00b --- /dev/null +++ b/schema/openapi/playbook.definitions.json @@ -0,0 +1,1078 @@ +{ + "$defs": { + "AIAction": { + "properties": { + "apiKey": { + "$ref": "#/$defs/EnvVar" + }, + "backend": { + "type": "string" + }, + "model": { + "type": "string" + }, + "apiURL": { + "type": "string" + }, + "config": { + "type": "string" + }, + "changes": { + "$ref": "#/$defs/TimeMetadata" + }, + "analysis": { + "$ref": "#/$defs/TimeMetadata" + }, + "relationships": { + "items": { + "$ref": "#/$defs/AIActionRelationship" + }, + "type": "array" + }, + "prompt": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "prompt" + ] + }, + "AIActionRelationship": { + "properties": { + "depth": { + "type": "integer" + }, + "direction": { + "type": "string" + }, + "changes": { + "$ref": "#/$defs/TimeMetadata" + }, + "analysis": { + "$ref": "#/$defs/TimeMetadata" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AWSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Artifact": { + "properties": { + "path": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path" + ] + }, + "AzureConnection": { + "properties": { + "connection": { + "type": "string" + }, + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "tenantID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AzureDevopsPipeline": { + "properties": { + "id": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "id" + ] + }, + "AzureDevopsPipelineAction": { + "properties": { + "org": { + "type": "string" + }, + "project": { + "type": "string" + }, + "token": { + "$ref": "#/$defs/EnvVar" + }, + "pipeline": { + "$ref": "#/$defs/AzureDevopsPipeline" + }, + "parameters": { + "$ref": "#/$defs/AzureDevopsPipelineParameters" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "org", + "project", + "token", + "pipeline" + ] + }, + "AzureDevopsPipelineParameters": { + "properties": { + "resources": true, + "templateParameters": true, + "variables": true, + "stagesToSkip": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConfigMapKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "EnvVar": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "valueFrom": { + "$ref": "#/$defs/EnvVarSource" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVarSource": { + "properties": { + "serviceAccount": { + "type": "string" + }, + "helmRef": { + "$ref": "#/$defs/HelmRefKeySelector" + }, + "configMapKeyRef": { + "$ref": "#/$defs/ConfigMapKeySelector" + }, + "secretKeyRef": { + "$ref": "#/$defs/SecretKeySelector" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ExecAction": { + "properties": { + "script": { + "type": "string" + }, + "connections": { + "$ref": "#/$defs/ExecConnections" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/Artifact" + }, + "type": "array" + }, + "env": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "checkout": { + "$ref": "#/$defs/GitCheckout" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "script" + ] + }, + "ExecConnections": { + "properties": { + "fromConfigItem": { + "type": "string" + }, + "kubernetes": { + "$ref": "#/$defs/KubernetesConnection" + }, + "aws": { + "$ref": "#/$defs/AWSConnection" + }, + "gcp": { + "$ref": "#/$defs/GCPConnection" + }, + "azure": { + "$ref": "#/$defs/AzureConnection" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GCPConnection": { + "properties": { + "connection": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "credentials": { + "$ref": "#/$defs/EnvVar" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GitCheckout": { + "properties": { + "url": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "certificate": { + "$ref": "#/$defs/EnvVar" + }, + "destination": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GitOpsAction": { + "properties": { + "repo": { + "$ref": "#/$defs/GitOpsActionRepo" + }, + "commit": { + "$ref": "#/$defs/GitOpsActionCommit" + }, + "pr": { + "$ref": "#/$defs/GitOpsActionPR" + }, + "patches": { + "items": { + "$ref": "#/$defs/GitOpsActionPatch" + }, + "type": "array" + }, + "files": { + "items": { + "$ref": "#/$defs/GitOpsActionFile" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "repo", + "commit" + ] + }, + "GitOpsActionCommit": { + "properties": { + "author": { + "type": "string" + }, + "email": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "author", + "email", + "message" + ] + }, + "GitOpsActionFile": { + "properties": { + "path": { + "type": "string" + }, + "content": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path", + "content" + ] + }, + "GitOpsActionPR": { + "properties": { + "title": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "title" + ] + }, + "GitOpsActionPatch": { + "properties": { + "path": { + "type": "string" + }, + "yq": { + "type": "string" + }, + "jq": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path" + ] + }, + "GitOpsActionRepo": { + "properties": { + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "base": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "skipExisting": { + "type": "boolean" + }, + "force": { + "type": "boolean" + }, + "connection": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "url" + ] + }, + "GithubAction": { + "properties": { + "repo": { + "type": "string" + }, + "username": { + "type": "string" + }, + "token": { + "$ref": "#/$defs/EnvVar" + }, + "workflows": { + "items": { + "$ref": "#/$defs/GithubWorkflow" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "repo", + "username", + "token" + ] + }, + "GithubWorkflow": { + "properties": { + "id": { + "type": "string" + }, + "ref": { + "type": "string" + }, + "input": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "id" + ] + }, + "HTTPAction": { + "properties": { + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "method": { + "type": "string" + }, + "ntlm": { + "type": "boolean" + }, + "ntlmv2": { + "type": "boolean" + }, + "headers": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "body": { + "type": "string" + }, + "templateBody": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "HelmRefKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KubernetesConnection": { + "properties": { + "connection": { + "type": "string" + }, + "kubeconfig": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "NotificationAction": { + "properties": { + "url": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "title": { + "type": "string" + }, + "message": { + "type": "string" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "title", + "message" + ] + }, + "Permission": { + "properties": { + "role": { + "type": "string" + }, + "team": { + "type": "string" + }, + "ref": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PlaybookAction": { + "properties": { + "name": { + "type": "string" + }, + "delay": { + "type": "string" + }, + "timeout": { + "type": "string" + }, + "if": { + "type": "string" + }, + "runsOn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "templatesOn": { + "type": "string" + }, + "ai": { + "$ref": "#/$defs/AIAction" + }, + "exec": { + "$ref": "#/$defs/ExecAction" + }, + "gitops": { + "$ref": "#/$defs/GitOpsAction" + }, + "github": { + "$ref": "#/$defs/GithubAction" + }, + "azureDevopsPipeline": { + "$ref": "#/$defs/AzureDevopsPipelineAction" + }, + "http": { + "$ref": "#/$defs/HTTPAction" + }, + "sql": { + "$ref": "#/$defs/SQLAction" + }, + "pod": { + "$ref": "#/$defs/PodAction" + }, + "notification": { + "$ref": "#/$defs/NotificationAction" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "PlaybookApproval": { + "properties": { + "type": { + "type": "string" + }, + "approvers": { + "$ref": "#/$defs/PlaybookApprovers" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PlaybookApprovers": { + "properties": { + "people": { + "items": { + "type": "string" + }, + "type": "array" + }, + "teams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PlaybookEventWebhookAuth": { + "properties": { + "basic": { + "$ref": "#/$defs/PlaybookEventWebhookAuthBasic" + }, + "github": { + "$ref": "#/$defs/PlaybookEventWebhookAuthGithub" + }, + "svix": { + "$ref": "#/$defs/PlaybookEventWebhookAuthSVIX" + }, + "jwt": { + "$ref": "#/$defs/PlaybookEventWebhookAuthJWT" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PlaybookEventWebhookAuthBasic": { + "properties": { + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "username", + "password" + ] + }, + "PlaybookEventWebhookAuthGithub": { + "properties": { + "token": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token" + ] + }, + "PlaybookEventWebhookAuthJWT": { + "properties": { + "jwksUri": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "jwksUri" + ] + }, + "PlaybookEventWebhookAuthSVIX": { + "properties": { + "secret": { + "$ref": "#/$defs/EnvVar" + }, + "verifyTimestamp": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "secret" + ] + }, + "PlaybookParameter": { + "properties": { + "name": { + "type": "string" + }, + "default": { + "type": "string" + }, + "label": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "icon": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "properties": true, + "dependsOn": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "PlaybookSpec": { + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "category": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "on": { + "$ref": "#/$defs/PlaybookTrigger" + }, + "runsOn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "env": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "templatesOn": { + "type": "string" + }, + "permissions": { + "items": { + "$ref": "#/$defs/Permission" + }, + "type": "array" + }, + "configs": { + "$ref": "#/$defs/ResourceSelectors" + }, + "checks": { + "$ref": "#/$defs/ResourceSelectors" + }, + "components": { + "$ref": "#/$defs/ResourceSelectors" + }, + "parameters": { + "items": { + "$ref": "#/$defs/PlaybookParameter" + }, + "type": "array" + }, + "actions": { + "items": { + "$ref": "#/$defs/PlaybookAction" + }, + "type": "array" + }, + "filters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "approval": { + "$ref": "#/$defs/PlaybookApproval" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "actions" + ] + }, + "PlaybookTrigger": { + "properties": { + "canary": { + "items": { + "$ref": "#/$defs/PlaybookTriggerEvent" + }, + "type": "array" + }, + "config": { + "items": { + "$ref": "#/$defs/PlaybookTriggerEvent" + }, + "type": "array" + }, + "component": { + "items": { + "$ref": "#/$defs/PlaybookTriggerEvent" + }, + "type": "array" + }, + "webhook": { + "$ref": "#/$defs/PlaybookTriggerWebhook" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PlaybookTriggerEvent": { + "properties": { + "event": { + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "filter": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "event" + ] + }, + "PlaybookTriggerWebhook": { + "properties": { + "path": { + "type": "string" + }, + "authentication": { + "$ref": "#/$defs/PlaybookEventWebhookAuth" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path" + ] + }, + "PodAction": { + "properties": { + "name": { + "type": "string" + }, + "maxLength": { + "type": "integer" + }, + "spec": true, + "artifacts": { + "items": { + "$ref": "#/$defs/Artifact" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "spec" + ] + }, + "ResourceSelector": { + "properties": { + "agent": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "cache": { + "type": "string" + }, + "search": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "includeDeleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "tagSelector": { + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "fieldSelector": { + "type": "string" + }, + "types": { + "$ref": "#/$defs/Items" + }, + "statuses": { + "$ref": "#/$defs/Items" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ResourceSelectors": { + "items": { + "$ref": "#/$defs/ResourceSelector" + }, + "type": "array" + }, + "SQLAction": { + "properties": { + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "query": { + "type": "string" + }, + "driver": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "query", + "driver" + ] + }, + "SecretKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "TimeMetadata": { + "properties": { + "since": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "since" + ] + } + } +} diff --git a/schema/openapi/scrape_config.definitions.json b/schema/openapi/scrape_config.definitions.json new file mode 100644 index 00000000..b3e7a2b7 --- /dev/null +++ b/schema/openapi/scrape_config.definitions.json @@ -0,0 +1,2372 @@ +{ + "$defs": { + "AWS": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "region": { + "items": { + "type": "string" + }, + "type": "array" + }, + "compliance": { + "type": "boolean" + }, + "cloudtrail": { + "$ref": "#/$defs/CloudTrail" + }, + "include": { + "items": { + "type": "string" + }, + "type": "array" + }, + "exclude": { + "items": { + "type": "string" + }, + "type": "array" + }, + "costReporting": { + "$ref": "#/$defs/CostReporting" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Authentication": { + "properties": { + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "username", + "password" + ] + }, + "Azure": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "subscriptionID": { + "type": "string" + }, + "organisation": { + "type": "string" + }, + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "tenantID": { + "type": "string" + }, + "exclusions": { + "$ref": "#/$defs/AzureExclusions" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "subscriptionID", + "organisation" + ] + }, + "AzureDevops": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + }, + "projects": { + "items": { + "type": "string" + }, + "type": "array" + }, + "pipelines": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "projects", + "pipelines" + ] + }, + "AzureExclusions": { + "properties": { + "activityLogs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ChangeExtractionMapping": { + "properties": { + "createdAt": { + "$ref": "#/$defs/ValueExpression" + }, + "severity": { + "$ref": "#/$defs/ValueExpression" + }, + "summary": { + "$ref": "#/$defs/ValueExpression" + }, + "type": { + "$ref": "#/$defs/ValueExpression" + }, + "details": { + "$ref": "#/$defs/ValueExpression" + }, + "timeFormat": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ChangeMapping": { + "properties": { + "filter": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "type": { + "type": "string" + }, + "action": { + "type": "string" + }, + "summary": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ChangeRetentionSpec": { + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "string" + }, + "count": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CloudTrail": { + "properties": { + "exclude": { + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConfigFieldExclusion": { + "properties": { + "types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "jsonpath": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "jsonpath" + ] + }, + "ConfigMapKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "ConfigProperties": { + "properties": { + "label": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "color": { + "type": "string" + }, + "order": { + "type": "integer" + }, + "headline": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "value": { + "type": "integer" + }, + "unit": { + "type": "string" + }, + "max": { + "type": "integer" + }, + "min": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "lastTransition": { + "type": "string" + }, + "links": { + "items": { + "$ref": "#/$defs/Link" + }, + "type": "array" + }, + "filter": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CostReporting": { + "properties": { + "s3BucketPath": { + "type": "string" + }, + "table": { + "type": "string" + }, + "database": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVar": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "valueFrom": { + "$ref": "#/$defs/EnvVarSource" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVarResourceSelector": { + "properties": { + "agent": { + "$ref": "#/$defs/ValueExpression" + }, + "scope": { + "type": "string" + }, + "cache": { + "type": "string" + }, + "id": { + "$ref": "#/$defs/ValueExpression" + }, + "name": { + "$ref": "#/$defs/ValueExpression" + }, + "namespace": { + "$ref": "#/$defs/ValueExpression" + }, + "types": { + "items": { + "$ref": "#/$defs/ValueExpression" + }, + "type": "array" + }, + "statuses": { + "items": { + "$ref": "#/$defs/ValueExpression" + }, + "type": "array" + }, + "tagSelector": { + "$ref": "#/$defs/ValueExpression" + }, + "labelSelector": { + "$ref": "#/$defs/ValueExpression" + }, + "fieldSelector": { + "$ref": "#/$defs/ValueExpression" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVarSource": { + "properties": { + "serviceAccount": { + "type": "string" + }, + "helmRef": { + "$ref": "#/$defs/HelmRefKeySelector" + }, + "configMapKeyRef": { + "$ref": "#/$defs/ConfigMapKeySelector" + }, + "secretKeyRef": { + "$ref": "#/$defs/SecretKeySelector" + } + }, + "additionalProperties": false, + "type": "object" + }, + "FieldsV1": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "File": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "url": { + "type": "string" + }, + "paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ignore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "icon": { + "type": "string" + }, + "connection": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GCP": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "endpoint": { + "type": "string" + }, + "credentials": { + "$ref": "#/$defs/EnvVar" + }, + "project": { + "type": "string" + }, + "include": { + "items": { + "type": "string" + }, + "type": "array" + }, + "exclude": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "project" + ] + }, + "GCSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "credentials": { + "$ref": "#/$defs/EnvVar" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "bucket": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GitHubActions": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "owner": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + }, + "connection": { + "type": "string" + }, + "workflows": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "owner", + "repository", + "personalAccessToken", + "workflows" + ] + }, + "HTTP": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "ntlm": { + "type": "boolean" + }, + "ntlmv2": { + "type": "boolean" + }, + "digest": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "bearer": { + "$ref": "#/$defs/EnvVar" + }, + "oauth": { + "$ref": "#/$defs/OAuth" + }, + "tls": { + "$ref": "#/$defs/TLSConfig" + }, + "env": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "method": { + "type": "string" + }, + "body": { + "type": "string" + }, + "headers": { + "additionalProperties": { + "$ref": "#/$defs/EnvVar" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "HelmRefKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "JSONStringMap": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "Kubernetes": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "clusterName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "useCache": { + "type": "boolean" + }, + "allowIncomplete": { + "type": "boolean" + }, + "scope": { + "type": "string" + }, + "since": { + "type": "string" + }, + "selector": { + "type": "string" + }, + "fieldSelector": { + "type": "string" + }, + "maxInflight": { + "type": "integer" + }, + "kubeconfig": { + "$ref": "#/$defs/EnvVar" + }, + "watch": { + "items": { + "$ref": "#/$defs/KubernetesResourceToWatch" + }, + "type": "array" + }, + "event": { + "$ref": "#/$defs/KubernetesEventConfig" + }, + "exclusions": { + "$ref": "#/$defs/KubernetesExclusionConfig" + }, + "relationships": { + "items": { + "$ref": "#/$defs/KubernetesRelationshipSelectorTemplate" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "clusterName" + ] + }, + "KubernetesEventConfig": { + "properties": { + "exclusions": { + "$ref": "#/$defs/KubernetesEventExclusions" + }, + "severityKeywords": { + "$ref": "#/$defs/SeverityKeywords" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KubernetesEventExclusions": { + "properties": { + "name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "namespace": { + "items": { + "type": "string" + }, + "type": "array" + }, + "reason": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KubernetesExclusionConfig": { + "properties": { + "name": { + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "items": { + "type": "string" + }, + "type": "array" + }, + "namespace": { + "items": { + "type": "string" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KubernetesFile": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "kubeconfig": { + "$ref": "#/$defs/EnvVar" + }, + "selector": { + "$ref": "#/$defs/ResourceSelector" + }, + "container": { + "type": "string" + }, + "files": { + "items": { + "$ref": "#/$defs/PodFile" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "selector" + ] + }, + "KubernetesRelationshipSelectorTemplate": { + "properties": { + "kind": { + "$ref": "#/$defs/Lookup" + }, + "name": { + "$ref": "#/$defs/Lookup" + }, + "namespace": { + "$ref": "#/$defs/Lookup" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "kind", + "name", + "namespace" + ] + }, + "KubernetesResourceToWatch": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "apiVersion", + "kind" + ] + }, + "Link": { + "properties": { + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "text": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Lookup": { + "properties": { + "expr": { + "type": "string" + }, + "value": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ManagedFieldsEntry": { + "properties": { + "manager": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "time": { + "$ref": "#/$defs/Time" + }, + "fieldsType": { + "type": "string" + }, + "fieldsV1": { + "$ref": "#/$defs/FieldsV1" + }, + "subresource": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Mask": { + "properties": { + "selector": { + "type": "string" + }, + "jsonpath": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "MaskList": { + "items": { + "$ref": "#/$defs/Mask" + }, + "type": "array" + }, + "MatchExpressions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OAuth": { + "properties": { + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "scope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenURL": { + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ObjectMeta": { + "properties": { + "name": { + "type": "string" + }, + "generateName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "resourceVersion": { + "type": "string" + }, + "generation": { + "type": "integer" + }, + "creationTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionGracePeriodSeconds": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ownerReferences": { + "items": { + "$ref": "#/$defs/OwnerReference" + }, + "type": "array" + }, + "finalizers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "managedFields": { + "items": { + "$ref": "#/$defs/ManagedFieldsEntry" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "OwnerReference": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "controller": { + "type": "boolean" + }, + "blockOwnerDeletion": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ] + }, + "PodFile": { + "properties": { + "path": { + "items": { + "type": "string" + }, + "type": "array" + }, + "format": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "RelationshipConfig": { + "properties": { + "id": { + "$ref": "#/$defs/Lookup" + }, + "external_id": { + "$ref": "#/$defs/Lookup" + }, + "name": { + "$ref": "#/$defs/Lookup" + }, + "namespace": { + "$ref": "#/$defs/Lookup" + }, + "type": { + "$ref": "#/$defs/Lookup" + }, + "agent": { + "$ref": "#/$defs/Lookup" + }, + "scope": { + "$ref": "#/$defs/Lookup" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "expr": { + "type": "string" + }, + "filter": { + "type": "string" + }, + "parent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ResourceSelector": { + "properties": { + "namespace": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "fieldSelector": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "RetentionSpec": { + "properties": { + "changes": { + "items": { + "$ref": "#/$defs/ChangeRetentionSpec" + }, + "type": "array" + }, + "types": { + "items": { + "$ref": "#/$defs/TypeRetentionSpec" + }, + "type": "array" + }, + "staleItemAge": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "S3Connection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "bucket": { + "type": "string" + }, + "objectPath": { + "type": "string" + }, + "usePathStyle": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SQL": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "auth": { + "$ref": "#/$defs/Authentication" + }, + "driver": { + "type": "string" + }, + "query": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "connection", + "query" + ] + }, + "ScrapeConfig": { + "properties": { + "kind": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "metadata": { + "$ref": "#/$defs/ObjectMeta" + }, + "spec": { + "$ref": "#/$defs/ScraperSpec" + }, + "status": { + "$ref": "#/$defs/ScrapeConfigStatus" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ScrapeConfigStatus": { + "properties": { + "observedGeneration": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ScraperSpec": { + "properties": { + "logLevel": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "gcp": { + "items": { + "$ref": "#/$defs/GCP" + }, + "type": "array" + }, + "aws": { + "items": { + "$ref": "#/$defs/AWS" + }, + "type": "array" + }, + "file": { + "items": { + "$ref": "#/$defs/File" + }, + "type": "array" + }, + "kubernetes": { + "items": { + "$ref": "#/$defs/Kubernetes" + }, + "type": "array" + }, + "kubernetesFile": { + "items": { + "$ref": "#/$defs/KubernetesFile" + }, + "type": "array" + }, + "azureDevops": { + "items": { + "$ref": "#/$defs/AzureDevops" + }, + "type": "array" + }, + "githubActions": { + "items": { + "$ref": "#/$defs/GitHubActions" + }, + "type": "array" + }, + "azure": { + "items": { + "$ref": "#/$defs/Azure" + }, + "type": "array" + }, + "sql": { + "items": { + "$ref": "#/$defs/SQL" + }, + "type": "array" + }, + "slack": { + "items": { + "$ref": "#/$defs/Slack" + }, + "type": "array" + }, + "trivy": { + "items": { + "$ref": "#/$defs/Trivy" + }, + "type": "array" + }, + "terraform": { + "items": { + "$ref": "#/$defs/Terraform" + }, + "type": "array" + }, + "http": { + "items": { + "$ref": "#/$defs/HTTP" + }, + "type": "array" + }, + "crdSync": { + "type": "boolean" + }, + "retention": { + "$ref": "#/$defs/RetentionSpec" + }, + "full": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SecretKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "SeverityKeywords": { + "properties": { + "warn": { + "items": { + "type": "string" + }, + "type": "array" + }, + "error": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Slack": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "token": { + "$ref": "#/$defs/EnvVar" + }, + "since": { + "type": "string" + }, + "channels": { + "$ref": "#/$defs/MatchExpressions" + }, + "rules": { + "items": { + "$ref": "#/$defs/SlackChangeExtractionRule" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "token", + "rules" + ] + }, + "SlackChangeAcceptanceFilter": { + "properties": { + "bot": { + "type": "string" + }, + "user": { + "$ref": "#/$defs/SlackUserFilter" + }, + "expr": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SlackChangeExtractionRule": { + "properties": { + "regexp": { + "type": "string" + }, + "mapping": { + "$ref": "#/$defs/ChangeExtractionMapping" + }, + "config": { + "items": { + "$ref": "#/$defs/EnvVarResourceSelector" + }, + "type": "array" + }, + "filter": { + "$ref": "#/$defs/SlackChangeAcceptanceFilter" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "config" + ] + }, + "SlackUserFilter": { + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TLSConfig": { + "properties": { + "insecureSkipVerify": { + "type": "boolean" + }, + "handshakeTimeout": { + "type": "integer" + }, + "ca": { + "$ref": "#/$defs/EnvVar" + }, + "cert": { + "$ref": "#/$defs/EnvVar" + }, + "key": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Tag": { + "properties": { + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "jsonpath": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "Tags": { + "items": { + "$ref": "#/$defs/Tag" + }, + "type": "array" + }, + "Terraform": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "state": { + "$ref": "#/$defs/TerraformStateSource" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "state" + ] + }, + "TerraformStateSource": { + "properties": { + "s3": { + "$ref": "#/$defs/S3Connection" + }, + "gcs": { + "$ref": "#/$defs/GCSConnection" + }, + "local": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Time": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "Transform": { + "properties": { + "gotemplate": { + "type": "string" + }, + "jsonpath": { + "type": "string" + }, + "expr": { + "type": "string" + }, + "javascript": { + "type": "string" + }, + "exclude": { + "items": { + "$ref": "#/$defs/ConfigFieldExclusion" + }, + "type": "array" + }, + "mask": { + "$ref": "#/$defs/MaskList" + }, + "relationship": { + "items": { + "$ref": "#/$defs/RelationshipConfig" + }, + "type": "array" + }, + "changes": { + "$ref": "#/$defs/TransformChange" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TransformChange": { + "properties": { + "mapping": { + "items": { + "$ref": "#/$defs/ChangeMapping" + }, + "type": "array" + }, + "exclude": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Trivy": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "items": { + "type": "string" + }, + "type": { + "type": "string" + }, + "class": { + "type": "string" + }, + "format": { + "type": "string" + }, + "status": { + "type": "string" + }, + "health": { + "type": "string" + }, + "timestampFormat": { + "type": "string" + }, + "createFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "deleteFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "transform": { + "$ref": "#/$defs/Transform" + }, + "labels": { + "$ref": "#/$defs/JSONStringMap" + }, + "tags": { + "$ref": "#/$defs/Tags" + }, + "properties": { + "items": { + "$ref": "#/$defs/ConfigProperties" + }, + "type": "array" + }, + "version": { + "type": "string" + }, + "compliance": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoredLicenses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreUnfixed": { + "type": "boolean" + }, + "licenseFull": { + "type": "boolean" + }, + "severity": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vulnType": { + "items": { + "type": "string" + }, + "type": "array" + }, + "scanners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "timeout": { + "type": "string" + }, + "kubernetes": { + "$ref": "#/$defs/TrivyK8sOptions" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TrivyK8sOptions": { + "properties": { + "components": { + "items": { + "type": "string" + }, + "type": "array" + }, + "context": { + "type": "string" + }, + "kubeconfig": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TypeRetentionSpec": { + "properties": { + "name": { + "type": "string" + }, + "createdAge": { + "type": "string" + }, + "updatedAge": { + "type": "string" + }, + "deletedAge": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ValueExpression": { + "properties": { + "expr": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + } + } +} diff --git a/schema/openapi/topology.definitions.json b/schema/openapi/topology.definitions.json new file mode 100644 index 00000000..398953e4 --- /dev/null +++ b/schema/openapi/topology.definitions.json @@ -0,0 +1,4585 @@ +{ + "$defs": { + "AWSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AlertManagerCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "alerts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "filters": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "exclude_filters": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ignore": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "Artifact": { + "properties": { + "path": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path" + ] + }, + "Authentication": { + "properties": { + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AwsConfigCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "query": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "aggregatorName": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "query" + ] + }, + "AwsConfigRuleCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "ignoreRules": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rules": { + "items": { + "type": "string" + }, + "type": "array" + }, + "complianceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "AzureConnection": { + "properties": { + "connection": { + "type": "string" + }, + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "tenantID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AzureDevopsCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "personalAccessToken": { + "$ref": "#/$defs/EnvVar" + }, + "project": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "variables": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "branch": { + "items": { + "type": "string" + }, + "type": "array" + }, + "thresholdMillis": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "organization", + "personalAccessToken", + "project", + "pipeline", + "variables", + "branch", + "thresholdMillis" + ] + }, + "CanarySpec": { + "properties": { + "replicas": { + "type": "integer" + }, + "env": { + "additionalProperties": { + "$ref": "#/$defs/VarSource" + }, + "type": "object" + }, + "http": { + "items": { + "$ref": "#/$defs/HTTPCheck" + }, + "type": "array" + }, + "dns": { + "items": { + "$ref": "#/$defs/DNSCheck" + }, + "type": "array" + }, + "docker": { + "items": { + "$ref": "#/$defs/DockerPullCheck" + }, + "type": "array" + }, + "dockerPush": { + "items": { + "$ref": "#/$defs/DockerPushCheck" + }, + "type": "array" + }, + "containerd": { + "items": { + "$ref": "#/$defs/ContainerdPullCheck" + }, + "type": "array" + }, + "containerdPush": { + "items": { + "$ref": "#/$defs/ContainerdPushCheck" + }, + "type": "array" + }, + "s3": { + "items": { + "$ref": "#/$defs/S3Check" + }, + "type": "array" + }, + "tcp": { + "items": { + "$ref": "#/$defs/TCPCheck" + }, + "type": "array" + }, + "pod": { + "items": { + "$ref": "#/$defs/PodCheck" + }, + "type": "array" + }, + "ldap": { + "items": { + "$ref": "#/$defs/LDAPCheck" + }, + "type": "array" + }, + "icmp": { + "items": { + "$ref": "#/$defs/ICMPCheck" + }, + "type": "array" + }, + "postgres": { + "items": { + "$ref": "#/$defs/PostgresCheck" + }, + "type": "array" + }, + "mssql": { + "items": { + "$ref": "#/$defs/MssqlCheck" + }, + "type": "array" + }, + "mysql": { + "items": { + "$ref": "#/$defs/MysqlCheck" + }, + "type": "array" + }, + "restic": { + "items": { + "$ref": "#/$defs/ResticCheck" + }, + "type": "array" + }, + "jmeter": { + "items": { + "$ref": "#/$defs/JmeterCheck" + }, + "type": "array" + }, + "junit": { + "items": { + "$ref": "#/$defs/JunitCheck" + }, + "type": "array" + }, + "helm": { + "items": { + "$ref": "#/$defs/HelmCheck" + }, + "type": "array" + }, + "namespace": { + "items": { + "$ref": "#/$defs/NamespaceCheck" + }, + "type": "array" + }, + "redis": { + "items": { + "$ref": "#/$defs/RedisCheck" + }, + "type": "array" + }, + "prometheus": { + "items": { + "$ref": "#/$defs/PrometheusCheck" + }, + "type": "array" + }, + "mongodb": { + "items": { + "$ref": "#/$defs/MongoDBCheck" + }, + "type": "array" + }, + "cloudwatch": { + "items": { + "$ref": "#/$defs/CloudWatchCheck" + }, + "type": "array" + }, + "github": { + "items": { + "$ref": "#/$defs/GitHubCheck" + }, + "type": "array" + }, + "gitProtocol": { + "items": { + "$ref": "#/$defs/GitProtocolCheck" + }, + "type": "array" + }, + "kubernetes": { + "items": { + "$ref": "#/$defs/KubernetesCheck" + }, + "type": "array" + }, + "kubernetesResource": { + "items": { + "$ref": "#/$defs/KubernetesResourceCheck" + }, + "type": "array" + }, + "folder": { + "items": { + "$ref": "#/$defs/FolderCheck" + }, + "type": "array" + }, + "exec": { + "items": { + "$ref": "#/$defs/ExecCheck" + }, + "type": "array" + }, + "awsConfig": { + "items": { + "$ref": "#/$defs/AwsConfigCheck" + }, + "type": "array" + }, + "awsConfigRule": { + "items": { + "$ref": "#/$defs/AwsConfigRuleCheck" + }, + "type": "array" + }, + "databaseBackup": { + "items": { + "$ref": "#/$defs/DatabaseBackupCheck" + }, + "type": "array" + }, + "catalog": { + "items": { + "$ref": "#/$defs/CatalogCheck" + }, + "type": "array" + }, + "opensearch": { + "items": { + "$ref": "#/$defs/OpenSearchCheck" + }, + "type": "array" + }, + "elasticsearch": { + "items": { + "$ref": "#/$defs/ElasticsearchCheck" + }, + "type": "array" + }, + "alertmanager": { + "items": { + "$ref": "#/$defs/AlertManagerCheck" + }, + "type": "array" + }, + "dynatrace": { + "items": { + "$ref": "#/$defs/DynatraceCheck" + }, + "type": "array" + }, + "azureDevops": { + "items": { + "$ref": "#/$defs/AzureDevopsCheck" + }, + "type": "array" + }, + "webhook": { + "$ref": "#/$defs/WebhookCheck" + }, + "interval": { + "type": "integer" + }, + "schedule": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "resultMode": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CatalogCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "selector": { + "$ref": "#/$defs/ResourceSelectors" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "selector" + ] + }, + "CheckRelationship": { + "properties": { + "components": { + "items": { + "$ref": "#/$defs/RelationshipSelectorTemplate" + }, + "type": "array" + }, + "configs": { + "items": { + "$ref": "#/$defs/RelationshipSelectorTemplate" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CloudWatchCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "actionPrefix": { + "type": "string" + }, + "alarmPrefix": { + "type": "string" + }, + "alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "ComponentCheck": { + "properties": { + "selector": { + "$ref": "#/$defs/ResourceSelector" + }, + "inline": { + "$ref": "#/$defs/CanarySpec" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ComponentChecks": { + "items": { + "$ref": "#/$defs/ComponentCheck" + }, + "type": "array" + }, + "ComponentSpec": { + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "externalID": { + "type": "string" + }, + "id": { + "$ref": "#/$defs/Template" + }, + "order": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "hidden": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "lifecycle": { + "type": "string" + }, + "relationships": { + "items": { + "$ref": "#/$defs/RelationshipSpec" + }, + "type": "array" + }, + "properties": { + "items": { + "$ref": "#/$defs/Property" + }, + "type": "array" + }, + "lookup": { + "$ref": "#/$defs/CanarySpec" + }, + "components": { + "items": { + "$ref": "#/$defs/ComponentSpecObject" + }, + "type": "array" + }, + "selectors": { + "$ref": "#/$defs/ResourceSelectors" + }, + "checks": { + "$ref": "#/$defs/ComponentChecks" + }, + "configs": { + "$ref": "#/$defs/ConfigQueries" + }, + "summary": { + "$ref": "#/$defs/Summary" + }, + "forEach": { + "$ref": "#/$defs/ForEach" + }, + "logs": { + "$ref": "#/$defs/LogSelectors" + }, + "parentLookup": { + "$ref": "#/$defs/ParentLookup" + }, + "statusExpr": { + "type": "string" + }, + "healthExpr": { + "type": "string" + }, + "health": { + "type": "string" + }, + "configID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ComponentSpecObject": { + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "externalID": { + "type": "string" + }, + "id": { + "$ref": "#/$defs/Template" + }, + "order": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "hidden": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "lifecycle": { + "type": "string" + }, + "relationships": { + "items": { + "$ref": "#/$defs/RelationshipSpec" + }, + "type": "array" + }, + "properties": { + "items": { + "$ref": "#/$defs/Property" + }, + "type": "array" + }, + "lookup": { + "$ref": "#/$defs/CanarySpec" + }, + "components": { + "items": { + "$ref": "#/$defs/ComponentSpecObject" + }, + "type": "array" + }, + "selectors": { + "$ref": "#/$defs/ResourceSelectors" + }, + "checks": { + "$ref": "#/$defs/ComponentChecks" + }, + "configs": { + "$ref": "#/$defs/ConfigQueries" + }, + "summary": { + "$ref": "#/$defs/Summary" + }, + "forEach": { + "$ref": "#/$defs/ForEach" + }, + "logs": { + "$ref": "#/$defs/LogSelectors" + }, + "parentLookup": { + "$ref": "#/$defs/ParentLookup" + }, + "statusExpr": { + "type": "string" + }, + "healthExpr": { + "type": "string" + }, + "health": { + "type": "string" + }, + "configID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConfigLookup": { + "properties": { + "id": { + "type": "string" + }, + "config": { + "$ref": "#/$defs/ConfigQuery" + }, + "field": { + "type": "string" + }, + "display": { + "$ref": "#/$defs/Display" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConfigMapKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + }, + "optional": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "ConfigQueries": { + "items": { + "$ref": "#/$defs/ConfigQuery" + }, + "type": "array" + }, + "ConfigQuery": { + "properties": { + "agent": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "cache": { + "type": "string" + }, + "search": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "includeDeleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "types": { + "$ref": "#/$defs/Items" + }, + "statuses": { + "$ref": "#/$defs/Items" + }, + "tagSelector": { + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "fieldSelector": { + "type": "string" + }, + "class": { + "type": "string" + }, + "external_id": { + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "type": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ContainerdPullCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "image": { + "type": "string" + }, + "auth": { + "$ref": "#/$defs/Authentication" + }, + "expectedDigest": { + "type": "string" + }, + "expectedSize": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "image" + ] + }, + "ContainerdPushCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "image": { + "type": "string" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "image" + ] + }, + "DNSCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "server": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "query": { + "type": "string" + }, + "querytype": { + "type": "string" + }, + "minrecords": { + "type": "integer" + }, + "exactreply": { + "items": { + "type": "string" + }, + "type": "array" + }, + "timeout": { + "type": "integer" + }, + "thresholdMillis": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "DatabaseBackupCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "gcp": { + "$ref": "#/$defs/GCPDatabase" + }, + "maxAge": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "Display": { + "properties": { + "template": { + "type": "string" + }, + "jsonPath": { + "type": "string" + }, + "expr": { + "type": "string" + }, + "javascript": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "DockerPullCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "image": { + "type": "string" + }, + "auth": { + "$ref": "#/$defs/Authentication" + }, + "expectedDigest": { + "type": "string" + }, + "expectedSize": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "image" + ] + }, + "DockerPushCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "image": { + "type": "string" + }, + "auth": { + "$ref": "#/$defs/Authentication" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "image" + ] + }, + "DynatraceCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "host": { + "type": "string" + }, + "scheme": { + "type": "string" + }, + "apiKey": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "ElasticsearchCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "query": { + "type": "string" + }, + "index": { + "type": "string" + }, + "results": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "EnvVar": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "valueFrom": { + "$ref": "#/$defs/EnvVarSource" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EnvVarSource": { + "properties": { + "serviceAccount": { + "type": "string" + }, + "helmRef": { + "$ref": "#/$defs/HelmRefKeySelector" + }, + "configMapKeyRef": { + "$ref": "#/$defs/ConfigMapKeySelector" + }, + "secretKeyRef": { + "$ref": "#/$defs/SecretKeySelector" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ExecCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "script": { + "type": "string" + }, + "connections": { + "$ref": "#/$defs/ExecConnections" + }, + "env": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "checkout": { + "$ref": "#/$defs/GitCheckout" + }, + "artifacts": { + "items": { + "$ref": "#/$defs/Artifact" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "script" + ] + }, + "ExecConnections": { + "properties": { + "aws": { + "$ref": "#/$defs/AWSConnection" + }, + "gcp": { + "$ref": "#/$defs/GCPConnection" + }, + "azure": { + "$ref": "#/$defs/AzureConnection" + } + }, + "additionalProperties": false, + "type": "object" + }, + "FieldsV1": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "FolderCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "path": { + "type": "string" + }, + "recursive": { + "type": "boolean" + }, + "filter": { + "$ref": "#/$defs/FolderFilter" + }, + "minAge": { + "type": "string" + }, + "maxAge": { + "type": "string" + }, + "minCount": { + "type": "integer" + }, + "maxCount": { + "type": "integer" + }, + "minSize": { + "type": "string" + }, + "maxSize": { + "type": "string" + }, + "availableSize": { + "type": "string" + }, + "totalSize": { + "type": "string" + }, + "awsConnection": { + "$ref": "#/$defs/S3Connection" + }, + "gcpConnection": { + "$ref": "#/$defs/GCSConnection" + }, + "smbConnection": { + "$ref": "#/$defs/SMBConnection" + }, + "sftpConnection": { + "$ref": "#/$defs/SFTPConnection" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "path" + ] + }, + "FolderFilter": { + "properties": { + "minAge": { + "type": "string" + }, + "maxAge": { + "type": "string" + }, + "since": { + "type": "string" + }, + "minSize": { + "type": "string" + }, + "maxSize": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ForEach": { + "properties": { + "components": { + "items": { + "$ref": "#/$defs/ComponentSpec" + }, + "type": "array" + }, + "properties": { + "$ref": "#/$defs/Properties" + }, + "configs": { + "items": { + "$ref": "#/$defs/ConfigQuery" + }, + "type": "array" + }, + "selectors": { + "$ref": "#/$defs/ResourceSelectors" + }, + "relationships": { + "items": { + "$ref": "#/$defs/RelationshipSpec" + }, + "type": "array" + }, + "checks": { + "$ref": "#/$defs/ComponentChecks" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GCPConnection": { + "properties": { + "connection": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "credentials": { + "$ref": "#/$defs/EnvVar" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GCPDatabase": { + "properties": { + "project": { + "type": "string" + }, + "instance": { + "type": "string" + }, + "gcpConnection": { + "$ref": "#/$defs/GCPConnection" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "project", + "instance" + ] + }, + "GCSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "credentials": { + "$ref": "#/$defs/EnvVar" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "bucket": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GitCheckout": { + "properties": { + "url": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "certificate": { + "$ref": "#/$defs/EnvVar" + }, + "destination": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "GitHubCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "query": { + "type": "string" + }, + "githubToken": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "query" + ] + }, + "GitProtocolCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "filename": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "repository", + "username", + "password" + ] + }, + "HTTPCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "endpoint": { + "type": "string" + }, + "thresholdMillis": { + "type": "integer" + }, + "responseCodes": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "responseContent": { + "type": "string" + }, + "responseJSONContent": { + "$ref": "#/$defs/JSONCheck" + }, + "maxSSLExpiry": { + "type": "integer" + }, + "method": { + "type": "string" + }, + "ntlm": { + "type": "boolean" + }, + "ntlmv2": { + "type": "boolean" + }, + "body": { + "type": "string" + }, + "headers": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "templateBody": { + "type": "boolean" + }, + "env": { + "items": { + "$ref": "#/$defs/EnvVar" + }, + "type": "array" + }, + "oauth2": { + "$ref": "#/$defs/Oauth2Config" + }, + "tlsConfig": { + "$ref": "#/$defs/TLSConfig" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "HTTPConnection": { + "properties": { + "connection": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "ntlm": { + "type": "boolean" + }, + "ntlmv2": { + "type": "boolean" + }, + "digest": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "bearer": { + "$ref": "#/$defs/EnvVar" + }, + "oauth": { + "$ref": "#/$defs/OAuth" + }, + "tls": { + "$ref": "#/$defs/TLSConfig" + } + }, + "additionalProperties": false, + "type": "object" + }, + "HelmCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "chartmuseum": { + "type": "string" + }, + "project": { + "type": "string" + }, + "auth": { + "$ref": "#/$defs/Authentication" + }, + "cafile": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "HelmRefKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "ICMPCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "endpoint": { + "type": "string" + }, + "thresholdMillis": { + "type": "integer" + }, + "packetLossThreshold": { + "type": "integer" + }, + "packetCount": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JSONCheck": { + "properties": { + "path": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "path", + "value" + ] + }, + "JmeterCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "jmx": { + "$ref": "#/$defs/EnvVar" + }, + "host": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "properties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "systemProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "responseDuration": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "jmx" + ] + }, + "JunitCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "testResults": { + "type": "string" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "timeout": { + "type": "integer" + }, + "spec": true, + "artifacts": { + "items": { + "$ref": "#/$defs/Artifact" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "testResults", + "spec" + ] + }, + "KubernetesCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "namespaceSelector": { + "$ref": "#/$defs/ResourceSelector" + }, + "resource": { + "$ref": "#/$defs/ResourceSelector" + }, + "kubeconfig": { + "$ref": "#/$defs/EnvVar" + }, + "ignore": { + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "type": "string" + }, + "healthy": { + "type": "boolean" + }, + "ready": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "kind" + ] + }, + "KubernetesResourceCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "staticResources": { + "items": { + "$ref": "#/$defs/Unstructured" + }, + "type": "array" + }, + "resources": { + "items": { + "$ref": "#/$defs/Unstructured" + }, + "type": "array" + }, + "checks": { + "items": { + "$ref": "#/$defs/KubernetesResourceChecks" + }, + "type": "array" + }, + "checkRetries": { + "$ref": "#/$defs/KubernetesResourceCheckRetries" + }, + "clearResources": { + "type": "boolean" + }, + "kubeconfig": { + "$ref": "#/$defs/EnvVar" + }, + "waitFor": { + "$ref": "#/$defs/KubernetesResourceCheckWaitFor" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "resources" + ] + }, + "KubernetesResourceCheckRetries": { + "properties": { + "delay": { + "type": "string" + }, + "timeout": { + "type": "string" + }, + "interval": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KubernetesResourceCheckWaitFor": { + "properties": { + "expr": { + "type": "string" + }, + "disable": { + "type": "boolean" + }, + "delete": { + "type": "boolean" + }, + "timeout": { + "type": "string" + }, + "interval": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KubernetesResourceChecks": { + "properties": { + "replicas": { + "type": "integer" + }, + "env": { + "additionalProperties": { + "$ref": "#/$defs/VarSource" + }, + "type": "object" + }, + "http": { + "items": { + "$ref": "#/$defs/HTTPCheck" + }, + "type": "array" + }, + "dns": { + "items": { + "$ref": "#/$defs/DNSCheck" + }, + "type": "array" + }, + "docker": { + "items": { + "$ref": "#/$defs/DockerPullCheck" + }, + "type": "array" + }, + "dockerPush": { + "items": { + "$ref": "#/$defs/DockerPushCheck" + }, + "type": "array" + }, + "containerd": { + "items": { + "$ref": "#/$defs/ContainerdPullCheck" + }, + "type": "array" + }, + "containerdPush": { + "items": { + "$ref": "#/$defs/ContainerdPushCheck" + }, + "type": "array" + }, + "s3": { + "items": { + "$ref": "#/$defs/S3Check" + }, + "type": "array" + }, + "tcp": { + "items": { + "$ref": "#/$defs/TCPCheck" + }, + "type": "array" + }, + "pod": { + "items": { + "$ref": "#/$defs/PodCheck" + }, + "type": "array" + }, + "ldap": { + "items": { + "$ref": "#/$defs/LDAPCheck" + }, + "type": "array" + }, + "icmp": { + "items": { + "$ref": "#/$defs/ICMPCheck" + }, + "type": "array" + }, + "postgres": { + "items": { + "$ref": "#/$defs/PostgresCheck" + }, + "type": "array" + }, + "mssql": { + "items": { + "$ref": "#/$defs/MssqlCheck" + }, + "type": "array" + }, + "mysql": { + "items": { + "$ref": "#/$defs/MysqlCheck" + }, + "type": "array" + }, + "restic": { + "items": { + "$ref": "#/$defs/ResticCheck" + }, + "type": "array" + }, + "jmeter": { + "items": { + "$ref": "#/$defs/JmeterCheck" + }, + "type": "array" + }, + "junit": { + "items": { + "$ref": "#/$defs/JunitCheck" + }, + "type": "array" + }, + "helm": { + "items": { + "$ref": "#/$defs/HelmCheck" + }, + "type": "array" + }, + "namespace": { + "items": { + "$ref": "#/$defs/NamespaceCheck" + }, + "type": "array" + }, + "redis": { + "items": { + "$ref": "#/$defs/RedisCheck" + }, + "type": "array" + }, + "prometheus": { + "items": { + "$ref": "#/$defs/PrometheusCheck" + }, + "type": "array" + }, + "mongodb": { + "items": { + "$ref": "#/$defs/MongoDBCheck" + }, + "type": "array" + }, + "cloudwatch": { + "items": { + "$ref": "#/$defs/CloudWatchCheck" + }, + "type": "array" + }, + "github": { + "items": { + "$ref": "#/$defs/GitHubCheck" + }, + "type": "array" + }, + "gitProtocol": { + "items": { + "$ref": "#/$defs/GitProtocolCheck" + }, + "type": "array" + }, + "kubernetes": { + "items": { + "$ref": "#/$defs/KubernetesCheck" + }, + "type": "array" + }, + "kubernetesResource": { + "items": { + "$ref": "#/$defs/KubernetesResourceCheck" + }, + "type": "array" + }, + "folder": { + "items": { + "$ref": "#/$defs/FolderCheck" + }, + "type": "array" + }, + "exec": { + "items": { + "$ref": "#/$defs/ExecCheck" + }, + "type": "array" + }, + "awsConfig": { + "items": { + "$ref": "#/$defs/AwsConfigCheck" + }, + "type": "array" + }, + "awsConfigRule": { + "items": { + "$ref": "#/$defs/AwsConfigRuleCheck" + }, + "type": "array" + }, + "databaseBackup": { + "items": { + "$ref": "#/$defs/DatabaseBackupCheck" + }, + "type": "array" + }, + "catalog": { + "items": { + "$ref": "#/$defs/CatalogCheck" + }, + "type": "array" + }, + "opensearch": { + "items": { + "$ref": "#/$defs/OpenSearchCheck" + }, + "type": "array" + }, + "elasticsearch": { + "items": { + "$ref": "#/$defs/ElasticsearchCheck" + }, + "type": "array" + }, + "alertmanager": { + "items": { + "$ref": "#/$defs/AlertManagerCheck" + }, + "type": "array" + }, + "dynatrace": { + "items": { + "$ref": "#/$defs/DynatraceCheck" + }, + "type": "array" + }, + "azureDevops": { + "items": { + "$ref": "#/$defs/AzureDevopsCheck" + }, + "type": "array" + }, + "webhook": { + "$ref": "#/$defs/WebhookCheck" + }, + "interval": { + "type": "integer" + }, + "schedule": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "resultMode": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "LDAPCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "bindDN": { + "type": "string" + }, + "userSearch": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "bindDN" + ] + }, + "Labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "Link": { + "properties": { + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "text": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "LogSelector": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "LogSelectors": { + "items": { + "$ref": "#/$defs/LogSelector" + }, + "type": "array" + }, + "Lookup": { + "properties": { + "expr": { + "type": "string" + }, + "value": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ManagedFieldsEntry": { + "properties": { + "manager": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "time": { + "$ref": "#/$defs/Time" + }, + "fieldsType": { + "type": "string" + }, + "fieldsV1": { + "$ref": "#/$defs/FieldsV1" + }, + "subresource": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "MetricLabel": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "valueExpr": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "MetricLabels": { + "items": { + "$ref": "#/$defs/MetricLabel" + }, + "type": "array" + }, + "Metrics": { + "properties": { + "name": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/MetricLabels" + }, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "MongoDBCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "MssqlCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "query": { + "type": "string" + }, + "results": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "MysqlCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "query": { + "type": "string" + }, + "results": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "NamespaceCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "namespaceNamePrefix": { + "type": "string" + }, + "namespaceLabels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "namespaceAnnotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "podSpec": { + "type": "string" + }, + "schedule_timeout": { + "type": "integer" + }, + "readyTimeout": { + "type": "integer" + }, + "httpTimeout": { + "type": "integer" + }, + "deleteTimeout": { + "type": "integer" + }, + "ingressTimeout": { + "type": "integer" + }, + "httpRetryInterval": { + "type": "integer" + }, + "deadline": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "ingressName": { + "type": "string" + }, + "ingressHost": { + "type": "string" + }, + "expectedContent": { + "type": "string" + }, + "expectedHttpStatuses": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "priorityClass": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "podSpec" + ] + }, + "OAuth": { + "properties": { + "clientID": { + "$ref": "#/$defs/EnvVar" + }, + "clientSecret": { + "$ref": "#/$defs/EnvVar" + }, + "scope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenURL": { + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Oauth2Config": { + "properties": { + "scope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenURL": { + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ObjectFieldSelector": { + "properties": { + "apiVersion": { + "type": "string" + }, + "fieldPath": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "fieldPath" + ] + }, + "ObjectMeta": { + "properties": { + "name": { + "type": "string" + }, + "generateName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "resourceVersion": { + "type": "string" + }, + "generation": { + "type": "integer" + }, + "creationTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionTimestamp": { + "$ref": "#/$defs/Time" + }, + "deletionGracePeriodSeconds": { + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "ownerReferences": { + "items": { + "$ref": "#/$defs/OwnerReference" + }, + "type": "array" + }, + "finalizers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "managedFields": { + "items": { + "$ref": "#/$defs/ManagedFieldsEntry" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "OpenSearchCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "query": { + "type": "string" + }, + "index": { + "type": "string" + }, + "results": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "query", + "index" + ] + }, + "OwnerReference": { + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "controller": { + "type": "boolean" + }, + "blockOwnerDeletion": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ] + }, + "ParentLookup": { + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string" + }, + "externalID": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PodCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "spec": { + "type": "string" + }, + "scheduleTimeout": { + "type": "integer" + }, + "readyTimeout": { + "type": "integer" + }, + "httpTimeout": { + "type": "integer" + }, + "deleteTimeout": { + "type": "integer" + }, + "ingressTimeout": { + "type": "integer" + }, + "httpRetryInterval": { + "type": "integer" + }, + "deadline": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "ingressName": { + "type": "string" + }, + "ingressHost": { + "type": "string" + }, + "ingressClass": { + "type": "string" + }, + "expectedContent": { + "type": "string" + }, + "expectedHttpStatuses": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "priorityClass": { + "type": "string" + }, + "roundRobinNodes": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "PostgresCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "query": { + "type": "string" + }, + "results": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "PrometheusCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "host": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "ntlm": { + "type": "boolean" + }, + "ntlmv2": { + "type": "boolean" + }, + "digest": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "bearer": { + "$ref": "#/$defs/EnvVar" + }, + "oauth": { + "$ref": "#/$defs/OAuth" + }, + "tls": { + "$ref": "#/$defs/TLSConfig" + }, + "query": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "query" + ] + }, + "Properties": { + "items": { + "$ref": "#/$defs/Property" + }, + "type": "array" + }, + "Property": { + "properties": { + "label": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "text": { + "type": "string" + }, + "order": { + "type": "integer" + }, + "headline": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "color": { + "type": "string" + }, + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + }, + "max": { + "type": "integer" + }, + "min": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "lastTransition": { + "type": "string" + }, + "links": { + "items": { + "$ref": "#/$defs/Link" + }, + "type": "array" + }, + "lookup": { + "$ref": "#/$defs/CanarySpec" + }, + "configLookup": { + "$ref": "#/$defs/ConfigLookup" + }, + "summary": { + "$ref": "#/$defs/Template" + } + }, + "additionalProperties": false, + "type": "object" + }, + "RedisCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "addr": { + "type": "string" + }, + "db": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "RelationshipSelectorTemplate": { + "properties": { + "id": { + "$ref": "#/$defs/Lookup" + }, + "external_id": { + "$ref": "#/$defs/Lookup" + }, + "name": { + "$ref": "#/$defs/Lookup" + }, + "namespace": { + "$ref": "#/$defs/Lookup" + }, + "type": { + "$ref": "#/$defs/Lookup" + }, + "agent": { + "$ref": "#/$defs/Lookup" + }, + "scope": { + "$ref": "#/$defs/Lookup" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "RelationshipSpec": { + "properties": { + "type": { + "type": "string" + }, + "ref": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ResourceSelector": { + "properties": { + "name": { + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "fieldSelector": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ResourceSelectors": { + "items": { + "$ref": "#/$defs/ResourceSelector" + }, + "type": "array" + }, + "ResticCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "awsConnectionName": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "maxAge": { + "type": "string" + }, + "checkIntegrity": { + "type": "boolean" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "caCert": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name", + "repository", + "password", + "maxAge" + ] + }, + "S3Check": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "bucket": { + "type": "string" + }, + "objectPath": { + "type": "string" + }, + "usePathStyle": { + "type": "boolean" + }, + "bucketName": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "S3Connection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "assumeRole": { + "type": "string" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + }, + "bucket": { + "type": "string" + }, + "objectPath": { + "type": "string" + }, + "usePathStyle": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SFTPConnection": { + "properties": { + "connection": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "host": { + "type": "string" + }, + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SMBConnection": { + "properties": { + "username": { + "$ref": "#/$defs/EnvVar" + }, + "password": { + "$ref": "#/$defs/EnvVar" + }, + "connection": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "domain": { + "type": "string" + }, + "share": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SecretKeySelector": { + "properties": { + "name": { + "type": "string" + }, + "key": { + "type": "string" + }, + "optional": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "key" + ] + }, + "Summary": { + "properties": { + "healthy": { + "type": "integer" + }, + "unhealthy": { + "type": "integer" + }, + "warning": { + "type": "integer" + }, + "info": { + "type": "integer" + }, + "incidents": { + "additionalProperties": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "type": "object" + }, + "insights": { + "additionalProperties": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "type": "object" + }, + "checks": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TCPCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "endpoint": { + "type": "string" + }, + "thresholdMillis": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + }, + "TLSConfig": { + "properties": { + "insecureSkipVerify": { + "type": "boolean" + }, + "handshakeTimeout": { + "type": "integer" + }, + "ca": { + "$ref": "#/$defs/EnvVar" + }, + "cert": { + "$ref": "#/$defs/EnvVar" + }, + "key": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Template": { + "properties": { + "template": { + "type": "string" + }, + "jsonPath": { + "type": "string" + }, + "expr": { + "type": "string" + }, + "javascript": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Time": { + "properties": {}, + "additionalProperties": false, + "type": "object" + }, + "Topology": { + "properties": { + "kind": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "metadata": { + "$ref": "#/$defs/ObjectMeta" + }, + "spec": { + "$ref": "#/$defs/TopologySpec" + }, + "status": { + "$ref": "#/$defs/TopologyStatus" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TopologySpec": { + "properties": { + "type": { + "type": "string" + }, + "id": { + "$ref": "#/$defs/Template" + }, + "schedule": { + "type": "string" + }, + "tooltip": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "text": { + "type": "string" + }, + "label": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "components": { + "items": { + "$ref": "#/$defs/ComponentSpec" + }, + "type": "array" + }, + "healthExpr": { + "type": "string" + }, + "statusExpr": { + "type": "string" + }, + "properties": { + "$ref": "#/$defs/Properties" + }, + "configs": { + "items": { + "$ref": "#/$defs/ConfigQuery" + }, + "type": "array" + }, + "groupBy": { + "$ref": "#/$defs/TopologyTagSelector" + }, + "push": { + "$ref": "#/$defs/HTTPConnection" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TopologyStatus": { + "properties": { + "persistentID": { + "type": "string" + }, + "observedGeneration": { + "type": "integer" + }, + "status": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "TopologyTagSelector": { + "properties": { + "tag": { + "type": "string" + }, + "selector": { + "$ref": "#/$defs/ResourceSelector" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "tag" + ] + }, + "Unstructured": { + "properties": { + "Object": { + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "Object" + ] + }, + "VarSource": { + "properties": { + "fieldRef": { + "$ref": "#/$defs/ObjectFieldSelector" + }, + "value": { + "type": "string" + }, + "configMapKeyRef": { + "$ref": "#/$defs/ConfigMapKeySelector" + }, + "secretKeyRef": { + "$ref": "#/$defs/SecretKeySelector" + } + }, + "additionalProperties": false, + "type": "object" + }, + "WebhookCheck": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "labels": { + "$ref": "#/$defs/Labels" + }, + "transformDeleteStrategy": { + "type": "string" + }, + "metrics": { + "items": { + "$ref": "#/$defs/Metrics" + }, + "type": "array" + }, + "test": { + "$ref": "#/$defs/Template" + }, + "display": { + "$ref": "#/$defs/Template" + }, + "transform": { + "$ref": "#/$defs/Template" + }, + "relationships": { + "$ref": "#/$defs/CheckRelationship" + }, + "token": { + "$ref": "#/$defs/EnvVar" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ] + } + } +}