Commit e164a6fb4b70d3ac07242a271210942c3baf0eb2
1 parent
2c8d7bfa13
Exists in
master
Add sd-notify wrapper
Showing 3 changed files with 78 additions and 0 deletions Side-by-side Diff
package-lock.json
... | ... | @@ -28,6 +28,7 @@ |
28 | 28 | "pkginfo": "^0.4.1", |
29 | 29 | "redis": "^3.1.2", |
30 | 30 | "request": "^2.88.2", |
31 | + "sd-notify": "*", | |
31 | 32 | "sha1": "^1.1.1", |
32 | 33 | "simple-git": "^1.80.1", |
33 | 34 | "stack-trace": "0.0.10", |
... | ... | @@ -43,6 +44,9 @@ |
43 | 44 | "eslint": "^8.6.0", |
44 | 45 | "eslint-config-airbnb-base": "^15.0.0", |
45 | 46 | "eslint-plugin-import": "^2.25.4" |
47 | + }, | |
48 | + "optionalDependencies": { | |
49 | + "sd-notify": "^2.8.0" | |
46 | 50 | } |
47 | 51 | }, |
48 | 52 | "node_modules/@cloudcmd/copy-file": { |
... | ... | @@ -482,6 +486,15 @@ |
482 | 486 | "tweetnacl": "^0.14.3" |
483 | 487 | } |
484 | 488 | }, |
489 | + "node_modules/bindings": { | |
490 | + "version": "1.5.0", | |
491 | + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", | |
492 | + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", | |
493 | + "optional": true, | |
494 | + "dependencies": { | |
495 | + "file-uri-to-path": "1.0.0" | |
496 | + } | |
497 | + }, | |
485 | 498 | "node_modules/body-parser": { |
486 | 499 | "version": "1.18.2", |
487 | 500 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", |
... | ... | @@ -1497,6 +1510,12 @@ |
1497 | 1510 | "moment": "^2.11.2" |
1498 | 1511 | } |
1499 | 1512 | }, |
1513 | + "node_modules/file-uri-to-path": { | |
1514 | + "version": "1.0.0", | |
1515 | + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", | |
1516 | + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", | |
1517 | + "optional": true | |
1518 | + }, | |
1500 | 1519 | "node_modules/finalhandler": { |
1501 | 1520 | "version": "1.1.2", |
1502 | 1521 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", |
... | ... | @@ -2967,6 +2986,24 @@ |
2967 | 2986 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
2968 | 2987 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
2969 | 2988 | }, |
2989 | + "node_modules/sd-notify": { | |
2990 | + "version": "2.8.0", | |
2991 | + "resolved": "https://registry.npmjs.org/sd-notify/-/sd-notify-2.8.0.tgz", | |
2992 | + "integrity": "sha512-e+D1v0Y6UzmqXcPlaTkHk1QMdqk36mF/jIYv5gwry/N2Tb8/UNnpfG6ktGLpeBOR6TCC5hPKgqA+0hTl9sm2tA==", | |
2993 | + "hasInstallScript": true, | |
2994 | + "optional": true, | |
2995 | + "os": [ | |
2996 | + "linux", | |
2997 | + "darwin", | |
2998 | + "win32" | |
2999 | + ], | |
3000 | + "dependencies": { | |
3001 | + "bindings": "1.5.0" | |
3002 | + }, | |
3003 | + "engines": { | |
3004 | + "node": ">=8.0.0" | |
3005 | + } | |
3006 | + }, | |
2970 | 3007 | "node_modules/semver": { |
2971 | 3008 | "version": "6.3.0", |
2972 | 3009 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |
... | ... | @@ -4044,6 +4081,15 @@ |
4044 | 4081 | "tweetnacl": "^0.14.3" |
4045 | 4082 | } |
4046 | 4083 | }, |
4084 | + "bindings": { | |
4085 | + "version": "1.5.0", | |
4086 | + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", | |
4087 | + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", | |
4088 | + "optional": true, | |
4089 | + "requires": { | |
4090 | + "file-uri-to-path": "1.0.0" | |
4091 | + } | |
4092 | + }, | |
4047 | 4093 | "body-parser": { |
4048 | 4094 | "version": "1.18.2", |
4049 | 4095 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", |
... | ... | @@ -4859,6 +4905,12 @@ |
4859 | 4905 | "moment": "^2.11.2" |
4860 | 4906 | } |
4861 | 4907 | }, |
4908 | + "file-uri-to-path": { | |
4909 | + "version": "1.0.0", | |
4910 | + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", | |
4911 | + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", | |
4912 | + "optional": true | |
4913 | + }, | |
4862 | 4914 | "finalhandler": { |
4863 | 4915 | "version": "1.1.2", |
4864 | 4916 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", |
... | ... | @@ -5932,6 +5984,15 @@ |
5932 | 5984 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", |
5933 | 5985 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |
5934 | 5986 | }, |
5987 | + "sd-notify": { | |
5988 | + "version": "2.8.0", | |
5989 | + "resolved": "https://registry.npmjs.org/sd-notify/-/sd-notify-2.8.0.tgz", | |
5990 | + "integrity": "sha512-e+D1v0Y6UzmqXcPlaTkHk1QMdqk36mF/jIYv5gwry/N2Tb8/UNnpfG6ktGLpeBOR6TCC5hPKgqA+0hTl9sm2tA==", | |
5991 | + "optional": true, | |
5992 | + "requires": { | |
5993 | + "bindings": "1.5.0" | |
5994 | + } | |
5995 | + }, | |
5935 | 5996 | "semver": { |
5936 | 5997 | "version": "6.3.0", |
5937 | 5998 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |
package.json
sd-notify.js
... | ... | @@ -0,0 +1,14 @@ |
1 | +/* eslint-disable global-require */ | |
2 | +/* eslint-disable import/no-extraneous-dependencies */ | |
3 | + | |
4 | +const MODULE_NAME = 'KOMODO-SDK.SD-NOTIFY'; | |
5 | + | |
6 | +const logger = require('tektrans-logger'); | |
7 | + | |
8 | +try { | |
9 | + const notify = require('sd-notify'); | |
10 | + notify.ready(); | |
11 | + logger.info(`${MODULE_NAME} 701F8400: Systemd ready notification has been sent`); | |
12 | +} catch (e) { | |
13 | + logger.warn(`${MODULE_NAME} A6C99938: Optional dependency not found: sd-notify`); | |
14 | +} |