From daeb7a66d742416f77e27e018f3c250cf0941653 Mon Sep 17 00:00:00 2001 From: Yash Mehrotra Date: Mon, 26 Jan 2026 16:11:02 +0530 Subject: [PATCH 1/4] chore: update canary-checker source references --- .../skills/update-source-references/SKILL.md | 22 +++++ .../docs/reference/1-alert-manager.mdx | 2 +- .../docs/reference/1-aws-cloudwatch.mdx | 2 +- .../docs/reference/1-aws-config-rule.mdx | 2 +- .../docs/reference/1-aws-config.mdx | 4 +- .../docs/reference/1-azure-devops.mdx | 7 +- canary-checker/docs/reference/1-catalog.mdx | 2 +- canary-checker/docs/reference/1-dns.mdx | 5 +- .../docs/reference/1-elasticsearch.mdx | 2 +- canary-checker/docs/reference/1-exec.mdx | 4 +- canary-checker/docs/reference/1-folder.mdx | 18 +++- canary-checker/docs/reference/1-git.mdx | 5 +- canary-checker/docs/reference/1-http.mdx | 6 +- canary-checker/docs/reference/1-icmp.mdx | 2 +- canary-checker/docs/reference/1-junit.mdx | 2 +- .../docs/reference/1-kubernetes-resource.mdx | 4 +- .../docs/reference/1-kubernetes.mdx | 2 +- canary-checker/docs/reference/1-ldap.mdx | 6 +- canary-checker/docs/reference/1-mongo.mdx | 2 +- canary-checker/docs/reference/1-pod.mdx | 8 +- .../docs/reference/1-prometheus.mdx | 2 +- canary-checker/docs/reference/1-pubsub.mdx | 2 +- canary-checker/docs/reference/1-redis.mdx | 2 +- .../docs/reference/1-s3-protocol.mdx | 2 +- canary-checker/docs/reference/1-sql.mdx | 6 +- canary-checker/docs/reference/1-tcp.mdx | 2 +- canary-checker/docs/reference/1-webhook.mdx | 10 ++- .../docs/reference/3-containerd.mdx | 18 ++-- .../docs/reference/3-gcs-database-backup.mdx | 11 ++- canary-checker/docs/reference/3-helm.mdx | 2 +- canary-checker/docs/reference/3-restic.mdx | 20 +++-- .../docs/reference/_canary-spec.mdx | 87 +++++++++++-------- canary-checker/docs/reference/jmeter.mdx | 4 +- modules/canary-checker | 2 +- modules/config-db | 2 +- modules/duty | 2 +- modules/mission-control | 2 +- modules/mission-control-chart | 2 +- modules/mission-control-registry | 2 +- 39 files changed, 174 insertions(+), 113 deletions(-) create mode 100644 .claude/skills/update-source-references/SKILL.md diff --git a/.claude/skills/update-source-references/SKILL.md b/.claude/skills/update-source-references/SKILL.md new file mode 100644 index 00000000..cfaf2aab --- /dev/null +++ b/.claude/skills/update-source-references/SKILL.md @@ -0,0 +1,22 @@ + For all mdx/md files in @docs/canary-checker/ and @docs/mission-control/ that have `` comments pointing to Go source files: + + 1. Update the Source comments to use `#StructName` format without line numbers (e.g., `checks.go#HTTPCheck` not `checks.go:117#HTTPCheck`) + + 2. For each documented struct, compare ALL public fields from the Go source against the documentation and: + - Add any missing fields + - Fix incorrect field names (check json/yaml tags - use the json/yaml tag name, not the Go field name) + - If json/yaml tag differ from each other, warn user + - Fix incorrect schemes/types (e.g., `Duration` vs `int`, `bool` vs `string`) + - Fix incorrect nested structures (check if fields are inline or nested under a parent key) + - Remove fields that don't exist in the Go struct + - For inline embedded structs, verify which fields they provide + + 3. For _canary-spec.mdx, ensure all check types from CanarySpec are listed with correct field names matching the json/yaml tags + + Pay attention to: + - yaml tags like `yaml:"env"` mean the field name in docs should be `env`, not the Go field name + - Inline embedded structs (e.g., `Connection`, `Description`, `Templatable`) - their fields appear at the same level + - Pointer vs value types for nested structs + - Deprecated fields should be marked as such + - ignore private fields + diff --git a/canary-checker/docs/reference/1-alert-manager.mdx b/canary-checker/docs/reference/1-alert-manager.mdx index c0afd8d0..ac6d5a99 100644 --- a/canary-checker/docs/reference/1-alert-manager.mdx +++ b/canary-checker/docs/reference/1-alert-manager.mdx @@ -13,7 +13,7 @@ sidebar_custom_props: # Alertmanager - + Checks [Prometheus AlertManager](https://prometheus.io/docs/alerting/latest/alertmanager/) for any firing alerts. diff --git a/canary-checker/docs/reference/1-aws-cloudwatch.mdx b/canary-checker/docs/reference/1-aws-cloudwatch.mdx index 7762264a..37ed1e2f 100644 --- a/canary-checker/docs/reference/1-aws-cloudwatch.mdx +++ b/canary-checker/docs/reference/1-aws-cloudwatch.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # CloudWatch - + The CloudWatch check monitors the status of CloudWatch alarms in AWS. It can filter alarms by various criteria and supports transforming alarm data for custom health checks. diff --git a/canary-checker/docs/reference/1-aws-config-rule.mdx b/canary-checker/docs/reference/1-aws-config-rule.mdx index ea3e777e..b0c35f53 100644 --- a/canary-checker/docs/reference/1-aws-config-rule.mdx +++ b/canary-checker/docs/reference/1-aws-config-rule.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # AWS Config Rule - + Check if any AWS resources are failing AWS config rule checks. diff --git a/canary-checker/docs/reference/1-aws-config.mdx b/canary-checker/docs/reference/1-aws-config.mdx index 09624f11..d9bfb82b 100644 --- a/canary-checker/docs/reference/1-aws-config.mdx +++ b/canary-checker/docs/reference/1-aws-config.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # AWS Config - + AWS Config checks @@ -16,7 +16,7 @@ AWS Config checks - Azure Devops - + Azure Devops checks for healthy pipeline runs. @@ -15,6 +15,11 @@ Azure Devops checks for healthy pipeline runs. ``` Config DB - + Runs a [config-db](https://github.com/flanksource/config-db) query. diff --git a/canary-checker/docs/reference/1-dns.mdx b/canary-checker/docs/reference/1-dns.mdx index a5752302..5c59dc08 100644 --- a/canary-checker/docs/reference/1-dns.mdx +++ b/canary-checker/docs/reference/1-dns.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # DNS - + Performs queries to a DNS server, typical use cases include: @@ -28,7 +28,8 @@ Performs queries to a DNS server, typical use cases include: { field: "port", description: "Port to query DNS server on", - default: "53" + default: "53", + scheme: "int" }, { field: "query", diff --git a/canary-checker/docs/reference/1-elasticsearch.mdx b/canary-checker/docs/reference/1-elasticsearch.mdx index ea85cbe7..08be22d4 100644 --- a/canary-checker/docs/reference/1-elasticsearch.mdx +++ b/canary-checker/docs/reference/1-elasticsearch.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # ElasticSearch - + This check connects to a specified ElasticSearch database, run a query against it and verify the results. diff --git a/canary-checker/docs/reference/1-exec.mdx b/canary-checker/docs/reference/1-exec.mdx index fb4dae19..e4ab1a4a 100644 --- a/canary-checker/docs/reference/1-exec.mdx +++ b/canary-checker/docs/reference/1-exec.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # Exec - + Executes a bash (Linux) or powershell (Windows) script. The check is considered passing if the script exits with `0` @@ -33,7 +33,7 @@ See Image Variants for a list of in { field: "checkout", description: "Specify git repository to mount to the exec process", - scheme: "[`[]GitCheckout`](#git-checkout)", + scheme: "[`GitConnection`](#git-checkout)", }, { field: "env", diff --git a/canary-checker/docs/reference/1-folder.mdx b/canary-checker/docs/reference/1-folder.mdx index f204b92e..2e906033 100644 --- a/canary-checker/docs/reference/1-folder.mdx +++ b/canary-checker/docs/reference/1-folder.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # Folder - + Checks the contents of a folder for size, age, and count. Folder based checks are useful in a number of scenarios: @@ -26,6 +26,11 @@ Checks the contents of a folder for size, age, and count. Folder based checks ar description: "A local folder path or a remote folder `smb://`, `sftp://`, `s3://` or `gcs://`", required: true }, + { + field: 'recursive', + description: "When set to true, recursively scans the folder to list all files (symlinks are listed but not traversed)", + scheme: "bool" + }, { field: 'sftpConnection',description: "Connection details", scheme: "[SFTP](#sftp)" }, { field: "gcpConnection", description: "Connection details for GCP", scheme: "[GCP](#gcp)" }, {field: "awsConnection", description: "AWS Access credentials", scheme: "[S3](#s3)" }, @@ -55,14 +60,19 @@ Checks the contents of a folder for size, age, and count. Folder based checks ar description: "Filter files based on regular expression", scheme: "regex" }, - + { + field: "filter.since", + description: "Filter files created since this time", + scheme: "string" + }, {field: "minCount", description: "The minimum number of files inside the `path`", scheme: "int"}, {field: "maxCount", description: "The maximum number of files inside the `path`, can be used in conjunction with `filter.regex` to detect error files", scheme: "int"}, {field: "minAge", description: "The youngest age a file can be", scheme: "Duration"}, {field: "maxAge", description: "The oldest age a file can be, often used to check for unprocessed files or files that have not been cleaned up", scheme: "Duration"}, {field: "minSize", description: "The minimum file size, can be used to detect backups that did not upload successfully", scheme: "Size"}, - {field: "maxSize", description: "The maximum file size", scheme: "Size"} - + {field: "maxSize", description: "The maximum file size", scheme: "Size"}, + {field: "availableSize", description: "Minimum available size on the filesystem", scheme: "Size"}, + {field: "totalSize", description: "Minimum total size of the filesystem", scheme: "Size"} ]}/> diff --git a/canary-checker/docs/reference/1-git.mdx b/canary-checker/docs/reference/1-git.mdx index e7f06e03..af69053d 100644 --- a/canary-checker/docs/reference/1-git.mdx +++ b/canary-checker/docs/reference/1-git.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Git - + @@ -17,6 +17,7 @@ Execute as SQL style query against a github repo using [mergestat-lite](https:// ``` diff --git a/canary-checker/docs/reference/1-http.mdx b/canary-checker/docs/reference/1-http.mdx index cbff25a9..44344fb9 100644 --- a/canary-checker/docs/reference/1-http.mdx +++ b/canary-checker/docs/reference/1-http.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # HTTP - + This check performs queries on HTTP to monitor their activity. @@ -30,7 +30,7 @@ This check performs queries on HTTP to monitor their activity. {field: "responseJSONContent", description: "Deprecated: Use expr and jsonpath function", scheme: "JSONCheck", deprecated: true}, {field: "thresholdMillis", description: "Maximum duration in milliseconds for the HTTP request. It will fail the check if it takes longer", default: 5000, scheme: "int"}, {field: "maxSSLExpiry", description: <>Maximum number of days until the SSL Certificate expires
Equivalent to test.expr: sslAge < Age("7d"), scheme: "int"}, - {field: "envVars", description: "Setup environment variables that are accessible while templating", scheme: "[]EnvVar"}, + {field: "env", description: "Environment variables that are accessible while templating", scheme: "[]EnvVar"}, {field: "ntlm", description: "When set to true will authenticate using NTLM v1 protocol", scheme: "bool"}, {field: "ntlmv2", description: "When set to true will authenticate using NTLM v2 protocol", scheme: "bool"}, {field: "crawl", description: "Crawl configuration for following links", scheme: "[Crawl](#crawl-configuration)"}, @@ -43,7 +43,7 @@ This check performs queries on HTTP to monitor their activity. {field: "ca", description: "PEM encoded certificate of the CA to verify the server certificate", scheme: "EnvVar"}, {field: "cert", description: "PEM encoded client certificate", scheme: "EnvVar"}, {field: "key", description: "PEM encoded client private key", scheme: "EnvVar"}, - {field: "handshakeTimeout", description: "Timeout for SSL handshake (defaults to 10 seconds)", scheme: "int"}, + {field: "handshakeTimeout", description: "Timeout for SSL handshake (defaults to 10 seconds)", scheme: "Duration"}, {field: "insecureSkipVerify", description: "Controls whether a client verifies the server's certificate chain and host name", scheme: "bool"} ]}/> diff --git a/canary-checker/docs/reference/1-icmp.mdx b/canary-checker/docs/reference/1-icmp.mdx index 6c7f4be1..51fd5bc8 100644 --- a/canary-checker/docs/reference/1-icmp.mdx +++ b/canary-checker/docs/reference/1-icmp.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # ICMP - + Performs ICMP (ping) requests for information on ICMP packet loss, duration, and response. diff --git a/canary-checker/docs/reference/1-junit.mdx b/canary-checker/docs/reference/1-junit.mdx index 944ab36a..74032dcf 100644 --- a/canary-checker/docs/reference/1-junit.mdx +++ b/canary-checker/docs/reference/1-junit.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # JUnit - + JUnit check performs a Unit test, parses the JUnit test reports in a container at a specified path as defined in `testResults`. diff --git a/canary-checker/docs/reference/1-kubernetes-resource.mdx b/canary-checker/docs/reference/1-kubernetes-resource.mdx index cba0c2f2..9dc46901 100644 --- a/canary-checker/docs/reference/1-kubernetes-resource.mdx +++ b/canary-checker/docs/reference/1-kubernetes-resource.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Kubernetes Resource - + The Kubernetes resource check creates kubernetes resources based on the provided manifests & perform checks on them. Some common use case of this check would be to see if a service is accessible via the ingress as shown in the example below. @@ -97,7 +97,7 @@ check would be to see if a service is accessible via the ingress as shown in the field: 'disable', description: 'Disable the default behavior of waiting for resources to be healthy.', - scheme: 'Duration' + scheme: 'bool' }, { field: 'delete', diff --git a/canary-checker/docs/reference/1-kubernetes.mdx b/canary-checker/docs/reference/1-kubernetes.mdx index 0436e375..acf469d6 100644 --- a/canary-checker/docs/reference/1-kubernetes.mdx +++ b/canary-checker/docs/reference/1-kubernetes.mdx @@ -9,7 +9,7 @@ import ResourceSelector from '@site/docs/snippets/\_resource-selector.mdx'; # Kubernetes - + The Kubernetes check performs requests on Kubernetes resources such as Pods to get the desired information. diff --git a/canary-checker/docs/reference/1-ldap.mdx b/canary-checker/docs/reference/1-ldap.mdx index 142d0a5d..61934868 100644 --- a/canary-checker/docs/reference/1-ldap.mdx +++ b/canary-checker/docs/reference/1-ldap.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # LDAP - + The LDAP check: @@ -18,7 +18,7 @@ The LDAP check: ``` diff --git a/canary-checker/docs/reference/1-mongo.mdx b/canary-checker/docs/reference/1-mongo.mdx index 72552cb8..b1ad0f2d 100644 --- a/canary-checker/docs/reference/1-mongo.mdx +++ b/canary-checker/docs/reference/1-mongo.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # MongoDB - + The Mongo check tries to connect to a specified Mongo Database to ensure connectivity. diff --git a/canary-checker/docs/reference/1-pod.mdx b/canary-checker/docs/reference/1-pod.mdx index 1d1c8552..a6ec22c0 100644 --- a/canary-checker/docs/reference/1-pod.mdx +++ b/canary-checker/docs/reference/1-pod.mdx @@ -9,7 +9,7 @@ tags: # Pod - + The Pod check creates a new pod and verifies that it can be reached via an Ingress @@ -31,8 +31,10 @@ The Pod check creates a new pod and verifies that it can be reached via an Ingre {field: "deadline", description: "Overall deadline for pod check", scheme: 'Duration'}, {field: "httpRetryInterval", description: "Interval between HTTP retries", scheme: 'Duration'}, {field:"ingressName", description: "Name to use for the ingress object that exposes the created pod", scheme: 'string'}, -{field: "ingressHost", description: " URL used by the ingress to expose the created pod ", scheme: 'string'}, -{field: "priorityClass", description: " Priority class to assign to the created pod", scheme: 'string'} +{field: "ingressHost", description: "URL used by the ingress to expose the created pod", scheme: 'string'}, +{field: "ingressClass", description: "Ingress class to use for the ingress object", scheme: 'string'}, +{field: "priorityClass", description: "Priority class to assign to the created pod", scheme: 'string'}, +{field: "roundRobinNodes", description: "When true, creates pods on different nodes in a round-robin fashion", scheme: 'bool'} ]}/> diff --git a/canary-checker/docs/reference/1-prometheus.mdx b/canary-checker/docs/reference/1-prometheus.mdx index bf4f5c5b..c060e589 100644 --- a/canary-checker/docs/reference/1-prometheus.mdx +++ b/canary-checker/docs/reference/1-prometheus.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Prometheus - + The Prometheus Check connects to the Prometheus host, performs the desired query, and displays the results. diff --git a/canary-checker/docs/reference/1-pubsub.mdx b/canary-checker/docs/reference/1-pubsub.mdx index ed2f3707..5bc6e376 100644 --- a/canary-checker/docs/reference/1-pubsub.mdx +++ b/canary-checker/docs/reference/1-pubsub.mdx @@ -4,7 +4,7 @@ sidebar_custom_props: icon: aws-sqs --- - + This check connects to a PubSub Queue (SQS, GCP PubSub, RabbitMQ, Kafka, NATs) and pulls messages. diff --git a/canary-checker/docs/reference/1-redis.mdx b/canary-checker/docs/reference/1-redis.mdx index a4632d06..f17580ea 100644 --- a/canary-checker/docs/reference/1-redis.mdx +++ b/canary-checker/docs/reference/1-redis.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # Redis - + The Redis check connects to a specified Redis database instance to check its availability. diff --git a/canary-checker/docs/reference/1-s3-protocol.mdx b/canary-checker/docs/reference/1-s3-protocol.mdx index 02e01cac..974ca563 100644 --- a/canary-checker/docs/reference/1-s3-protocol.mdx +++ b/canary-checker/docs/reference/1-s3-protocol.mdx @@ -9,7 +9,7 @@ tags: # S3 Protocol - + Checks if S3 compatible endpoints (like Minio, EMC ECS) are functioning correctly, diff --git a/canary-checker/docs/reference/1-sql.mdx b/canary-checker/docs/reference/1-sql.mdx index 9d0173b5..1bcb84fe 100644 --- a/canary-checker/docs/reference/1-sql.mdx +++ b/canary-checker/docs/reference/1-sql.mdx @@ -8,7 +8,7 @@ import { AzureSqlServer } from "@flanksource/icons/mi" # SQL - + This check connects to a specified Postgres database, run a query against it and verify the results. @@ -17,8 +17,8 @@ This check connects to a specified Postgres database, run a query against it and ## Result Variables diff --git a/canary-checker/docs/reference/1-tcp.mdx b/canary-checker/docs/reference/1-tcp.mdx index 12abfef4..77e5ccab 100644 --- a/canary-checker/docs/reference/1-tcp.mdx +++ b/canary-checker/docs/reference/1-tcp.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: # TCP - + Checks if a network port is reachable. diff --git a/canary-checker/docs/reference/1-webhook.mdx b/canary-checker/docs/reference/1-webhook.mdx index 9125d3af..9344ce44 100644 --- a/canary-checker/docs/reference/1-webhook.mdx +++ b/canary-checker/docs/reference/1-webhook.mdx @@ -8,13 +8,21 @@ import TransformFields from '../concepts/expressions/_transform_fields.mdx' # Webhook - + Webhooks allow you to create and update checks by sending HTTP POST requests to an endpoint. ```yaml title="github-webhook.yaml" file=/modules/canary-checker/fixtures/external/github-webhook.yaml ``` + + This example: 1. Defines a webhook named `Github` accessible via `http:///webhook/Github` 2. Transforms the incoming JSON into [check](#output) diff --git a/canary-checker/docs/reference/3-containerd.mdx b/canary-checker/docs/reference/3-containerd.mdx index 2090d04d..2faf2f8e 100644 --- a/canary-checker/docs/reference/3-containerd.mdx +++ b/canary-checker/docs/reference/3-containerd.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # ContainerD / Docker - + This check pulls a Docker image from specified registry using containerd and then verify its checksum and size. @@ -22,7 +22,7 @@ The containerd and docker health checks require access to a working socket that diff --git a/canary-checker/docs/reference/3-gcs-database-backup.mdx b/canary-checker/docs/reference/3-gcs-database-backup.mdx index 82e7f930..9a72267f 100644 --- a/canary-checker/docs/reference/3-gcs-database-backup.mdx +++ b/canary-checker/docs/reference/3-gcs-database-backup.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Google Cloud SQL Backups - + Checks if a Google Cloud SQL instance has been successfully backed up recently. @@ -15,11 +15,10 @@ Checks if a Google Cloud SQL instance has been successfully backed up recently. ``` diff --git a/canary-checker/docs/reference/3-helm.mdx b/canary-checker/docs/reference/3-helm.mdx index 509f04d1..a8f3cd18 100644 --- a/canary-checker/docs/reference/3-helm.mdx +++ b/canary-checker/docs/reference/3-helm.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Helm - + Builds and pushes your helm chart to a helm repository. diff --git a/canary-checker/docs/reference/3-restic.mdx b/canary-checker/docs/reference/3-restic.mdx index d3fe470e..85ad4fb3 100644 --- a/canary-checker/docs/reference/3-restic.mdx +++ b/canary-checker/docs/reference/3-restic.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Restic - + @@ -20,14 +20,16 @@ The Restic check: ```yaml title="restic.yaml" file=/modules/canary-checker/fixtures/restic/restic_without_integrity_pass.yaml ``` - diff --git a/canary-checker/docs/reference/_canary-spec.mdx b/canary-checker/docs/reference/_canary-spec.mdx index c4b3ac63..8f1ace6a 100644 --- a/canary-checker/docs/reference/_canary-spec.mdx +++ b/canary-checker/docs/reference/_canary-spec.mdx @@ -2,43 +2,60 @@ title: Canary Spec --- + + + +## Configuration + | Field | Description | Type | Required | | ---------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------- | -------- | -| `env` | Environment variables. | `map[string]``EnvVar` | | -| `schedule` | Schedule to run checks on.\Supports all cron expression.\Also supports golang duration. | `cron` | | +| `replicas` | Pauses the canary if set to 0. | `int` | | +| `env` | Environment variables. | `map[string]``EnvVar` | | +| `schedule` | Schedule to run checks on. Supports all cron expressions. Also supports golang duration (e.g., `@every 5m`). | `cron` | | | `icon` | Icon to use for the check. | `string` | | | `severity` | Severity of the check. | `string` | | -| `resultmode` | Result mode of the check. | `string` | | -| `alertmanager` | List of AlertManager checks to run. | [`[]AlertManagerCheck`](alert-manager) | | -| `awsConfig` | List of AWS Config checks to run. | [`[]AwsConfigCheck`](aws-config) | | -| `awsConfigRule` | List of AWS Config Rule checks to run. | [`[]AwsConfigRuleCheck`](aws-config-rule) | | -| `cloudwatch` | List of CloudWatch checks to run. | [`[]CloudWatchCheck`](cloudwatch) | | -| `configDB` | List of config DB checks to run. | [`[]ConfigDBCheck`](configdb) | | -| `containerd` | List of containerd pull checks to run. | [`[]ContainerdPullCheck`](containerd) | | -| `containerdPush` | List of containerd push checks to run. | [`[]ContainerdPushCheck`](containerd) | | -| `databaseBackup` | List of database backup checks to run. | [`[]DatabaseBackupCheck`](gcs-database-backup) | | -| `dns` | List of DNS checks to run. | [`[]DNSCheck`](dns) | | -| `ec2` | List of EC2 checks to run. | [`[]EC2Check`](ec2) | | -| `elasticsearch` | List of ElasticSearch checks to run. | [`[]ElasticsearchCheck`](elasticsearch) | | -| `exec` | List of exec checks to run. | [`[]ExecCheck`](exec) | | -| `folder` | List of folder checks to run. | [`[]FolderCheck`](folder) | | -| `git` | List of GitHub checks to run. | [`[]GitHubCheck`](git) | | -| `helm` | List of Helm checks to run. | [`[]HelmCheck`](helm) | | -| `http` | List of HTTP checks to run. | [`[]HTTPCheck`](http) | | -| `icmp` | List of ICMP checks to run. | [`[]ICMPCheck`](icmp) | | -| `jmeter` | List of JMeter load test checks to run. | [`[]JmeterCheck`](jmeter) | | -| `junit` | List of JUnit test result checks to run. | [`[]JunitCheck`](junit) | | -| `kubernetes` | List of Kubernetes checks to run. | [`[]KubernetesCheck`](kubernetes) | | -| `ldap` | List of LDAP checks to run. | [`[]LDAPCheck`](./ldap) | |s -| `mongodb` | List of MongoDB checks to run. | [`[]MongoDBCheck`](./mongo) | | -| `mssql` | List of MSSQL checks to run. | [`[]MssqlCheck`](./sql) | | -| `mysql` | List of MySQL checks to run. | [`[]MysqlCheck`](./sql) | | -| `namespace` | List of namespace checks to run. | [`[]NamespaceCheck`](./namespace) | | -| `pod` | List of pod checks to run. | [`[]PodCheck`](./pod) | | -| `postgres` | List of Postgres checks to run. | [`[]PostgresCheck`](./sql) | | -| `prometheus` | List of Prometheus checks to run. | [`[]PrometheusCheck`](./prometheus) | | -| `redis` | List of Redis checks to run. | [`[]RedisCheck`](./redis) | | -| `restic` | List of restic backup checks to run. | [`[]ResticCheck`](./restic) | | -| `s3` | List of S3 checks to run. | [`[]S3Check`](1-s3-protocol) | | -| `tcp` | List of TCP checks to run. | [`[]TCPCheck`](./tcp) | | +| `owner` | Contact person responsible for the canary. | `string` | | +| `resultMode` | Result mode of the check. | `string` | | +| `agentSelector` | Specifies agents that should run this canary. Supports prefix/suffix (e.g., `eu-west-*`) and negations (e.g., `!team-b`). | `[]string` | | + +## Checks + +| Field | Description | Type | +| ------------------ | ------------------------------------------------ | ------------------------------------------------------ | +| `alertmanager` | List of AlertManager checks to run. | [`[]AlertManagerCheck`](./alert-manager) | +| `awsConfig` | List of AWS Config checks to run. | [`[]AwsConfigCheck`](./aws-config) | +| `awsConfigRule` | List of AWS Config Rule checks to run. | [`[]AwsConfigRuleCheck`](./aws-config-rule) | +| `azureDevops` | List of Azure DevOps checks to run. | [`[]AzureDevopsCheck`](./azure-devops) | +| `catalog` | List of Catalog checks to run. | [`[]CatalogCheck`](./catalog) | +| `cloudwatch` | List of CloudWatch checks to run. | [`[]CloudWatchCheck`](./cloudwatch) | +| `containerd` | List of containerd pull checks to run. | [`[]ContainerdPullCheck`](./containerd) | +| `containerdPush` | List of containerd push checks to run. | [`[]ContainerdPushCheck`](./containerd) | +| `databaseBackup` | List of database backup checks to run. | [`[]DatabaseBackupCheck`](./gcs-database-backup) | +| `dns` | List of DNS checks to run. | [`[]DNSCheck`](./dns) | +| `elasticsearch` | List of ElasticSearch checks to run. | [`[]ElasticsearchCheck`](./elasticsearch) | +| `exec` | List of exec checks to run. | [`[]ExecCheck`](./exec) | +| `folder` | List of folder checks to run. | [`[]FolderCheck`](./folder) | +| `github` | List of GitHub checks to run. | [`[]GitHubCheck`](./git) | +| `helm` | List of Helm checks to run. | [`[]HelmCheck`](./helm) | +| `http` | List of HTTP checks to run. | [`[]HTTPCheck`](./http) | +| `icmp` | List of ICMP checks to run. | [`[]ICMPCheck`](./icmp) | +| `jmeter` | List of JMeter load test checks to run. | [`[]JmeterCheck`](./jmeter) | +| `junit` | List of JUnit test result checks to run. | [`[]JunitCheck`](./junit) | +| `kubernetes` | List of Kubernetes checks to run. | [`[]KubernetesCheck`](./kubernetes) | +| `kubernetesResource` | List of Kubernetes Resource checks to run. | [`[]KubernetesResourceCheck`](./kubernetes-resource) | +| `ldap` | List of LDAP checks to run. | [`[]LDAPCheck`](./ldap) | +| `mongodb` | List of MongoDB checks to run. | [`[]MongoDBCheck`](./mongo) | +| `mssql` | List of MSSQL checks to run. | [`[]MssqlCheck`](./sql) | +| `mysql` | List of MySQL checks to run. | [`[]MysqlCheck`](./sql) | +| `namespace` | List of namespace checks to run. | [`[]NamespaceCheck`](./namespace) | +| `opensearch` | List of OpenSearch checks to run. | [`[]OpenSearchCheck`](./elasticsearch) | +| `pod` | List of pod checks to run. | [`[]PodCheck`](./pod) | +| `postgres` | List of Postgres checks to run. | [`[]PostgresCheck`](./sql) | +| `prometheus` | List of Prometheus checks to run. | [`[]PrometheusCheck`](./prometheus) | +| `pubsub` | List of PubSub checks to run. | [`[]PubSubCheck`](./pubsub) | +| `redis` | List of Redis checks to run. | [`[]RedisCheck`](./redis) | +| `restic` | List of restic backup checks to run. | [`[]ResticCheck`](./restic) | +| `s3` | List of S3 checks to run. | [`[]S3Check`](./s3-protocol) | +| `tcp` | List of TCP checks to run. | [`[]TCPCheck`](./tcp) | +| `webhook` | Webhook check configuration. | [`WebhookCheck`](./webhook) | diff --git a/canary-checker/docs/reference/jmeter.mdx b/canary-checker/docs/reference/jmeter.mdx index e6e00bba..59e72eff 100644 --- a/canary-checker/docs/reference/jmeter.mdx +++ b/canary-checker/docs/reference/jmeter.mdx @@ -4,7 +4,7 @@ title: Jmeter # JMeter - + @@ -18,7 +18,7 @@ This check executes the JMeter CLI to execute the JMX test plan on the specified | ----- | ----------- | ------ | -------- | | **`jmx`** | Jmx defines the ConfigMap or Secret reference to get the JMX test plan | *EnvVar* | Yes | | `properties` | Properties defines the local JMeter properties | *\[\]string* | | -| `responseDuration` | duration under which the all the test should pass | *int* | | +| `responseDuration` | Duration under which all the tests should pass | *string* | | | `systemProperties` | SystemProperties defines the Java system property | *\[\]string* | | | `host` | Host is the server against which test plan needs to be executed | *string* | | | `port` | Port on which the server is running | *int32* | | diff --git a/modules/canary-checker b/modules/canary-checker index 02cb4282..989c9d6c 160000 --- a/modules/canary-checker +++ b/modules/canary-checker @@ -1 +1 @@ -Subproject commit 02cb42829a4b363c2e9f15f00b372780e5f3cd87 +Subproject commit 989c9d6cb1f395f97010de874eab8c706096a94b diff --git a/modules/config-db b/modules/config-db index 25d22749..bdc31c21 160000 --- a/modules/config-db +++ b/modules/config-db @@ -1 +1 @@ -Subproject commit 25d22749efe19ff2512c2eaa4c2468ca59be13b0 +Subproject commit bdc31c213cb2936337a9e88bdddef8e058e5f4b2 diff --git a/modules/duty b/modules/duty index c8a36182..36ae9072 160000 --- a/modules/duty +++ b/modules/duty @@ -1 +1 @@ -Subproject commit c8a3618282e2e3f95feed934e726758ef6a0d4f9 +Subproject commit 36ae907273a73e42204d5ac0057028d38c230478 diff --git a/modules/mission-control b/modules/mission-control index 48b26a38..b4cf1bfe 160000 --- a/modules/mission-control +++ b/modules/mission-control @@ -1 +1 @@ -Subproject commit 48b26a38ca5406bbf3ff1335ba56349dc7ca9ac6 +Subproject commit b4cf1bfe9c1f2197f98497977c72c933b2192365 diff --git a/modules/mission-control-chart b/modules/mission-control-chart index 95e64d81..ce11edea 160000 --- a/modules/mission-control-chart +++ b/modules/mission-control-chart @@ -1 +1 @@ -Subproject commit 95e64d81bd9522d98cd389f36400c7d0b6499b2a +Subproject commit ce11edeaf72c85033bd9ec6ce7bf3905f94b14ad diff --git a/modules/mission-control-registry b/modules/mission-control-registry index d8bad26f..bd2475fc 160000 --- a/modules/mission-control-registry +++ b/modules/mission-control-registry @@ -1 +1 @@ -Subproject commit d8bad26f1f931b17ac0db8299cd3a84fa793c217 +Subproject commit bd2475fce1114b60108590cd4776d73b5bf9a943 From 2eea28e3f07707b19a92682c45b61405314f08d7 Mon Sep 17 00:00:00 2001 From: Yash Mehrotra Date: Mon, 26 Jan 2026 16:20:04 +0530 Subject: [PATCH 2/4] chore: update mission-control source references --- .../skills/update-source-references/SKILL.md | 34 +++++++++---------- .../docs/guide/config-db/scrapers/aws.mdx | 2 +- .../guide/config-db/scrapers/azure-devops.mdx | 2 +- .../docs/guide/config-db/scrapers/azure.md | 2 +- .../guide/config-db/scrapers/clickhouse.mdx | 2 +- .../docs/guide/config-db/scrapers/file.mdx | 2 +- .../docs/guide/config-db/scrapers/gcp.mdx | 2 +- .../docs/guide/config-db/scrapers/github.md | 2 +- .../docs/guide/config-db/scrapers/http.mdx | 2 +- .../config-db/scrapers/kubernetes-file.mdx | 2 +- .../guide/config-db/scrapers/kubernetes.mdx | 2 +- .../docs/guide/config-db/scrapers/logs.mdx | 2 +- .../docs/guide/config-db/scrapers/pubsub.mdx | 2 +- .../docs/guide/config-db/scrapers/slack.mdx | 2 +- .../docs/guide/config-db/scrapers/sql.mdx | 2 +- .../guide/config-db/scrapers/terraform.mdx | 2 +- .../docs/guide/config-db/scrapers/trivy.mdx | 2 +- .../docs/guide/mcp/client-setup.mdx | 2 +- .../docs/guide/playbooks/actions/ai.mdx | 2 +- .../actions/azure_devops_pipeline.mdx | 2 +- .../docs/guide/playbooks/actions/exec.mdx | 2 +- .../docs/guide/playbooks/actions/github.mdx | 2 +- .../docs/guide/playbooks/actions/gitops.mdx | 2 +- .../docs/guide/playbooks/actions/http.mdx | 2 +- .../docs/guide/playbooks/actions/logs.mdx | 2 +- .../guide/playbooks/actions/notification.mdx | 2 +- .../docs/guide/playbooks/actions/pod.mdx | 2 +- .../docs/guide/playbooks/actions/sql.mdx | 2 +- 28 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.claude/skills/update-source-references/SKILL.md b/.claude/skills/update-source-references/SKILL.md index cfaf2aab..64571d31 100644 --- a/.claude/skills/update-source-references/SKILL.md +++ b/.claude/skills/update-source-references/SKILL.md @@ -1,22 +1,22 @@ - For all mdx/md files in @docs/canary-checker/ and @docs/mission-control/ that have `` comments pointing to Go source files: +For all mdx/md files in @docs/canary-checker/ and @docs/mission-control/ that have `` comments pointing to Go source files: - 1. Update the Source comments to use `#StructName` format without line numbers (e.g., `checks.go#HTTPCheck` not `checks.go:117#HTTPCheck`) +1. Update the Source comments to use `#StructName` format without line numbers (e.g., `checks.go#HTTPCheck` not `checks.go:117#HTTPCheck`) - 2. For each documented struct, compare ALL public fields from the Go source against the documentation and: - - Add any missing fields - - Fix incorrect field names (check json/yaml tags - use the json/yaml tag name, not the Go field name) - - If json/yaml tag differ from each other, warn user - - Fix incorrect schemes/types (e.g., `Duration` vs `int`, `bool` vs `string`) - - Fix incorrect nested structures (check if fields are inline or nested under a parent key) - - Remove fields that don't exist in the Go struct - - For inline embedded structs, verify which fields they provide +2. For each documented struct, compare ALL public fields from the Go source against the documentation and: + - Add any missing fields + - Fix incorrect field names (check json/yaml tags - use the json/yaml tag name, not the Go field name) + - If json/yaml tag differ from each other, warn user + - Fix incorrect schemes/types (e.g., `Duration` vs `int`, `bool` vs `string`) + - Fix incorrect nested structures (check if fields are inline or nested under a parent key) + - Remove fields that don't exist in the Go struct + - For inline embedded structs, verify which fields they provide - 3. For _canary-spec.mdx, ensure all check types from CanarySpec are listed with correct field names matching the json/yaml tags +3. For \_canary-spec.mdx, ensure all check types from CanarySpec are listed with correct field names matching the json/yaml tags - Pay attention to: - - yaml tags like `yaml:"env"` mean the field name in docs should be `env`, not the Go field name - - Inline embedded structs (e.g., `Connection`, `Description`, `Templatable`) - their fields appear at the same level - - Pointer vs value types for nested structs - - Deprecated fields should be marked as such - - ignore private fields +Pay attention to: +- yaml tags like `yaml:"env"` mean the field name in docs should be `env`, not the Go field name +- Inline embedded structs (e.g., `Connection`, `Description`, `Templatable`) - their fields appear at the same level +- Pointer vs value types for nested structs +- Deprecated fields should be marked as such +- ignore private fields diff --git a/mission-control/docs/guide/config-db/scrapers/aws.mdx b/mission-control/docs/guide/config-db/scrapers/aws.mdx index 281554de..ebc8c70e 100644 --- a/mission-control/docs/guide/config-db/scrapers/aws.mdx +++ b/mission-control/docs/guide/config-db/scrapers/aws.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # AWS - + This config type is used to scrape information about your AWS infrastructure. diff --git a/mission-control/docs/guide/config-db/scrapers/azure-devops.mdx b/mission-control/docs/guide/config-db/scrapers/azure-devops.mdx index 2bd77af6..67062bfc 100644 --- a/mission-control/docs/guide/config-db/scrapers/azure-devops.mdx +++ b/mission-control/docs/guide/config-db/scrapers/azure-devops.mdx @@ -9,7 +9,7 @@ import { AzureDevopsPipeline } from "@flanksource/icons/mi" # Azure Devops - + The Azure Devops scraper will create a new configuration item for each unique pipeline (combination of name and variables). diff --git a/mission-control/docs/guide/config-db/scrapers/azure.md b/mission-control/docs/guide/config-db/scrapers/azure.md index 0a86cb04..7e2e828e 100644 --- a/mission-control/docs/guide/config-db/scrapers/azure.md +++ b/mission-control/docs/guide/config-db/scrapers/azure.md @@ -7,7 +7,7 @@ sidebar_custom_props: # Azure - + The Azure scrapers scrapes your azure account to fetch all the resources & save them as configs. diff --git a/mission-control/docs/guide/config-db/scrapers/clickhouse.mdx b/mission-control/docs/guide/config-db/scrapers/clickhouse.mdx index 81e73832..1a722b9d 100644 --- a/mission-control/docs/guide/config-db/scrapers/clickhouse.mdx +++ b/mission-control/docs/guide/config-db/scrapers/clickhouse.mdx @@ -10,7 +10,7 @@ import Custom from './_custom.mdx' # Clickhouse - + The Clickhouse scraper executes SQL queries against a Clickhouse database or cloud storage systems (AWS S3, Azure Blob Storage) and creates configuration items from the query results. This allows you to treat data stored in Clickhouse or cloud storage as configuration items that can be tracked and monitored. diff --git a/mission-control/docs/guide/config-db/scrapers/file.mdx b/mission-control/docs/guide/config-db/scrapers/file.mdx index 85342e14..535efe24 100644 --- a/mission-control/docs/guide/config-db/scrapers/file.mdx +++ b/mission-control/docs/guide/config-db/scrapers/file.mdx @@ -9,7 +9,7 @@ sidebar_custom_props: import Custom from './_custom.mdx' - + The `file` scraper is used to create config items from files in a local folder (or git). This can be used to track changes in files like `/etc/hosts` or `/etc/passwd`, or for service metadata stored in git. diff --git a/mission-control/docs/guide/config-db/scrapers/gcp.mdx b/mission-control/docs/guide/config-db/scrapers/gcp.mdx index 3fde2a08..d956c425 100644 --- a/mission-control/docs/guide/config-db/scrapers/gcp.mdx +++ b/mission-control/docs/guide/config-db/scrapers/gcp.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # GCP - + The GCP scrapers scrapes your GCP account to fetch all the resources & save them as configs. diff --git a/mission-control/docs/guide/config-db/scrapers/github.md b/mission-control/docs/guide/config-db/scrapers/github.md index 6284ee1a..76356270 100644 --- a/mission-control/docs/guide/config-db/scrapers/github.md +++ b/mission-control/docs/guide/config-db/scrapers/github.md @@ -8,7 +8,7 @@ sidebar_custom_props: # Github - + The file config type is set to scrape configurations or configurations in common with the related elements that can be specified in the fields; `type`, and `id`. The paths to the configuration(s) to be scraped is set with the field `path` as a list. diff --git a/mission-control/docs/guide/config-db/scrapers/http.mdx b/mission-control/docs/guide/config-db/scrapers/http.mdx index 9f669198..4e7ddb27 100644 --- a/mission-control/docs/guide/config-db/scrapers/http.mdx +++ b/mission-control/docs/guide/config-db/scrapers/http.mdx @@ -9,7 +9,7 @@ import Custom from './_custom.mdx' # HTTP - + The HTTP scraper allows you to collect data from HTTP endpoints and APIs. It supports various authentication methods and data transformation capabilities. diff --git a/mission-control/docs/guide/config-db/scrapers/kubernetes-file.mdx b/mission-control/docs/guide/config-db/scrapers/kubernetes-file.mdx index 836f92d8..881729dd 100644 --- a/mission-control/docs/guide/config-db/scrapers/kubernetes-file.mdx +++ b/mission-control/docs/guide/config-db/scrapers/kubernetes-file.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Kubernetes File - + The KubernetesFile config type is used to scrape the contents of files inside Kubernetes Pods. diff --git a/mission-control/docs/guide/config-db/scrapers/kubernetes.mdx b/mission-control/docs/guide/config-db/scrapers/kubernetes.mdx index 3b50476f..13733a47 100644 --- a/mission-control/docs/guide/config-db/scrapers/kubernetes.mdx +++ b/mission-control/docs/guide/config-db/scrapers/kubernetes.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Kubernetes - + :::tip Helm Chart See the [Kubernetes](/docs/integrations/kubernetes/getting-started) Helm chart that provides a pre-configured Scraper and Topology with some common defaults. diff --git a/mission-control/docs/guide/config-db/scrapers/logs.mdx b/mission-control/docs/guide/config-db/scrapers/logs.mdx index 5144e391..fe9d3cb9 100644 --- a/mission-control/docs/guide/config-db/scrapers/logs.mdx +++ b/mission-control/docs/guide/config-db/scrapers/logs.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: # Logs - + The Logs scraper queries log aggregation systems to extract configuration changes from log entries. It supports multiple log backends including Loki, GCP Cloud Logging, OpenSearch, and BigQuery. This allows you to create configuration items and track changes based on log data. diff --git a/mission-control/docs/guide/config-db/scrapers/pubsub.mdx b/mission-control/docs/guide/config-db/scrapers/pubsub.mdx index 2789be33..d5e62ab2 100644 --- a/mission-control/docs/guide/config-db/scrapers/pubsub.mdx +++ b/mission-control/docs/guide/config-db/scrapers/pubsub.mdx @@ -9,7 +9,7 @@ import Custom from './_custom.mdx' # PubSub - + The PubSub scraper subscribes to message queues and pub/sub systems to consume messages and create configuration items from them. This enables real-time configuration tracking based on events and messages published to various messaging systems. diff --git a/mission-control/docs/guide/config-db/scrapers/slack.mdx b/mission-control/docs/guide/config-db/scrapers/slack.mdx index 3824d8a2..2bf160b4 100644 --- a/mission-control/docs/guide/config-db/scrapers/slack.mdx +++ b/mission-control/docs/guide/config-db/scrapers/slack.mdx @@ -9,7 +9,7 @@ import Custom from './_custom.mdx' # Slack - + The Slack scraper monitors Slack channels for messages that contain configuration change information. It uses regular expressions to extract structured data from messages and creates configuration changes based on the extracted information. diff --git a/mission-control/docs/guide/config-db/scrapers/sql.mdx b/mission-control/docs/guide/config-db/scrapers/sql.mdx index ecaf9a7c..f9f7e019 100644 --- a/mission-control/docs/guide/config-db/scrapers/sql.mdx +++ b/mission-control/docs/guide/config-db/scrapers/sql.mdx @@ -9,7 +9,7 @@ import Custom from './_custom.mdx' # SQL - + The SQL scraper executes queries against relational databases and creates configuration items from each row. It supports PostgreSQL, MySQL, and SQL Server, enabling you to: diff --git a/mission-control/docs/guide/config-db/scrapers/terraform.mdx b/mission-control/docs/guide/config-db/scrapers/terraform.mdx index cbfdcf38..06848b61 100644 --- a/mission-control/docs/guide/config-db/scrapers/terraform.mdx +++ b/mission-control/docs/guide/config-db/scrapers/terraform.mdx @@ -8,7 +8,7 @@ sidebar_custom_props: # Terraform - + The Terraform scraper reads Terraform state files and creates configuration items from the resources defined in the state. This enables you to track your infrastructure as code resources and monitor changes to your Terraform-managed infrastructure. diff --git a/mission-control/docs/guide/config-db/scrapers/trivy.mdx b/mission-control/docs/guide/config-db/scrapers/trivy.mdx index 4dfb4273..b95f7383 100644 --- a/mission-control/docs/guide/config-db/scrapers/trivy.mdx +++ b/mission-control/docs/guide/config-db/scrapers/trivy.mdx @@ -9,7 +9,7 @@ import { Trivy } from "@flanksource/icons/mi" # Trivy - + The `trivy` scraper uses [Trivy](https://trivy.dev/) to scan for security vulnerabilities & misconfigurations in your configuration. At the moment, there's only support for scanning Kubernetes objects. diff --git a/mission-control/docs/guide/mcp/client-setup.mdx b/mission-control/docs/guide/mcp/client-setup.mdx index ac68695a..60745955 100644 --- a/mission-control/docs/guide/mcp/client-setup.mdx +++ b/mission-control/docs/guide/mcp/client-setup.mdx @@ -49,7 +49,7 @@ Copy the generated config for your relevant client, or use the token directly ## Client Setup Instructions - + diff --git a/mission-control/docs/guide/playbooks/actions/ai.mdx b/mission-control/docs/guide/playbooks/actions/ai.mdx index 16de5d54..907842fa 100644 --- a/mission-control/docs/guide/playbooks/actions/ai.mdx +++ b/mission-control/docs/guide/playbooks/actions/ai.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from '@site/docs/reference/playbooks/context.mdx' - + # AI Action diff --git a/mission-control/docs/guide/playbooks/actions/azure_devops_pipeline.mdx b/mission-control/docs/guide/playbooks/actions/azure_devops_pipeline.mdx index 855c708d..edbc8730 100644 --- a/mission-control/docs/guide/playbooks/actions/azure_devops_pipeline.mdx +++ b/mission-control/docs/guide/playbooks/actions/azure_devops_pipeline.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: import Templating from '@site/docs/reference/playbooks/context.mdx' - + # Azure DevOps Pipeline Action diff --git a/mission-control/docs/guide/playbooks/actions/exec.mdx b/mission-control/docs/guide/playbooks/actions/exec.mdx index 5303cce7..2d8a4ca1 100644 --- a/mission-control/docs/guide/playbooks/actions/exec.mdx +++ b/mission-control/docs/guide/playbooks/actions/exec.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: import Templating from "@site/docs/reference/playbooks/context.mdx" import GoTemplate from '@site/docs/partials/_gotemplate.md' - + # Exec Action diff --git a/mission-control/docs/guide/playbooks/actions/github.mdx b/mission-control/docs/guide/playbooks/actions/github.mdx index 0b191efb..c3b5415a 100644 --- a/mission-control/docs/guide/playbooks/actions/github.mdx +++ b/mission-control/docs/guide/playbooks/actions/github.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from '@site/docs/reference/playbooks/context.mdx' - + # Github Action diff --git a/mission-control/docs/guide/playbooks/actions/gitops.mdx b/mission-control/docs/guide/playbooks/actions/gitops.mdx index 2a243164..1a70f813 100644 --- a/mission-control/docs/guide/playbooks/actions/gitops.mdx +++ b/mission-control/docs/guide/playbooks/actions/gitops.mdx @@ -7,7 +7,7 @@ sidebar_custom_props: import Templating from '@site/docs/reference/playbooks/context.mdx' - + # GitOps Action diff --git a/mission-control/docs/guide/playbooks/actions/http.mdx b/mission-control/docs/guide/playbooks/actions/http.mdx index 9ff84b5e..b5b4827d 100644 --- a/mission-control/docs/guide/playbooks/actions/http.mdx +++ b/mission-control/docs/guide/playbooks/actions/http.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from "@site/docs/reference/playbooks/context.mdx" - + # HTTP Action diff --git a/mission-control/docs/guide/playbooks/actions/logs.mdx b/mission-control/docs/guide/playbooks/actions/logs.mdx index 4dca5d43..8362049a 100644 --- a/mission-control/docs/guide/playbooks/actions/logs.mdx +++ b/mission-control/docs/guide/playbooks/actions/logs.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from "@site/docs/reference/playbooks/context.mdx" - + # Logs Action diff --git a/mission-control/docs/guide/playbooks/actions/notification.mdx b/mission-control/docs/guide/playbooks/actions/notification.mdx index 1d31cc87..5b41db36 100644 --- a/mission-control/docs/guide/playbooks/actions/notification.mdx +++ b/mission-control/docs/guide/playbooks/actions/notification.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from "@site/docs/reference/playbooks/context.mdx" - + # Notification diff --git a/mission-control/docs/guide/playbooks/actions/pod.mdx b/mission-control/docs/guide/playbooks/actions/pod.mdx index f74d01be..acd98155 100644 --- a/mission-control/docs/guide/playbooks/actions/pod.mdx +++ b/mission-control/docs/guide/playbooks/actions/pod.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from "@site/docs/reference/playbooks/context.mdx" - + # Pod Action diff --git a/mission-control/docs/guide/playbooks/actions/sql.mdx b/mission-control/docs/guide/playbooks/actions/sql.mdx index 30c68927..1d6e1b78 100644 --- a/mission-control/docs/guide/playbooks/actions/sql.mdx +++ b/mission-control/docs/guide/playbooks/actions/sql.mdx @@ -6,7 +6,7 @@ sidebar_custom_props: --- import Templating from "@site/docs/reference/playbooks/context.mdx" - + # SQL Action From 6851e24b56b8994eee2a4371576cc00b40fd612d Mon Sep 17 00:00:00 2001 From: Yash Mehrotra Date: Mon, 26 Jan 2026 16:29:30 +0530 Subject: [PATCH 3/4] chore: update scraper docs --- .../docs/guide/config-db/scrapers/azure.md | 15 ++++++++++++-- .../docs/guide/config-db/scrapers/file.mdx | 20 +++++++++++++++++++ .../docs/guide/config-db/scrapers/gcp.mdx | 17 ++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/mission-control/docs/guide/config-db/scrapers/azure.md b/mission-control/docs/guide/config-db/scrapers/azure.md index 7e2e828e..563dd6db 100644 --- a/mission-control/docs/guide/config-db/scrapers/azure.md +++ b/mission-control/docs/guide/config-db/scrapers/azure.md @@ -30,11 +30,12 @@ The Azure scrapers scrapes your azure account to fetch all the resources & save | ---------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------- | -------- | | `connection` | Specify the connection that provides the clientID, clientSecret & tenantID | `string` | | | `subscriptionID` | Azure subscription ID | `string` | | -| `organisation` | Azure organisation ID | `string` | | | `tenantID` | Azure tenant ID | `string` | | | `clientID` | Microsoft Entra ID app client id | _EnvVar_ | | | `clientSecret` | Microsoft Entra ID app client secret | _EnvVar_ | | -| `exclusions` | Specifies the Azure projects to scrape | [`Exclusion`](#exclusion) | | +| `include` | Azure resources to include for scraping | `[]string` | | +| `exclusions` | Specifies the Azure resources to exclude | [`Exclusion`](#exclusion) | | +| `entra` | Microsoft Entra ID (Azure AD) scraping configuration | [`Entra`](#entra) | | | `properties` | Custom templatable properties for the scraped config items. | [`[]ConfigProperty`](/docs/reference/config-db/properties) | | | `transform` | Field to transform result | [`Transform`](/docs/guide/config-db/concepts/transform) | | | `tags` | Set custom tags on the scraped config items | `map[string]string` | | @@ -49,6 +50,16 @@ Either the `connection` name or the credentials (`clientID`, `clientSecret` & `t | -------------- | -------------------------------------------------- | ---------- | -------- | | `activityLogs` | A list of operations to exclude from activity logs | `[]string` | | +#### Entra + +| Field | Description | Scheme | Required | +| -------------------- | ---------------------------------------------------- | -------------------- | -------- | +| `users` | Selectors for scraping Entra ID users | `[]ResourceSelector` | | +| `groups` | Selectors for scraping Entra ID groups | `[]ResourceSelector` | | +| `appRegistrations` | Selectors for scraping app registrations | `[]ResourceSelector` | | +| `enterpriseApps` | Selectors for scraping enterprise applications | `[]ResourceSelector` | | +| `appRoleAssignments` | Selectors for scraping app role assignments | `[]ResourceSelector` | | + ## Resource Types The following Azure resources are scraped and mapped to Mission Control config types: diff --git a/mission-control/docs/guide/config-db/scrapers/file.mdx b/mission-control/docs/guide/config-db/scrapers/file.mdx index 535efe24..6b0214be 100644 --- a/mission-control/docs/guide/config-db/scrapers/file.mdx +++ b/mission-control/docs/guide/config-db/scrapers/file.mdx @@ -56,6 +56,26 @@ spec: "scheme": "[]glob", "required": "true" }, + { + "field": "ignore", + "description": "Patterns to ignore when scraping files", + "scheme": "[]string" + }, + { + "field": "format", + "description": "File format (e.g., json, yaml)", + "scheme": "string" + }, + { + "field": "icon", + "description": "Icon for the scraped config items", + "scheme": "string" + }, + { + "field": "connection", + "description": "Connection name to use for URL credentials", + "scheme": "string" + }, ]}/> diff --git a/mission-control/docs/guide/config-db/scrapers/gcp.mdx b/mission-control/docs/guide/config-db/scrapers/gcp.mdx index d956c425..0e43eed8 100644 --- a/mission-control/docs/guide/config-db/scrapers/gcp.mdx +++ b/mission-control/docs/guide/config-db/scrapers/gcp.mdx @@ -46,5 +46,22 @@ Either the `connection` name or the `credentials` are required (if Workload Iden description: 'GCP resources to exclude from scraping', scheme: '[]string' }, + { + field: 'auditLogs', + description: 'Query BigQuery dataset for audit logs', + scheme: '[`AuditLogs`](#audit-logs)' + }, ]} /> + +### Audit Logs + +| Field | Description | Scheme | +| ----------------- | ------------------------------------------------------------------------ | ------------------- | +| `dataset` | BigQuery dataset to query audit logs from (e.g., "default._AllLogs") | `string` | +| `since` | Time range to query audit logs (e.g., "24h", "7d", "30d") | `string` | +| `userAgents` | Filter user agents matching these patterns | `MatchExpressions` | +| `principalEmails` | Filter principal emails matching these patterns | `MatchExpressions` | +| `permissions` | Filter permissions matching these patterns | `MatchExpressions` | +| `serviceNames` | Filter service names matching these patterns | `MatchExpressions` | +| `methods` | Filter methods matching these patterns | `MatchExpressions` | From 620133a0511ced03acc38bafb27e418ff11a175f Mon Sep 17 00:00:00 2001 From: Yash Mehrotra Date: Mon, 26 Jan 2026 17:11:16 +0530 Subject: [PATCH 4/4] chore: task fmt --- .../docs/guide/config-db/scrapers/azure.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mission-control/docs/guide/config-db/scrapers/azure.md b/mission-control/docs/guide/config-db/scrapers/azure.md index 563dd6db..2c56c96d 100644 --- a/mission-control/docs/guide/config-db/scrapers/azure.md +++ b/mission-control/docs/guide/config-db/scrapers/azure.md @@ -52,13 +52,13 @@ Either the `connection` name or the credentials (`clientID`, `clientSecret` & `t #### Entra -| Field | Description | Scheme | Required | -| -------------------- | ---------------------------------------------------- | -------------------- | -------- | -| `users` | Selectors for scraping Entra ID users | `[]ResourceSelector` | | -| `groups` | Selectors for scraping Entra ID groups | `[]ResourceSelector` | | -| `appRegistrations` | Selectors for scraping app registrations | `[]ResourceSelector` | | -| `enterpriseApps` | Selectors for scraping enterprise applications | `[]ResourceSelector` | | -| `appRoleAssignments` | Selectors for scraping app role assignments | `[]ResourceSelector` | | +| Field | Description | Scheme | Required | +| -------------------- | ---------------------------------------------- | -------------------- | -------- | +| `users` | Selectors for scraping Entra ID users | `[]ResourceSelector` | | +| `groups` | Selectors for scraping Entra ID groups | `[]ResourceSelector` | | +| `appRegistrations` | Selectors for scraping app registrations | `[]ResourceSelector` | | +| `enterpriseApps` | Selectors for scraping enterprise applications | `[]ResourceSelector` | | +| `appRoleAssignments` | Selectors for scraping app role assignments | `[]ResourceSelector` | | ## Resource Types