@silentjma/n8n-nodes-unraid 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +2 -2
- package/dist/credentials/UnraidApi.credentials.js +12 -4
- package/dist/lib/client.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to this package. Versions follow [semver](https://semver.org
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.1.2 - 2026-10-26
|
|
8
|
+
|
|
9
|
+
Fixes n8n Creator Portal vetting ("Can't find credential file in repo").
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Sources moved to n8n's standard layout: `credentials/`, `nodes/` and `lib/` at the repo root, no longer under `src/`. n8n's tools map `package.json`'s `dist/credentials/X.js` to `credentials/X.ts` in the repo. The published files and their `dist/` paths are unchanged.
|
|
13
|
+
- The credential's *Ignore SSL Issues* field is now named `ignoreSslIssues`. n8n's lint rules treat any field name containing "cert" as a secret. Credentials saved with the old `allowUnauthorizedCerts` field keep working: it is still declared (hidden) and still read.
|
|
14
|
+
- `npm run lint` no longer needs exemptions for n8n's `no-credential-reuse` and `credential-password-field` rules.
|
|
15
|
+
|
|
7
16
|
## 0.1.1 - 2026-10-26
|
|
8
17
|
|
|
9
18
|
Passes n8n's community package scanner (`npx @n8n/scan-community-package @silentjma/n8n-nodes-unraid`).
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Unofficial n8n community nodes for the [Unraid API](https://docs.unraid.net/API/
|
|
|
10
10
|
- **Unraid**: an action node for System, Array, Disk, Share, Docker Container, Virtual Machine, Log File and Notification, plus a Custom GraphQL operation.
|
|
11
11
|
- **Unraid Trigger**: a polling trigger for new log lines (syslog or a container log), health problems, notifications, container state changes and container updates.
|
|
12
12
|
|
|
13
|
-
Both nodes use the same built-in rules ([
|
|
13
|
+
Both nodes use the same built-in rules ([lib/analysis.ts](lib/analysis.ts)). The rules tag log lines and health findings as `info`, `warning` or `critical` and attach **suggested next steps**.
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
@@ -133,7 +133,7 @@ npm run build && npm run lint && npm run typecheck && npm test
|
|
|
133
133
|
npm pack # -> silentjma-n8n-nodes-unraid-0.1.0.tgz
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
The queries in [
|
|
136
|
+
The queries in [lib/queries.ts](lib/queries.ts) are written against `api/generated-schema.graphql` from the unraid/api repository. Check them again when Unraid changes the schema.
|
|
137
137
|
|
|
138
138
|
## Support and contributing
|
|
139
139
|
|
|
@@ -25,15 +25,23 @@ class UnraidApi {
|
|
|
25
25
|
required: true,
|
|
26
26
|
description: 'Created in Settings › Management Access › API Keys (or "unraid-api apikey --create"). Docker updates, array and VM control need the admin role.',
|
|
27
27
|
},
|
|
28
|
-
// A boolean switch, not a secret: the rule matches "cert" in the name. Renaming it would reset saved credentials.
|
|
29
|
-
// eslint-disable-next-line @n8n/community-nodes/credential-password-field
|
|
30
28
|
{
|
|
31
29
|
displayName: 'Ignore SSL Issues',
|
|
32
|
-
name: '
|
|
30
|
+
name: 'ignoreSslIssues',
|
|
33
31
|
type: 'boolean',
|
|
34
32
|
default: false,
|
|
35
33
|
description: 'Whether to connect even if the server uses a self-signed or otherwise invalid certificate (the default for Unraid on a LAN IP)',
|
|
36
34
|
},
|
|
35
|
+
// Pre-0.1.2 name of "Ignore SSL Issues". Kept hidden so credentials saved with it keep working:
|
|
36
|
+
// n8n only loads stored values for declared fields. The password option satisfies n8n's name-based
|
|
37
|
+
// lint rule (the name contains "cert"); it has no effect on a hidden field.
|
|
38
|
+
{
|
|
39
|
+
displayName: 'Ignore SSL Issues (Legacy)',
|
|
40
|
+
name: 'allowUnauthorizedCerts',
|
|
41
|
+
type: 'hidden',
|
|
42
|
+
typeOptions: { password: true },
|
|
43
|
+
default: false,
|
|
44
|
+
},
|
|
37
45
|
];
|
|
38
46
|
authenticate = {
|
|
39
47
|
type: 'generic',
|
|
@@ -48,7 +56,7 @@ class UnraidApi {
|
|
|
48
56
|
baseURL: '={{$credentials.serverUrl.replace(/\\/+$/, "")}}',
|
|
49
57
|
url: '/graphql',
|
|
50
58
|
method: 'POST',
|
|
51
|
-
skipSslCertificateValidation: '={{$credentials.allowUnauthorizedCerts}}',
|
|
59
|
+
skipSslCertificateValidation: '={{$credentials.ignoreSslIssues === true || $credentials.allowUnauthorizedCerts === true}}',
|
|
52
60
|
headers: { 'Content-Type': 'application/json' },
|
|
53
61
|
body: { query: '{ online info { os { hostname } } }' },
|
|
54
62
|
},
|
package/dist/lib/client.js
CHANGED
|
@@ -16,7 +16,8 @@ async function unraidGraphql(query, variables = {}) {
|
|
|
16
16
|
headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
|
|
17
17
|
body: { query, variables },
|
|
18
18
|
json: true,
|
|
19
|
-
|
|
19
|
+
// allowUnauthorizedCerts: the field's name before 0.1.2, still set on older saved credentials.
|
|
20
|
+
skipSslCertificateValidation: credentials.ignoreSslIssues === true || credentials.allowUnauthorizedCerts === true,
|
|
20
21
|
}));
|
|
21
22
|
}
|
|
22
23
|
catch (error) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silentjma/n8n-nodes-unraid",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Unofficial n8n community nodes for the Unraid GraphQL API: Docker, array, VMs, logs, notifications and a polling trigger for log/alert watching.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|