Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .claude/skills/build-plugin/references/ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,7 @@ A **data stream** has its own `ui` array — the **tile-editor parameters** show
}
```

**`ignoreCertificateErrors`** — don't add this. The platform adds an "Ignore certificate errors" toggle to every plugin built on WebAPI, and passes the value to the WebAPI base plugin, so you don't need a ui.json field or a `base.config` mapping.

Declaring a field named `ignoreCertificateErrors`, or setting the key in `base.config`, stops the platform adding its toggle. This only hides the option on the form: a value the user supplies (for example through the API) still overrides `base.config`. So only do it for an API where offering the option makes no sense:
**`ignoreCertificateErrors`** — don't add this. The platform adds an "Ignore certificate errors" toggle to every plugin built on WebAPI, and passes the value to the WebAPI base plugin, so you don't need a ui.json field or a `base.config` mapping. Declaring a field named `ignoreCertificateErrors`, or setting the key in `base.config`, stops the platform adding its toggle. This only hides the option on the form: a value the user supplies (for example through the API) still overrides `base.config`. So only do it for an API where offering the option makes no sense:

```json
"base": {
Expand Down
1 change: 1 addition & 0 deletions REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ When suggesting changes:

- Generally prefer API tokens or OAuth where possible, flag usage of username/password unless the API offers no alternative.
- Check that only strictly required fields are marked as `required: true`. Advanced options should never block first-time success.
- Flag any field named `ignoreCertificateErrors`, and any `ignoreCertificateErrors` mapping in `base.config` in metadata.json. The platform adds this toggle to every plugin built on WebAPI. The only exception is a literal `false` in `base.config`, which deliberately hides it.
Comment thread
clarkd marked this conversation as resolved.
- For each field in the array:
- displayName - First word uppercase, then lowercase (e.g. “Table name", or "API key"). Single value: singular. Multiple values: “(s)" (e.g. Tables name(s)). Do not use “you" “Your" in display names. Keep text neutral, concise, and descriptive.
- name - Should typically be the camel-cased version of the displayName.
Expand Down
4 changes: 2 additions & 2 deletions plugins/EcoStruxureIT-DCE/v1/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ You will need a Data Center Expert **user account** and network access to the se
1. Sign in to the Data Center Expert client as an administrator and create (or choose) a user for SquaredUp. Give it access to the **device groups** you want to monitor. The plugin only reads data, so a view-only user is enough.
2. Check the REST API is available by browsing to `https://<your-dce-server>/isxg/dce-rest-api.html`. You should see the **DCE REST API UI** page. Optionally, click **Authorize** and sign in with the new user to confirm the credentials work.
3. In SquaredUp, enter the server address in **Server URL**, and the user's credentials in **Username** and **Password**.
4. If the server uses a self-signed certificate (the default for Data Center Expert), tick **Ignore certificate errors**.
4. If the server uses a self-signed certificate (the default for Data Center Expert), turn on **Ignore certificate errors**.

## Configuration fields

Expand All @@ -18,7 +18,7 @@ You will need a Data Center Expert **user account** and network access to the se
| **Server URL** | Address of the Data Center Expert server, for example `https://dce.example.com`. The `/isxg` REST API path is added automatically. | The address you use to open the Data Center Expert web interface. | Yes |
| **Username** | Data Center Expert user the plugin signs in as. | Data Center Expert client → user management. | Yes |
| **Password** | Password for that user. | Set when the user is created. | Yes |
| **Ignore certificate errors** | Skips HTTPS certificate checks. | Tick this when the server uses a self-signed certificate. | No |
| **Ignore certificate errors** | Skips HTTPS certificate checks. | Turn this on when the server uses a self-signed certificate. | No |
| **OAuth client ID** | OAuth client sent when requesting an access token. Leave blank unless sign-in fails (see below). | See [If sign-in fails](#if-sign-in-fails). | No |
| **OAuth client secret** | Secret for the OAuth client above. | See [If sign-in fails](#if-sign-in-fails). | No |

Expand Down
3 changes: 1 addition & 2 deletions plugins/EcoStruxureIT-DCE/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ecostruxure-it-dce",
"displayName": "EcoStruxure IT Data Center Expert",
"version": "1.0.0",
"version": "1.0.1",
"author": {
"name": "@shawn149",
"type": "community"
Expand Down Expand Up @@ -55,7 +55,6 @@
"oauth2Scope": "",
"oauth2TokenExtraArgs": [],
"oauth2TokenExtraHeaders": [],
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}",
"headers": [
Comment thread
clarkd marked this conversation as resolved.
{
"key": "Accept",
Expand Down
6 changes: 0 additions & 6 deletions plugins/EcoStruxureIT-DCE/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,6 @@
"required": true
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable when the Data Center Expert server uses a self-signed certificate."
},
{
"type": "fieldGroup",
"name": "advanced",
Expand Down
5 changes: 2 additions & 3 deletions plugins/Healthchecks.io/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "healthchecks-io",
"displayName": "Healthchecks.io",
"version": "1.0.0",
"version": "1.0.1",
"author": {
"name": "@adamkinniburgh",
"type": "community"
Expand Down Expand Up @@ -52,8 +52,7 @@
"value": "application/json"
}
],
"queryArgs": [],
"ignoreCertificateErrors": "{{ typeof ignoreCertificateErrors !== 'undefined' && ignoreCertificateErrors === true }}"
"queryArgs": []
}
}
}
7 changes: 0 additions & 7 deletions plugins/Healthchecks.io/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,5 @@
"message": "Enter the full address of the Healthchecks instance, e.g. https://healthchecks.example.com"
}
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"defaultValue": false,
"help": "Enable when connecting to a self-hosted instance that uses a self-signed or private CA certificate."
}
]
5 changes: 2 additions & 3 deletions plugins/Ivanti-ITSM/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ivanti-itsm",
"displayName": "Ivanti ITSM",
"version": "1.0.0",
"version": "1.0.1",
"author": {
"name": "@shawn149",
"type": "community"
Expand Down Expand Up @@ -58,8 +58,7 @@
"value": "application/json"
}
],
"queryArgs": [],
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}"
"queryArgs": []
}
}
}
6 changes: 0 additions & 6 deletions plugins/Ivanti-ITSM/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,6 @@
"label": "Configuration item filter",
"placeholder": "Status eq 'Active'",
"help": "Narrows which configuration items are imported, using the OData `$filter` syntax. Leave empty to import the whole CMDB."
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable only for an on-premises instance presenting a self-signed or otherwise untrusted certificate."
}
]
}
Expand Down
5 changes: 2 additions & 3 deletions plugins/Jaeger/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "jaeger",
"displayName": "Jaeger",
"version": "1.1.0",
"version": "1.1.1",
"author": {
"name": "SquaredUp Labs",
"type": "labs"
Expand Down Expand Up @@ -47,8 +47,7 @@
"config": {
"headers": [],
"authMode": "none",
"baseUrl": "{{url}}",
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}"
"baseUrl": "{{url}}"
}
}
}
7 changes: 0 additions & 7 deletions plugins/Jaeger/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,6 @@
"required": true
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"defaultValue": false,
"help": "Enable when connecting to a Jaeger instance that uses a self-signed certificate."
},
{
"type": "radio",
"name": "dependencyStorage",
Expand Down
2 changes: 1 addition & 1 deletion plugins/Kubernetes/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "kubernetes",
"displayName": "Kubernetes",
"version": "1.0.0",
"version": "1.0.1",
"author": {
"name": "SquaredUp Labs",
"type": "labs"
Expand Down
6 changes: 0 additions & 6 deletions plugins/Kubernetes/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,5 @@
"validation": {
"required": true
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable when connecting to a cluster with a self-signed API server certificate (e.g. a local kind/minikube cluster)."
}
]
2 changes: 1 addition & 1 deletion plugins/NetBox/v1/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The token inherits the permissions of the user that owns it. Objects the user ca
| **Token version** | The NetBox API token format. **v2** sends `Authorization: Bearer nbt_<key>.<token>`. **v1** sends `Authorization: Token <token>`. | v2 tokens require NetBox 4.5 or later. | Yes |
| **Token** | The API token. For v2, paste the full value NetBox shows (`Bearer nbt_<key>.<secret>`). The `Bearer` prefix is optional. For v1, paste the 40-character token. | NetBox → user menu → **API Tokens**. | Yes |
| **Key** | The public key of a v2 token. Only needed if **Token** contains just the secret, without the `nbt_<key>.` prefix. Shown only when **Token version** is v2. | NetBox → user menu → **API Tokens**. | No |
| **Ignore certificate errors** | Skips TLS certificate validation. Only tick this for self-managed instances that use a self-signed or private CA certificate (common on new NetBox Enterprise installs). | n/a | No |
| **Ignore certificate errors** | Skips TLS certificate validation. Only turn this on for self-managed instances that use a self-signed or private CA certificate (common on new NetBox Enterprise installs). | n/a | No |

When you save, the plugin checks two things:
1. It calls the NetBox status endpoint. A failure here means the address is unreachable, the token is invalid, expired or disabled, or the token's **Allowed IPs** blocks SquaredUp.
Expand Down
5 changes: 2 additions & 3 deletions plugins/NetBox/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "netbox",
"displayName": "NetBox",
"version": "1.0.0",
"version": "1.0.1",
"author": {
"name": "@shawn149",
"type": "community"
Expand Down Expand Up @@ -62,8 +62,7 @@
"value": "application/json"
}
],
"queryArgs": [],
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}"
"queryArgs": []
}
}
}
6 changes: 0 additions & 6 deletions plugins/NetBox/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,5 @@
"validation": { "required": true }
}
]
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable when connecting to a self-managed NetBox instance that uses a self-signed or private CA certificate."
}
]
5 changes: 2 additions & 3 deletions plugins/OpenSearch/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "open-search",
"displayName": "OpenSearch",
"version": "1.0.4",
"version": "1.0.5",
"author": {
"name": "SquaredUp Labs",
"type": "labs"
Expand All @@ -26,8 +26,7 @@
"value": "application/json"
}
],
"baseUrl": "{{instanceUrl}}",
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}"
"baseUrl": "{{instanceUrl}}"
}
},
"links": [
Expand Down
6 changes: 0 additions & 6 deletions plugins/OpenSearch/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,5 @@
"placeholder": "Enter a password"
}
]
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Ignore certificate errors when connecting to an OpenSearch instance with a self-signed certificate"
}
]
2 changes: 1 addition & 1 deletion plugins/ProxmoxVE/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "proxmox-ve",
"displayName": "Proxmox VE",
"version": "1.3.1",
"version": "1.3.2",
"author": { "name": "@iBePixel", "type": "community" },
"description": "Monitor your Proxmox VE cluster and Proxmox Backup Server — import nodes, VMs, containers, backup datastores, and backup groups, and track resource utilisation and backup health.",
"category": "Infrastructure",
Expand Down
6 changes: 0 additions & 6 deletions plugins/ProxmoxVE/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@
"placeholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"validation": { "required": true }
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable when connecting to a Proxmox VE instance with a self-signed certificate."
},
{
"type": "toggle",
"name": "monitorBackupServer",
Expand Down
2 changes: 1 addition & 1 deletion plugins/TeamDynamix/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "teamdynamix",
"displayName": "TeamDynamix",
"version": "1.0.2",
"version": "1.0.3",
"author": {
"name": "@shawn149",
"type": "community"
Expand Down
6 changes: 0 additions & 6 deletions plugins/TeamDynamix/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,6 @@
"max": 10000,
"valueAsNumber": true
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable only if the Web API endpoint presents a self-signed or otherwise untrusted certificate. A self-hosted instance can still have a properly trusted certificate and should not need this."
}
]
}
Expand Down
3 changes: 1 addition & 2 deletions plugins/VeeamBackupReplication/v1/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "veeam-backup-replication",
"displayName": "Veeam Backup & Replication",
"version": "1.0.1",
"version": "1.0.2",
"author": {
"name": "SquaredUp Labs",
"type": "labs"
Expand Down Expand Up @@ -39,7 +39,6 @@
"oauth2PasswordGrantUserName": "{{username}}",
"oauth2PasswordGrantPassword": "{{password}}",
"oauth2Scope": "",
"ignoreCertificateErrors": "{{ignoreCertificateErrors}}",
"oauth2TokenExtraHeaders": [
{
"key": "x-api-version",
Expand Down
6 changes: 0 additions & 6 deletions plugins/VeeamBackupReplication/v1/ui.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,5 @@
{ "value": "1.1-rev0", "label": "1.1-rev0 (Veeam 12.0)" }
]
}
},
{
"type": "checkbox",
"name": "ignoreCertificateErrors",
"label": "Ignore certificate errors",
"help": "Enable when connecting to a server that uses a self-signed certificate."
}
]
Loading