Commit e164a6fb4b70d3ac07242a271210942c3baf0eb2

Authored by Adhidarma Hadiwinoto
1 parent 2c8d7bfa13
Exists in master

Add sd-notify wrapper

Showing 3 changed files with 78 additions and 0 deletions Side-by-side Diff

... ... @@ -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",
... ... @@ -54,5 +54,8 @@
54 54 "eslint": "^8.6.0",
55 55 "eslint-config-airbnb-base": "^15.0.0",
56 56 "eslint-plugin-import": "^2.25.4"
  57 + },
  58 + "optionalDependencies": {
  59 + "sd-notify": "^2.8.0"
57 60 }
58 61 }
... ... @@ -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 +}