diff --git a/canary-checker/docs/concepts/display-formatting.md b/canary-checker/docs/concepts/display-formatting.md index 688253fd..14eb2bf4 100644 --- a/canary-checker/docs/concepts/display-formatting.md +++ b/canary-checker/docs/concepts/display-formatting.md @@ -20,7 +20,7 @@ spec: - name: USD url: https://api.frankfurter.app/latest?from=USD&to=GBP,EUR,ILS,ZAR display: - template: "$1 = €{{.json.rates.EUR}}, £{{.json.rates.GBP}}, ₪{{.json.rates.ILS}}" + template: '$1 = €{{.json.rates.EUR}}, £{{.json.rates.GBP}}, ₪{{.json.rates.ILS}}' ``` Which would display: @@ -29,7 +29,8 @@ Which would display: $1 = €0.94913, £0.82394, ₪3.8455 ``` -See [Go Template](/scripting/gotemplate) +See Go Template + ## CEL Expressions The equivalent using CEL expressions would be: @@ -44,10 +45,10 @@ spec: - name: USD url: https://api.frankfurter.app/latest?from=USD&to=GBP,EUR,ILS,ZAR display: - expr: "'$1 = €' + string(json.rates.EUR) + ', £' + string(json.rates.GBP) + ', ₪' + string(json.rates.ILS)" -```` + expr: "'$1 = €' + string(json.rates.EUR) + ', £' + string(json.rates.GBP) + ', ₪' + string(json.rates.ILS)" +``` -See [CEL](/scripting/cel) for a function reference +See Cel Expressions for a function reference ## Javascript @@ -72,15 +73,14 @@ spec: display += currency + " = " + currencyCodes[currency] + json.rates[currency] + ", " } "$1 = " + display -```` +``` :::info Do not return anything from the function, e.g. instead of `return "hello" + "world"` use just `"hello" + "world"` ::: -See [Javascript](/scripting/javascript) for more details and a function reference. +See JavaScript for more details and a function reference. ## Variables Each check exposes different variables to use in the `display` expression, See the **Result Variables** section for each check. - diff --git a/canary-checker/docs/concepts/health-evaluation.md b/canary-checker/docs/concepts/health-evaluation.md index ba3f4548..c0cdb313 100644 --- a/canary-checker/docs/concepts/health-evaluation.md +++ b/canary-checker/docs/concepts/health-evaluation.md @@ -23,7 +23,7 @@ spec: `test` expressions must return a bool or boolean type string (`'true'` or `'false`') ::: -See [CEL](/scripting/cel) for a function reference +See Cel Expressions for a function reference :::note Javascript and Go Templating While `test` fields do support Javascript and Go Text Templates, they are not recommended for health evaluations due to their verbosity and performance. diff --git a/canary-checker/docs/concepts/troubleshooting.md b/canary-checker/docs/concepts/troubleshooting.md index 5e346a98..a4b59dde 100644 --- a/canary-checker/docs/concepts/troubleshooting.md +++ b/canary-checker/docs/concepts/troubleshooting.md @@ -66,7 +66,7 @@ The following local settings will affect the permissions available for use by th ### Local Canary execution -Install the CLI as per the [Installation instructions](../../cli/) +Install the CLI as per the [Installation instructions](../cli) Generate a local resource file with the trace annotation enabled: ```bash diff --git a/canary-checker/docs/reference/aws-config-rule.mdx b/canary-checker/docs/reference/aws-config-rule.mdx index 19ef08b9..c184b507 100644 --- a/canary-checker/docs/reference/aws-config-rule.mdx +++ b/canary-checker/docs/reference/aws-config-rule.mdx @@ -14,34 +14,34 @@ metadata: spec: interval: 30 awsConfigRule: - - description: "AWS Config Rule Checker" + - description: 'AWS Config Rule Checker' name: AWS Config Rule Checker rules: - - "s3-bucket-public-read-prohibited" + - 's3-bucket-public-read-prohibited' ignoreRules: - - "s3-bucket-public-write-prohibited" + - 's3-bucket-public-write-prohibited' ``` -| Field | Description | Scheme | Required | -| ----------------- | ------------------------------------------------------------ | ------------------------------------------------- | -------- | -| `rules` | Specify one or more Config rule names to filter the results by rule. | `[]string` | | -| `ignoreRules` | List of rules which would be omitted from the fetch result. | `[]string` | | -| `complianceTypes` | Filters the results by compliance. The allowed values are `INSUFFICIENT_DATA`, `NON_COMPLIANT`, `NOT_APPLICABLE`, `COMPLIANT` | `[]string` | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | | [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `endpoint` | Custom AWS Config endpoint | *string* | | -| `region` | AWS region | *string* | | -| `skipTLSVerify` | Skip TLS verify when connecting to AWS | *bool* | | +| Field | Description | Scheme | Required | +| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------- | +| `rules` | Specify one or more Config rule names to filter the results by rule. | `[]string` | | +| `ignoreRules` | List of rules which would be omitted from the fetch result. | `[]string` | | +| `complianceTypes` | Filters the results by compliance. The allowed values are `INSUFFICIENT_DATA`, `NON_COMPLIANT`, `NOT_APPLICABLE`, `COMPLIANT` | `[]string` | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | | _Connections_ | | +| `accessKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `secretKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `endpoint` | Custom AWS Config endpoint | _string_ | | +| `region` | AWS region | _string_ | | +| `skipTLSVerify` | Skip TLS verify when connecting to AWS | _bool_ | | ### Connecting to AWS @@ -51,42 +51,42 @@ There are 3 options when connecting to AWS: 2. `connection`, this is the recommended method, connections are reusable and secure - ```yaml title="aws-connection.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - awsConfigRule: - - name: AWS Config Rule Checker - connection: connection://aws/internal - rules: - - "s3-bucket-public-read-prohibited" - ``` + ```yaml title="aws-connection.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + awsConfigRule: + - name: AWS Config Rule Checker + connection: connection://aws/internal + rules: + - 's3-bucket-public-read-prohibited' + ``` -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret. +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret. - ```yaml title="aws.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - awsConfigRule: - - name: AWS Config Rule Checker - accessKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_ACCESS_KEY_ID - secretKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_SECRET_ACCESS_KEY - region: us-east-1 - rules: - - "s3-bucket-public-read-prohibited" - ``` + ```yaml title="aws.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + awsConfigRule: + - name: AWS Config Rule Checker + accessKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_ACCESS_KEY_ID + secretKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + rules: + - 's3-bucket-public-read-prohibited' + ``` diff --git a/canary-checker/docs/reference/aws-config.mdx b/canary-checker/docs/reference/aws-config.mdx index ed797d66..660685a3 100644 --- a/canary-checker/docs/reference/aws-config.mdx +++ b/canary-checker/docs/reference/aws-config.mdx @@ -14,30 +14,30 @@ metadata: spec: interval: 30 awsConfig: - - description: "Check the config" + - description: 'Check the config' name: config check - query: "SELECT * FROM aws_config_rule" + query: 'SELECT * FROM aws_config_rule' ``` -| Field | Description | Scheme | Required | -| ---------------- | ------------------------------------------------------------ | ------------------------------------------------- | -------- | -| **`query`** | The SQL query SELECT command | `string` | `true` | -| `aggregatorName` | Specify the name of the configuration aggregator | `string` | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection<` | Path of existing connection e.g. `connection://aws/instance` | [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `endpoint` | Custom AWS endpoint | *string* | | -| `region` | AWS region | *string* | | -| `skipTLSVerify` | Skip TLS verify when connecting to AWS | *bool* | | +| Field | Description | Scheme | Required | +| -------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------- | +| **`query`** | The SQL query SELECT command | `string` | `true` | +| `aggregatorName` | Specify the name of the configuration aggregator | `string` | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection<` | Path of existing connection e.g. `connection://aws/instance` | _Connections_ | | +| `accessKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `secretKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `endpoint` | Custom AWS endpoint | _string_ | | +| `region` | AWS region | _string_ | | +| `skipTLSVerify` | Skip TLS verify when connecting to AWS | _bool_ | | ### Connecting to AWS @@ -45,54 +45,54 @@ There are 3 options when connecting to AWS: 1. An AWS [instance profile](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) or [pod identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-configuration.html) (the default if no `connection` or `accessKey` is specified) - ```yaml title="aws-config.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - awsConfig: - - name: AWS Config check - query: "SELECT * FROM aws_config_rule" - ``` + ```yaml title="aws-config.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + awsConfig: + - name: AWS Config check + query: 'SELECT * FROM aws_config_rule' + ``` 2. `connection`, this is the recommended method, connections are reusable and secure - ```yaml title="aws-connection.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - awsConfig: - - name: AWS Config check - connection: connection://aws/internal - query: "SELECT * FROM aws_config_rule" - ``` + ```yaml title="aws-connection.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + awsConfig: + - name: AWS Config check + connection: connection://aws/internal + query: 'SELECT * FROM aws_config_rule' + ``` -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret - ```yaml title="aws-static.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - awsConfig: - - accessKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_ACCESS_KEY_ID - secretKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_SECRET_ACCESS_KEY - region: us-east-1 - name: AWS Config check - query: "SELECT * FROM aws_config_rule" - ``` + ```yaml title="aws-static.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + awsConfig: + - accessKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_ACCESS_KEY_ID + secretKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + name: AWS Config check + query: "SELECT * FROM aws_config_rule" + ``` diff --git a/canary-checker/docs/reference/azure-devops.mdx b/canary-checker/docs/reference/azure-devops.mdx index e83c82ab..50bc7d81 100644 --- a/canary-checker/docs/reference/azure-devops.mdx +++ b/canary-checker/docs/reference/azure-devops.mdx @@ -44,5 +44,5 @@ spec: | `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | | `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | | `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | Path of existing connection e.g. `connection://azuredevops/org` | [Connection](../concepts/connections) | | +| **Connection** | Path of existing connection e.g. `connection://azuredevops/org` | _Connections_ | | | `personalAccessToken` | Mutually exclusive with `connection` , See [Creating ADO PAT's](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) | *EnvVar* | true | diff --git a/canary-checker/docs/reference/cloudwatch.mdx b/canary-checker/docs/reference/cloudwatch.mdx index 08d2b40a..163aaece 100644 --- a/canary-checker/docs/reference/cloudwatch.mdx +++ b/canary-checker/docs/reference/cloudwatch.mdx @@ -4,7 +4,7 @@ title: AWS Cloud Watch # CloudWatch -Cloudwatch checks for all active alarms +Cloudwatch checks for all active alarms ```yaml title="cloudwatch-alarms.yaml" apiVersion: canaries.flanksource.com/v1 @@ -25,31 +25,31 @@ spec: secretKeyRef: key: AWS_SECRET_ACCESS_KEY name: aws-credentials - region: "us-east-1" + region: 'us-east-1' #skipTLSVerify: true ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| `actionPrefix` | Use to filter the results of the operation to only those alarms that use a certain alarm action. For example, you could specify the ARN of an SNS topic to find all alarms that send notifications to that topic. | *string* | | -| `alarmPrefix` | Specify to receive information about all alarms that have names that start with this prefix. | *string* | | -| `alarms` | Set field to retrieve information about alarm | *\[\]string* | | -| `state` | Specify to retrieve state value of alarm | *string* | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | Path of existing connection e.g. `connection://aws/instance` Mutually exclusive with `accessKey` and `secretKey` | [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | | -| `endpoint` | Custom AWS endpoint | *string* | | -| `region` | AWS region | *string* | | -| `skipTLSVerify` | Skip TLS verify when connecting to aws | *bool* | | +| Field | Description | Scheme | Required | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | -------- | +| `actionPrefix` | Use to filter the results of the operation to only those alarms that use a certain alarm action. For example, you could specify the ARN of an SNS topic to find all alarms that send notifications to that topic. | _string_ | | +| `alarmPrefix` | Specify to receive information about all alarms that have names that start with this prefix. | _string_ | | +| `alarms` | Set field to retrieve information about alarm | _\[\]string_ | | +| `state` | Specify to retrieve state value of alarm | _string_ | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | Path of existing connection e.g. `connection://aws/instance` Mutually exclusive with `accessKey` and `secretKey` | _Connections_ | | +| `accessKey` | Mutually exclusive with `connection` | _EnvVar_ | | +| `secretKey` | Mutually exclusive with `connection` | _EnvVar_ | | +| `endpoint` | Custom AWS endpoint | _string_ | | +| `region` | AWS region | _string_ | | +| `skipTLSVerify` | Skip TLS verify when connecting to aws | _bool_ | | ### Connecting to AWS @@ -58,37 +58,37 @@ There are 3 options when connecting to AWS: 1. An AWS [instance profile](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) or [pod identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-configuration.html) (the default if no `connection` or `accessKey` is specified) 2. `connection`, this is the recommended method, connections are reusable and secure - ```yaml title="aws-connection.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: cloudwatch-check - spec: - interval: 30 - cloudwatch: - - connection: connection://aws/internal - region: us-east-1 # optional if specified in the connection - ``` + ```yaml title="aws-connection.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: cloudwatch-check + spec: + interval: 30 + cloudwatch: + - connection: connection://aws/internal + region: us-east-1 # optional if specified in the connection + ``` -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret. +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret. - ```yaml title="aws.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: cloudwatch-check - spec: - interval: 30 - cloudwatch: - - accessKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_ACCESS_KEY_ID - secretKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_SECRET_ACCESS_KEY - region: us-east-1 - ``` + ```yaml title="aws.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: cloudwatch-check + spec: + interval: 30 + cloudwatch: + - accessKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_ACCESS_KEY_ID + secretKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + ``` diff --git a/canary-checker/docs/reference/connections.mdx b/canary-checker/docs/reference/connections.mdx index c7ee0088..e42bf797 100644 --- a/canary-checker/docs/reference/connections.mdx +++ b/canary-checker/docs/reference/connections.mdx @@ -2,30 +2,30 @@ ### AWS Connection -| Field | Description | Type | Required | -| ---------------- | --------------- | ----------------------------------------------------------------------------- | -------- | -| `connectionName` | Connection name | `string` | | -| `accessKey` | Access key | *EnvVar* | | -| `secretKey` | Secret key | *EnvVar* | | -| `region` | Region | `string` | | -| `endpoint` | Endpoint | `string` | | -| `skipTLSVerify` | Skip TLS verify | `bool` | | -| `objectPath` | Object path | `string` | | -| `usePathStyle` | Use path style | `bool` | | +| Field | Description | Type | Required | +| ------------------------------- | --------------- | -------------------------------------------------------------------------- | -------- | +| `connection` | | _Connections_ | | +| `accessKey` | Access key | _EnvVar_ | | +| `secretKey` | Secret key | _EnvVar_ | | +| `region` | Region | `string` | | +| `endpoint` | Endpoint | `string` | | +| `skipTLSVerify` | Skip TLS verify | `bool` | | +| `objectPath` | Object path | `string` | | +| `usePathStyle` | Use path style | `bool` | | ### GCP Connection -| Field | Description | Type | Required | -| ---------------- | --------------- | ----------------------------------------------------------------------------- | -------- | -| `connectionName` | Connection name | `string` | | -| `endpoint` | Endpoint | `string` | | -| `credentials` | Credentials | *EnvVar* | | +| Field | Description | Type | Required | +| ------------------------------- | ----------- | -------------------------------------------------------------------------- | -------- | +| `connection` | | _Connections_ | | +| `endpoint` | Endpoint | `string` | | +| `credentials` | Credentials | _EnvVar_ | | ### Azure Connection -| Field | Description | Type | Required | -| ---------------- | --------------- | ----------------------------------------------------------------------------- | -------- | -| `connectionName` | Connection name | `string` | | -| `clientID` | Client ID | *EnvVar* | | -| `clientSecret` | Client Secret | *EnvVar* | | -| `tenantID` | Tenant ID | `string` | | +| Field | Description | Type | Required | +| ------------------------------- | ------------- | -------------------------------------------------------------------------- | -------- | +| `connection` | | _Connections_ | | +| `clientID` | Client ID | _EnvVar_ | | +| `clientSecret` | Client Secret | _EnvVar_ | | +| `tenantID` | Tenant ID | `string` | | diff --git a/canary-checker/docs/reference/containerd.mdx b/canary-checker/docs/reference/containerd.mdx index d48f25ec..a169d60a 100644 --- a/canary-checker/docs/reference/containerd.mdx +++ b/canary-checker/docs/reference/containerd.mdx @@ -2,7 +2,7 @@ title: ContainerD / Docker --- -# ContainerD / Docker +# ContainerD / Docker This check will try to pull a Docker image from specified registry using containerd and then verify its checksum and size. @@ -23,23 +23,22 @@ spec: - image: docker.io/library/busybox:1.31.1 expectedDigest: sha256:95cf004f559831017cdf4628aaf1bb30133677be8702a8c5f2994629f637a209 expectedSize: 764556 - ``` -| Field | Description | Scheme | Required | -| ---------------- | ------------------------------------------------------------ | ------------------------------------------------- | -------- | -| `auth` | Username and password value, configMapKeyRef or SecretKeyRef for registry | [_Authentication_](../concepts/authentication.md) | | -| `expectedDigest` | Expected digest of the pulled image | _string_ | Yes | -| `expectedSize` | Expected size of the pulled image | _int64_ | Yes | -| **`image`** | Full path to image, including registry | _string_ | Yes | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| Field | Description | Scheme | Required | +| ---------------- | ------------------------------------------------------------------------- | ---------------------------------------------- | -------- | +| `auth` | Username and password value, configMapKeyRef or SecretKeyRef for registry | [_Authentication_](#authentication) | | +| `expectedDigest` | Expected digest of the pulled image | _string_ | Yes | +| `expectedSize` | Expected size of the pulled image | _int64_ | Yes | +| **`image`** | Full path to image, including registry | _string_ | Yes | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | --- @@ -54,23 +53,30 @@ metadata: name: containerd-push-check spec: interval: 30 - containerdPush: # use dockerPush if running outside kubernetes / docker + containerdPush: # use dockerPush if running outside kubernetes / docker - name: ContainerdPush Check image: docker.io/library/busybox:1.31.1 username: password: ``` -| Field | Description | Scheme | Required | -| -------------- | -------------------------------------- | --------------------- | -------- | -| **`image`** | Full path to image, including registry | `string` | Yes | -| **`password`** | Password to access Containerd | `string` | Yes | -| **`username`** | Username to access Containerd | `string` | Yes | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| Field | Description | Scheme | Required | +| -------------- | ----------------------------------------------------------- | ---------------------------------------------- | -------- | +| **`image`** | Full path to image, including registry | `string` | Yes | +| **`password`** | Password to access Containerd | `string` | Yes | +| **`username`** | Username to access Containerd | `string` | Yes | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | + +## Authentication + +| Field | Description | Scheme | Required | +| -------------- | ------------------------------------------------------------------------------- | ---------------------------------------------- | -------- | +| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | _EnvVar_ | Yes | +| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | _EnvVar_ | Yes | diff --git a/canary-checker/docs/reference/ec2.mdx b/canary-checker/docs/reference/ec2.mdx index 05cfc577..b3bcd4a2 100644 --- a/canary-checker/docs/reference/ec2.mdx +++ b/canary-checker/docs/reference/ec2.mdx @@ -44,30 +44,30 @@ spec: securityGroup: default ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| `ami` | Master image to create EC2 instance from | string | Yes | -| `canaryRef` | Reference Canary object | \[\][*v1.LocalObjectReference*](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#localobjectreference-v1-core) | | -| `keepAlive` | Toggle keepalive with `true` or `false` | *bool* | | -| `securityGroup` | Security groups to attach to the EC2 instance | *string* | | -| `timeout` | Set keep-alive timeout | *int* | | -| `userData` | Configure EC2 instance with user data | *string* | | -| `waitTime` | Set wait-time for EC2 instance launch | *int* | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | Path of existing connection e.g. `connection://aws/instance`
*Mutually exclusive with `accessKey` and `secretKey`*
| [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | | -| `endpoint` | Custom AWS endpoint | *string* | | -| `region` | AWS region | *string* | | -| `skipTLSVerify` | Skip TLS verify when connecting to aws | *bool* | | +| Field | Description | Scheme | Required | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------- | +| `ami` | Master image to create EC2 instance from | string | Yes | +| `canaryRef` | Reference Canary object | [_[]v1.LocalObjectReference_](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#localobjectreference-v1-core) | | +| `keepAlive` | Toggle keepalive with `true` or `false` | _bool_ | | +| `securityGroup` | Security groups to attach to the EC2 instance | _string_ | | +| `timeout` | Set keep-alive timeout | _int_ | | +| `userData` | Configure EC2 instance with user data | _string_ | | +| `waitTime` | Set wait-time for EC2 instance launch | _int_ | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | Path of existing connection e.g. `connection://aws/instance`
_Mutually exclusive with `accessKey` and `secretKey`_
| _Connections_ | | +| `accessKey` | Mutually exclusive with `connection` | _EnvVar_ | | +| `secretKey` | Mutually exclusive with `connection` | _EnvVar_ | | +| `endpoint` | Custom AWS endpoint | _string_ | | +| `region` | AWS region | _string_ | | +| `skipTLSVerify` | Skip TLS verify when connecting to aws | _bool_ | | ### Connecting to AWS @@ -77,65 +77,65 @@ There are 3 options when connecting to AWS: 2. `connection`, this is the recommended method, connections are reusable and secure - ```yaml title="aws-connection.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: ec2-check - spec: - interval: 30 - ec2: - - name: ec2-check - ami: ami-04f7efe62f419d9f5 - description: test instance - connection: connection://aws/internal - region: eu-west-1 - userData: | - #!/bin/bash - yum install -y httpd - systemctl start httpd - systemctl enable httpd - usermod -a -G apache ec2-user - chown -R ec2-user:apache /var/www - chmod 2775 /var/www - find /var/www -type d -exec chmod 2775 {} \; - find /var/www -type f -exec chmod 0664 {} \; - securityGroup: default - ``` +```yaml title="aws-connection.yaml" +apiVersion: canaries.flanksource.com/v1 +kind: Canary +metadata: + name: ec2-check +spec: + interval: 30 + ec2: + - name: ec2-check + ami: ami-04f7efe62f419d9f5 + description: test instance + connection: connection://aws/internal + region: eu-west-1 + userData: | + #!/bin/bash + yum install -y httpd + systemctl start httpd + systemctl enable httpd + usermod -a -G apache ec2-user + chown -R ec2-user:apache /var/www + chmod 2775 /var/www + find /var/www -type d -exec chmod 2775 {} \; + find /var/www -type f -exec chmod 0664 {} \; + securityGroup: default +``` -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret. +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret. - ```yaml title="aws.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: ec2-check - spec: - interval: 30 - ec2: - - name: ec2-check - ami: ami-04f7efe62f419d9f5 - description: test instance - accessKeyID: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_ACCESS_KEY_ID - secretKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_SECRET_ACCESS_KEY - region: eu-west-1 - userData: | - #!/bin/bash - yum install -y httpd - systemctl start httpd - systemctl enable httpd - usermod -a -G apache ec2-user - chown -R ec2-user:apache /var/www - chmod 2775 /var/www - find /var/www -type d -exec chmod 2775 {} \; - find /var/www -type f -exec chmod 0664 {} \; - securityGroup: default - ``` +```yaml title="aws.yaml" +apiVersion: canaries.flanksource.com/v1 +kind: Canary +metadata: + name: ec2-check +spec: + interval: 30 + ec2: + - name: ec2-check + ami: ami-04f7efe62f419d9f5 + description: test instance + accessKeyID: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_ACCESS_KEY_ID + secretKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_SECRET_ACCESS_KEY + region: eu-west-1 + userData: | + #!/bin/bash + yum install -y httpd + systemctl start httpd + systemctl enable httpd + usermod -a -G apache ec2-user + chown -R ec2-user:apache /var/www + chmod 2775 /var/www + find /var/www -type d -exec chmod 2775 {} \; + find /var/www -type f -exec chmod 0664 {} \; + securityGroup: default +``` diff --git a/canary-checker/docs/reference/exec.mdx b/canary-checker/docs/reference/exec.mdx index 831b8ecd..25e6f950 100644 --- a/canary-checker/docs/reference/exec.mdx +++ b/canary-checker/docs/reference/exec.mdx @@ -16,7 +16,7 @@ metadata: spec: interval: 30 exec: - - description: "exec dummy check" + - description: 'exec dummy check' script: | echo "hello" name: exec-pass-check @@ -24,22 +24,22 @@ spec: expr: 'results.Stdout == "hello"' ``` -| Field | Description | Scheme | Required | -| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -------- | -| **`script`** | Script can be a inline script or a path to a script that needs to be executed. On windows executed via Powershell and in darwin and linux executed using bash. | _string_ | Yes | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `artifacts` | Specify what files/folders generated by the script needs to be archived | [`[]Artifact`](#artifact) | | -| `checkout` | Specify git repository to mount to the exec process | [`[]GitCheckout`](#git-checkout) | | -| `connections` | Setup connections for the script (eg: aws credentials) | [`ExecConnection`](#exec-connection) | | -| `env` | Setup environment variables that are accessible to the exec process | []*EnvVar* | | -| `namespace` | Namespace of the check | `string` | | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| Field | Description | Scheme | Required | +| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------- | +| **`script`** | Script can be a inline script or a path to a script that needs to be executed. On windows executed via Powershell and in darwin and linux executed using bash. | _string_ | Yes | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `artifacts` | Specify what files/folders generated by the script needs to be archived | [`[]Artifact`](#artifact) | | +| `checkout` | Specify git repository to mount to the exec process | [`[]GitCheckout`](#git-checkout) | | +| `connections` | Setup connections for the script (eg: aws credentials) | [`ExecConnection`](#exec-connection) | | +| `env` | Setup environment variables that are accessible to the exec process | []_EnvVar_ | | +| `namespace` | Namespace of the check | `string` | | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | :::tip Docker Image variants See [image-variants](../concepts/image-variants) @@ -50,11 +50,11 @@ See [image-variants](../concepts/image-variants) Exec connections allow you to specify credentials for a list of CLI tools that are needed by your scripts. Eg: You can specify the AWS connection name and the credential files along with the necessary environment variables will be setup on the host running the script. -| Field | Description | Type | Required | -| ------- | ---------------- | ----------------------------------------------------------------- | -------- | -| `aws` | AWS connection | [`AWSConnection`](../reference/connections.md#aws-connection) | | -| `gcp` | GCP connection | [`GCPConnection`](../reference/connections.md#gcp-connection) | | -| `azure` | Azure connection | [`AzureConnection`](../reference/connections.md#azure-connection) | | +| Field | Description | Type | Required | +| ------- | ---------------- | ------------------------------------------------------- | -------- | +| `aws` | AWS connection | [`AWSConnection`](./connections.mdx#aws-connection) | | +| `gcp` | GCP connection | [`GCPConnection`](./connections.mdx#gcp-connection) | | +| `azure` | Azure connection | [`AzureConnection`](./connections.mdx#azure-connection) | | ### Artifact @@ -68,11 +68,11 @@ See [artifacts](../concepts/artifacts) For authentication, either provide the connection name or the basic auth or the certificate. -| Field | Description | Type | Required | -| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -------- | -| `url` | Git repository URL. | `string` | `true` | -| `connection` | Specify the connection name to use for git authentication (if required) | *EnvVar* | | -| `username` | Git auth username. | *EnvVar* | | -| `password` | Git auth password. | *EnvVar* | | -| `certificate` | Git auth certificate. | *EnvVar* | | -| `destination` | Destination is the full path to where the contents of the URL should be downloaded to. If left empty, the sha256 hash of the URL will be used as the dir name. | `string` | | +| Field | Description | Type | Required | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -------- | +| `url` | Git repository URL. | `string` | `true` | +| `connection` | Specify the connection name to use for git authentication (if required) | _EnvVar_ | | +| `username` | Git auth username. | _EnvVar_ | | +| `password` | Git auth password. | _EnvVar_ | | +| `certificate` | Git auth certificate. | _EnvVar_ | | +| `destination` | Destination is the full path to where the contents of the URL should be downloaded to. If left empty, the sha256 hash of the URL will be used as the dir name. | `string` | | diff --git a/canary-checker/docs/reference/gcs-bucket.mdx b/canary-checker/docs/reference/gcs-bucket.mdx index 7bf9751d..81b3cce3 100644 --- a/canary-checker/docs/reference/gcs-bucket.mdx +++ b/canary-checker/docs/reference/gcs-bucket.mdx @@ -6,7 +6,7 @@ title: GCS Bucket Checks the contents of a GCP bucket for size, age and count. -See [Folder](folder) for a full description. +See [Folder](./folder.mdx) for a full description. ```yaml title="gcs-folder-check.yaml" apiVersion: canaries.flanksource.com/v1 @@ -22,23 +22,23 @@ spec: minCount: 5 ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`name`** | Name of the check | *string* | Yes | -| **`path`** | A path to a GCS bucket and folder e.g. `gcs://bucket/folder` | string | Yes | -| `gcpConnection` | Connection details for GCP | [GCPConnection](#gcp-connection) | | -| `*` | All other fields available in the folder check | [*Folder*](folder) | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | Path of an existing connection e.g. `connection://aws/instance`
Mutually exclusive with `credentials`
| *Connection* | | -| `credentials` | GCP Access Token File. Mutually exclusive with `connection` | *EnvVar* | Yes | +| Field | Description | Scheme | Required | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | +| **`name`** | Name of the check | _string_ | Yes | +| **`path`** | A path to a GCS bucket and folder e.g. `gcs://bucket/folder` | string | Yes | +| `gcpConnection` | Connection details for GCP | [GCPConnection](./connections.mdx#gcp-connection) | | +| `*` | All other fields available in the folder check | [_Folder_](./folder.mdx) | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | Path of an existing connection e.g. `connection://aws/instance`
Mutually exclusive with `credentials`
| _Connection_ | | +| `credentials` | GCP Access Token File. Mutually exclusive with `connection` | _EnvVar_ | Yes | ### Connecting to GCP @@ -55,13 +55,13 @@ metadata: spec: interval: 60 folder: - - name: gcs auth test - path: gcs://somegcsbucket - gcpConnection: - connection: connection://gcp/internal + - name: gcs auth test + path: gcs://somegcsbucket + gcpConnection: + connection: connection://gcp/internal ``` -3. `credentials` *EnvVar* with the service account json key stored in a secret. +3. `credentials` _EnvVar_ with the service account json key stored in a secret. ```yaml title="aws.yaml" apiVersion: canaries.flanksource.com/v1 @@ -71,17 +71,18 @@ metadata: spec: interval: 60 folder: - - name: gcs auth test - path: gcs://somegcsbucket - gcpConnection: - credentials: - valueFrom: - secretKeyRef: - name: gcp-credentials - key: AUTH_ACCESS_TOKEN - + - name: gcs auth test + path: gcs://somegcsbucket + gcpConnection: + credentials: + valueFrom: + secretKeyRef: + name: gcp-credentials + key: AUTH_ACCESS_TOKEN ``` + To create the secret + ```bash kubectl create secret generic gcp-credentials --from-file=AUTH_ACCESS_TOKEN=path/to/your/SA_Key.json ``` diff --git a/canary-checker/docs/reference/gcs-database-backup.mdx b/canary-checker/docs/reference/gcs-database-backup.mdx index eedfa5f8..580e610e 100644 --- a/canary-checker/docs/reference/gcs-database-backup.mdx +++ b/canary-checker/docs/reference/gcs-database-backup.mdx @@ -20,33 +20,33 @@ spec: instance: cloudsql-instance-name ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`gcp`** | Connect to GCP project and instance | [*GCPDatabase*](#gcpdatabase) | Yes | -| **`maxAge`** | Max age for backup allowed, eg. 5h30m | *Duration* | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | +| Field | Description | Scheme | Required | +| ------------- | ----------------------------------------------------------- | ---------------------------------------------- | -------- | +| **`gcp`** | Connect to GCP project and instance | [_GCPDatabase_](#gcpdatabase) | Yes | +| **`maxAge`** | Max age for backup allowed, eg. 5h30m | _Duration_ | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | | `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | | `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | | `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| | | | | +| | | | | ## Duration -Durations are strings with an optional fraction and unit e.g. `300ms`, `1.5h` or `2h45m`. Valid time units are `ms`, `s`, `m`, `h`. +Durations are strings with an optional fraction and unit e.g. `300ms`, `1.5h` or `2h45m`. Valid time units are `ms`, `s`, `m`, `h`. ## GCPDatabase -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| `project` | GCP project\ name | *string* | Yes | -| `instance` | Google CloudSQL instance name | *string* | Yes | -| **Connection** | | | | -| `connection` | Path of an existing connection e.g. `connection://aws/instance`/. Mutually exclusive with `credentials`
| *Connection* | | -| `credentials` | GCP Access Token File. Mutually exclusive with `connection` | *EnvVar* | Yes | +| Field | Description | Scheme | Required | +| -------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | +| `project` | GCP project\ name | _string_ | Yes | +| `instance` | Google CloudSQL instance name | _string_ | Yes | +| **Connection** | | | | +| `connection` | Path of an existing connection e.g. `connection://aws/instance`/. Mutually exclusive with `credentials`
| _Connections_ | | +| `credentials` | GCP Access Token File. Mutually exclusive with `connection` | _EnvVar_ | Yes | ### Connecting to GCP @@ -70,7 +70,7 @@ spec: connection: connection://gcp/internal ``` -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret. +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret. ```yaml title="aws.yaml" apiVersion: canaries.flanksource.com/v1 @@ -89,5 +89,4 @@ spec: secretKeyRef: name: gcp-credentials key: AUTH_ACCESS_TOKEN - ``` diff --git a/canary-checker/docs/reference/helm.mdx b/canary-checker/docs/reference/helm.mdx index 953e782c..0c404d20 100644 --- a/canary-checker/docs/reference/helm.mdx +++ b/canary-checker/docs/reference/helm.mdx @@ -27,18 +27,17 @@ spec: secretKeyRef: name: helm-credentials key: PASSWORD - ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| `auth` | Username and password value, configMapKeyRef or SecretKeyRef for Helm repository | [Authentication](../concepts/authentication.md) | | -| `cafile` | Verify certificates of HTTPS-enabled servers in case of self-signed certificates | *string* | | -| **`chartmuseum`** | Chartmuseum URL | *string* | Yes | -| `description` | Description for the check | *string* | | -| `icon` | Icon for overwriting default icon on the dashboard | *string* | | -| `name` | Name of the check | *string* | | -| `project` | Specify Helm project | *string* | | +| Field | Description | Scheme | Required | +| ----------------- | -------------------------------------------------------------------------------- | --------------------------------- | -------- | +| `auth` | Username and password value, configMapKeyRef or SecretKeyRef for Helm repository | [Authentication](#authentication) | | +| `cafile` | Verify certificates of HTTPS-enabled servers in case of self-signed certificates | _string_ | | +| **`chartmuseum`** | Chartmuseum URL | _string_ | Yes | +| `description` | Description for the check | _string_ | | +| `icon` | Icon for overwriting default icon on the dashboard | _string_ | | +| `name` | Name of the check | _string_ | | +| `project` | Specify Helm project | _string_ | | --- @@ -46,7 +45,7 @@ spec: ## Authentication -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | [*kommons.EnvVar*](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | -| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | [*kommons.EnvVar*](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | +| Field | Description | Scheme | Required | +| -------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -------- | +| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | +| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | diff --git a/canary-checker/docs/reference/http.mdx b/canary-checker/docs/reference/http.mdx index e252ab2f..72a70052 100644 --- a/canary-checker/docs/reference/http.mdx +++ b/canary-checker/docs/reference/http.mdx @@ -21,33 +21,33 @@ spec: maxSSLExpiry: 7 ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`url`** | | *string* | Yes | -| `endpoint` | Deprecated, Use `url` instread | *string* | | -| `method` | HTTP Request method, default to `GET` | *string* | | -| `headers` | Header fields to be used in the query | []*EnvVar* | | -| `body` | Request Body Contents | *string* | | -| `templateBody` | If true the `body` field will be templated using go templates these [variables](#templateVariables) will be available | boo; | | -| `responseCodes` | Expected response codes for the HTTP Request. | *[]int* | | -| `responseContent` | Exact response content expected to be returned by the endpoint. | *string* | | -| `thresholdMillis` | Maximum duration in milliseconds for the HTTP request. It will fail the check if it takes longer. | *int* | | -| `maxSSLExpiry` | Maximum number of days until the SSL Certificate expires. | *int* | | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | Path of existing connection e.g. `connection://http/instance`
Mutually exclusive with `username`, `password`
| *Connection* | | -| `username` | Mutually exclusive with `connection` | *EnvVar* | | -| `password` | Mutually exclusive with `connection` | *EnvVar* | | -| **`url`** | HTTP URL, if a URL is specified on both the connection and check, the url on the check takes precedence. | *string* | Yes | -| `ntlm` | When true will do authentication using NTLM v1 protocol | *bool* | | -| `ntlmv2` | When true will do authentication using NTLM v2 protocol | *bool* | | +| Field | Description | Scheme | Required | +| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | +| **`url`** | | _string_ | Yes | +| `endpoint` | Deprecated, Use `url` instread | _string_ | | +| `method` | HTTP Request method, default to `GET` | _string_ | | +| `headers` | Header fields to be used in the query | []_EnvVar_ | | +| `body` | Request Body Contents | _string_ | | +| `templateBody` | If true the `body` field will be templated using go templates these [variables](#templateVariables) will be available | boo; | | +| `responseCodes` | Expected response codes for the HTTP Request. | _[]int_ | | +| `responseContent` | Exact response content expected to be returned by the endpoint. | _string_ | | +| `thresholdMillis` | Maximum duration in milliseconds for the HTTP request. It will fail the check if it takes longer. | _int_ | | +| `maxSSLExpiry` | Maximum number of days until the SSL Certificate expires. | _int_ | | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | Path of existing connection e.g. `connection://http/instance`
Mutually exclusive with `username`, `password`
| _Connections_ | | +| `username` | Mutually exclusive with `connection` | _EnvVar_ | | +| `password` | Mutually exclusive with `connection` | _EnvVar_ | | +| **`url`** | HTTP URL, if a URL is specified on both the connection and check, the url on the check takes precedence. | _string_ | Yes | +| `ntlm` | When true will do authentication using NTLM v1 protocol | _bool_ | | +| `ntlmv2` | When true will do authentication using NTLM v2 protocol | _bool_ | | ### Result Variables @@ -114,7 +114,7 @@ spec: value: secret_path ``` -See [Escaping variables](../scripting/gotemplate#escaping) +See Escaping variables ## Metrics diff --git a/canary-checker/docs/reference/restic.mdx b/canary-checker/docs/reference/restic.mdx index 3859d0c2..0890bbf2 100644 --- a/canary-checker/docs/reference/restic.mdx +++ b/canary-checker/docs/reference/restic.mdx @@ -55,10 +55,10 @@ spec: | `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | | `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | | **Encryption Connection** | | | | -| `connection` | Path of an existing connection to get the encryption key e.g., `connection://restic/key`
Mutually exclusive with `password`
| [Connection](../concepts/connections) | | +| `connection` | Path of an existing connection to get the encryption key e.g., `connection://restic/key`
Mutually exclusive with `password`
| _Connections_ | | | `password` | Mutually exclusive with `connection` | *EnvVar* | Yes | | **AWS Connection** | | | | -| `awsConnectionName` | Path of an existing connection to connect to S3 e.g., `connection://aws/instance`
Mutually exclusive with `accessKey`
| [Connection](../concepts/connections) | | +| `awsConnectionName` | Path of an existing connection to connect to S3 e.g., `connection://aws/instance`
Mutually exclusive with `accessKey`
| _Connections_ | | | `accessKey` | Mutually exclusive with `awsConnectionName` | *EnvVar* | Yes | | `secretKey` | Mutually exclusive with `awsConnectionName` | *EnvVar* | Yes | | `endpoint` | Custom AWS Config endpoint | `string` | | diff --git a/canary-checker/docs/reference/s3-bucket.mdx b/canary-checker/docs/reference/s3-bucket.mdx index 2ec21c90..a09998b0 100644 --- a/canary-checker/docs/reference/s3-bucket.mdx +++ b/canary-checker/docs/reference/s3-bucket.mdx @@ -1,15 +1,16 @@ --- title: S3 Bucket --- + # S3 Bucket Checks the contents of a S3 bucket for size, age and count. -See [Folder](../reference/folder) for a full description. +See [Folder](./folder.mdx) for a full description. :::info - This check looks at the contents of an S3 bucket, to verify that an S3 compatible - object storage endpoint is functioning correctly use: [S3 Protocol](s3-protocol) +This check looks at the contents of an S3 bucket, to verify that an S3 compatible +object storage endpoint is functioning correctly use: [S3 Protocol](s3-protocol) ::: ```yaml title="folder-check.yaml" @@ -26,12 +27,12 @@ spec: minCount: 10 ``` -| Field | Description | Scheme | Required | -| ---------- | ---------------------------------------------------------- | --------------------- | -------- | -| **`name`** | Name of the check | *string* | Yes | -| **`path`** | A path to a S3 bucket and folder e.g. `s3://bucket/folder` | string | Yes | -| `awsConnection` | AWS Access credentials | [AWSConnection](#aws-connection) | | -| `*` | All other fields available in the folder check | [*Folder*](folder) | | +| Field | Description | Scheme | Required | +| --------------- | ---------------------------------------------------------- | ------------------------------------------------- | -------- | +| **`name`** | Name of the check | _string_ | Yes | +| **`path`** | A path to a S3 bucket and folder e.g. `s3://bucket/folder` | string | Yes | +| `awsConnection` | AWS Access credentials | [AWSConnection](./connections.mdx#aws-connection) | | +| `*` | All other fields available in the folder check | [_Folder_](./folder.mdx) | | ### Connecting to AWS @@ -40,57 +41,46 @@ There are 3 options when connecting to AWS: 1. An AWS [instance profile](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) or [pod identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-configuration.html) (the default if no `connection` or `accessKey` is specified) 2. `connection`, this is the recommended method, connections are reusable and secure - ```yaml title="aws-connection.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: aws-config-rule - spec: - interval: 30 - folder: - - path: s3://some-bucket/folder - awsConnection: - connection: connection://aws/s3 - name: folder-check-min - minCount: 10 - description: Checks if there are at least 10 files in the folder - - ``` - -3. `accessKey` and `secretKey` *EnvVar* with the credentials stored in a secret. - - ```yaml title="aws.yaml" - apiVersion: canaries.flanksource.com/v1 - kind: Canary - metadata: - name: s3-bucket - spec: - interval: 30 - folder: - - path: s3://some-bucket/folder - name: folder-check-min - minCount: 10 - description: Checks if there are at least 10 files in the folder - awsConnection: - accessKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_ACCESS_KEY_ID - secretKey: - valueFrom: - secretKeyRef: - name: aws-credentials - key: AWS_SECRET_ACCESS_KEY - region: us-east-1 + ```yaml title="aws-connection.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: aws-config-rule + spec: + interval: 30 + folder: + - path: s3://some-bucket/folder + awsConnection: + connection: connection://aws/s3 + name: folder-check-min + minCount: 10 + description: Checks if there are at least 10 files in the folder + ``` -### AWS connection fields +3. `accessKey` and `secretKey` _EnvVar_ with the credentials stored in a secret. -| Field | Description | Scheme | Required | -| --------------- | ------------------------------------------------------------ | ------------------------------------------------- | -------- | -| `connection` | Path of existing connection e.g. `connection://aws/instance`
Mutually exclusive with `accessKey` and `secretKey`
| [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `endpoint` | Custom AWS endpoint | *string* | | -| `region` | AWS region | *string* | Yes | -| `skipTLSVerify` | Skip TLS verify when connecting to aws | *bool* | | + ```yaml title="aws.yaml" + apiVersion: canaries.flanksource.com/v1 + kind: Canary + metadata: + name: s3-bucket + spec: + interval: 30 + folder: + - path: s3://some-bucket/folder + name: folder-check-min + minCount: 10 + description: Checks if there are at least 10 files in the folder + awsConnection: + accessKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_ACCESS_KEY_ID + secretKey: + valueFrom: + secretKeyRef: + name: aws-credentials + key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + ``` diff --git a/canary-checker/docs/reference/s3-protocol.mdx b/canary-checker/docs/reference/s3-protocol.mdx index 8989786c..20e1ff71 100644 --- a/canary-checker/docs/reference/s3-protocol.mdx +++ b/canary-checker/docs/reference/s3-protocol.mdx @@ -13,9 +13,9 @@ a S3 bucket use: [S3 Bucket](s3-bucket) The S3 check: -* Lists objects in the bucket to check for Read permissions -* Puts an object into the bucket for Write permissions -* Downloads previously uploaded object to check for Get permissions +- Lists objects in the bucket to check for Read permissions +- Puts an object into the bucket for Write permissions +- Downloads previously uploaded object to check for Get permissions ```yaml apiVersion: canaries.flanksource.com/v1 @@ -41,22 +41,22 @@ spec: key: AWS_SECRET_ACCESS_KEY ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`bucket`** | Bucket name to test against | [*Bucket*](#bucket) | Yes | -| **`objectPath`** | Path to create a test object e.g. `s3-dummy/` | *string* | Yes | -| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | -| `description` | Description for the check | `string` | | -| `icon` | Icon for overwriting default icon on the dashboard | `string` | | -| `labels` | Labels for check | `map[string]string` | | -| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | -| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | -| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | -| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | -| **Connection** | | | | -| `connection` | Path of existing connection e.g. `connection://aws/instance`. Mutually exclusive with `accessKey` and `secretKey`
| [Connection](../concepts/connections) | | -| `accessKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `secretKey` | Mutually exclusive with `connection` | *EnvVar* | Yes | -| `endpoint` | Custom AWS endpoint | *string* | | -| `region` | AWS region | *string* | Yes | -| `skipTLSVerify` | Skip TLS verify when connecting to aws | *bool* | | +| Field | Description | Scheme | Required | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | +| **`bucket`** | Bucket name to test against | _string_ | Yes | +| **`objectPath`** | Path to create a test object e.g. `s3-dummy/` | _string_ | Yes | +| **`name`** | Name of the check, must be unique within the canary | `string` | Yes | +| `description` | Description for the check | `string` | | +| `icon` | Icon for overwriting default icon on the dashboard | `string` | | +| `labels` | Labels for check | `map[string]string` | | +| `test` | Evaluate whether a check is healthy | [`Expression`](../concepts/health-evaluation) | | +| `display` | Expression to change the formatting of the display | [`Expression`](../concepts/display-formatting) | | +| `transform` | Transform data from a check into multiple individual checks | [`Expression`](../concepts/transforms) | | +| `metrics` | Metrics to export from | [`[]Metrics`](../concepts/metrics-exporter) | | +| **Connection** | | | | +| `connection` | Path of existing connection e.g. `connection://aws/instance`. Mutually exclusive with `accessKey` and `secretKey`
| _Connections_ | | +| `accessKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `secretKey` | Mutually exclusive with `connection` | _EnvVar_ | Yes | +| `endpoint` | Custom AWS endpoint | _string_ | | +| `region` | AWS region | _string_ | Yes | +| `skipTLSVerify` | Skip TLS verify when connecting to aws | _bool_ | | diff --git a/canary-checker/docs/reference/smb.mdx b/canary-checker/docs/reference/smb.mdx index 2e1ad070..7eda9f21 100644 --- a/canary-checker/docs/reference/smb.mdx +++ b/canary-checker/docs/reference/smb.mdx @@ -32,19 +32,19 @@ spec: minAge: 10h ``` -| Field | Description | Scheme | Required | -| ----- | ----------- | ------ | -------- | -| **`name`** | Name of the check | *string* | Yes | -| **`path`** | A path to a shared windows folder e.g. `smb://host/folder` | string | Yes | -| `smbConnection` | SMB connection details | [SMBConnection](#smb-connection) | | -| `*` | All other fields available in the folder check | [*Folder*](folder) | | +| Field | Description | Scheme | Required | +| --------------- | ---------------------------------------------------------- | -------------------------------- | -------- | +| **`name`** | Name of the check | _string_ | Yes | +| **`path`** | A path to a shared windows folder e.g. `smb://host/folder` | string | Yes | +| `smbConnection` | SMB connection details | [SMBConnection](#smb-connection) | | +| `*` | All other fields available in the folder check | [_Folder_](folder) | | ## SMB Connection -| Field | Description | Scheme | -| ------------ | ------------------------------------------------------------ | ------------------------------------------------- | -| `connection` | Path of existing connection e.g. `connection://windows/svc-account`
Mutually exclusive with`username` and `password`
| [Connection](../concepts/connections) | -| `username` | Mutually exclusive with `connection` | *EnvVar* | -| `password` | Mutually exclusive with `connection` | *EnvVar* | -| `domain` | Windows domain name | *string* | -| `port` | Default to `445` | *int* | +| Field | Description | Scheme | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------- | +| `connection` | Path of existing connection e.g. `connection://windows/svc-account`
Mutually exclusive with`username` and `password`
| _Connections_ | +| `username` | Mutually exclusive with `connection` | _EnvVar_ | +| `password` | Mutually exclusive with `connection` | _EnvVar_ | +| `domain` | Windows domain name | _string_ | +| `port` | Default to `445` | _int_ | diff --git a/canary-checker/docusaurus.config.js b/canary-checker/docusaurus.config.js index 55ef5603..e473f57a 100644 --- a/canary-checker/docusaurus.config.js +++ b/canary-checker/docusaurus.config.js @@ -18,8 +18,11 @@ const config = { links: { "authentication": '/concepts/secret-management', "secrets": '/concepts/secret-management', - "connection": '/concepts/authentication', - "cel": "/scripting/cel" + "connection": '/concepts/connection', // TODO: + "cel": "/scripting/cel", + "gotemplate": "/scripting/gotemplate", + "javascript": '/scripting/javascript', + "jsonpath": 'https://jsonpath.com/' } }, markdown: { diff --git a/canary-checker/sidebars.js b/canary-checker/sidebars.js index ec448479..8314ac3f 100644 --- a/canary-checker/sidebars.js +++ b/canary-checker/sidebars.js @@ -360,7 +360,6 @@ module.exports = { } ] }, - { type: 'category', label: 'Comparisons', @@ -371,6 +370,22 @@ module.exports = { label: 'Blackbox Exporter' } ] + }, + { + type: 'category', + label: 'References', + items: [ + { + type: 'doc', + id: 'reference/canary-spec', + label: 'Canary Spec' + }, + { + type: 'doc', + id: 'reference/connections', + label: 'Cloud Connections' + } + ] } ] } diff --git a/mission-control/docs/topology/references/http.md b/mission-control/docs/topology/references/http.md index 97c4bbaa..5d0463c1 100644 --- a/mission-control/docs/topology/references/http.md +++ b/mission-control/docs/topology/references/http.md @@ -38,7 +38,7 @@ This topology will create a root **"users"** component with all the users return | Field | Description | Scheme | Required | | -------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | | **Connection** | | | | -| `connection` | Path of existing connection e.g. `connection://sftp/instance`/ Mutually exclusive with `username`, `password` | _Connection_ | | +| `connection` | Path of existing connection e.g. `connection://sftp/instance`/ Mutually exclusive with `username`, `password` | _Connections_ | | | `username` | Mutually exclusive with `connection` | [_EnvVar_](../../concepts/authentication/#envvar) | | | `password` | Mutually exclusive with `connection` | [_EnvVar_](../../concepts/authentication/#envvar) | | | **`url`** | HTTP URL, if a URL is specified on both the connection and check, the URL on the check takes precedence. | _string_ | Yes | diff --git a/mission-control/docs/topology/references/mongo.md b/mission-control/docs/topology/references/mongo.md index 3aa1609e..34567a4d 100644 --- a/mission-control/docs/topology/references/mongo.md +++ b/mission-control/docs/topology/references/mongo.md @@ -55,5 +55,5 @@ spec: | Field | Description | Scheme | Required | | -------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -------- | -| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | [_kommons.EnvVar_](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | -| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | [_kommons.EnvVar_](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | +| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | +| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | diff --git a/mission-control/docs/topology/references/redis.md b/mission-control/docs/topology/references/redis.md index 2a422216..8656a3ae 100644 --- a/mission-control/docs/topology/references/redis.md +++ b/mission-control/docs/topology/references/redis.md @@ -41,5 +41,5 @@ spec: | Field | Description | Scheme | Required | | -------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -------- | -| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | [_kommons.EnvVar_](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | -| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | [_kommons.EnvVar_](https://pkg.go.dev/github.com/flanksource/kommons#EnvVar) | Yes | +| **`password`** | Set password for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | +| **`username`** | Set username for authentication using string, configMapKeyRef, or SecretKeyRef. | *EnvVar* | Yes | diff --git a/mission-control/docusaurus.config.js b/mission-control/docusaurus.config.js index 27c08b51..9c6638b9 100644 --- a/mission-control/docusaurus.config.js +++ b/mission-control/docusaurus.config.js @@ -26,8 +26,10 @@ const config = { links: { authentication: '/reference/secret-management', secrets: '/reference/secret-management', - connection: '/reference/authentication', + connection: '/reference/connection', cel: '/reference/scripting/cel', + gotemplate: '/reference/scripting/gotemplate', + javascript: '/reference/scripting/javascript', jsonpath: 'https://jsonpath.com/' } }, diff --git a/mission-control/sidebars.js b/mission-control/sidebars.js index 013987a9..2e90c6db 100644 --- a/mission-control/sidebars.js +++ b/mission-control/sidebars.js @@ -70,7 +70,7 @@ const sidebars = { link: { type: 'generated-index', title: 'Expressions', - slug: '/concepts/expressions' + slug: '/canary-checker/concepts/expressions' }, items: [ { @@ -325,7 +325,6 @@ const sidebars = { } ] }, - { type: 'category', label: 'Comparisons', @@ -336,6 +335,22 @@ const sidebars = { label: 'Blackbox Exporter' } ] + }, + { + type: 'category', + label: 'References', + items: [ + { + type: 'doc', + id: 'canary-checker/reference/canary-spec', + label: 'Canary Spec' + }, + { + type: 'doc', + id: 'canary-checker/reference/connections', + label: 'Cloud Connections' + } + ] } ], configdbSidebar: [