@northflank/js-client 0.4.1 → 0.5.0-beta.0

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.
Files changed (257) hide show
  1. package/dist/cjs/api-client.d.ts +6013 -0
  2. package/dist/cjs/api-client.js +1 -0
  3. package/dist/cjs/package.json +3 -0
  4. package/dist/esm/api-client.d.ts +6013 -0
  5. package/dist/esm/api-client.js +15 -0
  6. package/dist/esm/package.json +3 -0
  7. package/package.json +12 -19
  8. package/dist/api-client.d.ts +0 -481
  9. package/dist/api-client.js +0 -748
  10. package/dist/api-endpoint.d.ts +0 -63
  11. package/dist/api-endpoint.js +0 -216
  12. package/dist/context/api-client-context-provider.d.ts +0 -47
  13. package/dist/context/api-client-context-provider.js +0 -332
  14. package/dist/context/api-client-file-context-provider.d.ts +0 -11
  15. package/dist/context/api-client-file-context-provider.js +0 -138
  16. package/dist/context/api-client-in-memory-context-provider.d.ts +0 -6
  17. package/dist/context/api-client-in-memory-context-provider.js +0 -82
  18. package/dist/context/index.d.ts +0 -3
  19. package/dist/context/index.js +0 -15
  20. package/dist/endpoints/abort/addon/backup.d.ts +0 -21
  21. package/dist/endpoints/abort/addon/backup.js +0 -36
  22. package/dist/endpoints/abort/addon/restore.d.ts +0 -26
  23. package/dist/endpoints/abort/addon/restore.js +0 -36
  24. package/dist/endpoints/abort/job/build.d.ts +0 -21
  25. package/dist/endpoints/abort/job/build.js +0 -36
  26. package/dist/endpoints/abort/job/run.d.ts +0 -21
  27. package/dist/endpoints/abort/job/run.js +0 -36
  28. package/dist/endpoints/abort/service/build.d.ts +0 -21
  29. package/dist/endpoints/abort/service/build.js +0 -36
  30. package/dist/endpoints/add/domain/subdomain.d.ts +0 -33
  31. package/dist/endpoints/add/domain/subdomain.js +0 -36
  32. package/dist/endpoints/add/registryCredentials.d.ts +0 -47
  33. package/dist/endpoints/add/registryCredentials.js +0 -36
  34. package/dist/endpoints/assign/subdomain/service.d.ts +0 -28
  35. package/dist/endpoints/assign/subdomain/service.js +0 -36
  36. package/dist/endpoints/backup/addon.d.ts +0 -51
  37. package/dist/endpoints/backup/addon.js +0 -36
  38. package/dist/endpoints/create/addon.d.ts +0 -90
  39. package/dist/endpoints/create/addon.js +0 -36
  40. package/dist/endpoints/create/domain.d.ts +0 -27
  41. package/dist/endpoints/create/domain.js +0 -36
  42. package/dist/endpoints/create/job/cron.d.ts +0 -157
  43. package/dist/endpoints/create/job/cron.js +0 -36
  44. package/dist/endpoints/create/job/manual.d.ts +0 -147
  45. package/dist/endpoints/create/job/manual.js +0 -36
  46. package/dist/endpoints/create/project.d.ts +0 -29
  47. package/dist/endpoints/create/project.js +0 -36
  48. package/dist/endpoints/create/secret.d.ts +0 -79
  49. package/dist/endpoints/create/secret.js +0 -36
  50. package/dist/endpoints/create/service/build.d.ts +0 -116
  51. package/dist/endpoints/create/service/build.js +0 -36
  52. package/dist/endpoints/create/service/combined.d.ts +0 -166
  53. package/dist/endpoints/create/service/combined.js +0 -36
  54. package/dist/endpoints/create/service/deployment.d.ts +0 -137
  55. package/dist/endpoints/create/service/deployment.js +0 -36
  56. package/dist/endpoints/delete/addon.d.ts +0 -19
  57. package/dist/endpoints/delete/addon.js +0 -36
  58. package/dist/endpoints/delete/backup.d.ts +0 -21
  59. package/dist/endpoints/delete/backup.js +0 -36
  60. package/dist/endpoints/delete/domain.d.ts +0 -17
  61. package/dist/endpoints/delete/domain.js +0 -36
  62. package/dist/endpoints/delete/job.d.ts +0 -19
  63. package/dist/endpoints/delete/job.js +0 -36
  64. package/dist/endpoints/delete/project.d.ts +0 -17
  65. package/dist/endpoints/delete/project.js +0 -36
  66. package/dist/endpoints/delete/registryCredentials.d.ts +0 -17
  67. package/dist/endpoints/delete/registryCredentials.js +0 -36
  68. package/dist/endpoints/delete/secret.d.ts +0 -19
  69. package/dist/endpoints/delete/secret.js +0 -36
  70. package/dist/endpoints/delete/secretLink.d.ts +0 -21
  71. package/dist/endpoints/delete/secretLink.js +0 -36
  72. package/dist/endpoints/delete/service.d.ts +0 -19
  73. package/dist/endpoints/delete/service.js +0 -36
  74. package/dist/endpoints/delete/subdomain.d.ts +0 -19
  75. package/dist/endpoints/delete/subdomain.js +0 -36
  76. package/dist/endpoints/get/addon/backup/download.d.ts +0 -24
  77. package/dist/endpoints/get/addon/backup/download.js +0 -36
  78. package/dist/endpoints/get/addon/backup.d.ts +0 -46
  79. package/dist/endpoints/get/addon/backup.js +0 -36
  80. package/dist/endpoints/get/addon/backups.d.ts +0 -54
  81. package/dist/endpoints/get/addon/backups.js +0 -40
  82. package/dist/endpoints/get/addon/containers.d.ts +0 -40
  83. package/dist/endpoints/get/addon/containers.js +0 -40
  84. package/dist/endpoints/get/addon/credentials.d.ts +0 -24
  85. package/dist/endpoints/get/addon/credentials.js +0 -36
  86. package/dist/endpoints/get/addon/types.d.ts +0 -48
  87. package/dist/endpoints/get/addon/types.js +0 -36
  88. package/dist/endpoints/get/addon/version.d.ts +0 -53
  89. package/dist/endpoints/get/addon/version.js +0 -36
  90. package/dist/endpoints/get/addon.d.ts +0 -69
  91. package/dist/endpoints/get/addon.js +0 -36
  92. package/dist/endpoints/get/dnsId.d.ts +0 -15
  93. package/dist/endpoints/get/dnsId.js +0 -36
  94. package/dist/endpoints/get/domain.d.ts +0 -33
  95. package/dist/endpoints/get/domain.js +0 -36
  96. package/dist/endpoints/get/job/buildArguments.d.ts +0 -19
  97. package/dist/endpoints/get/job/buildArguments.js +0 -36
  98. package/dist/endpoints/get/job/builds.d.ts +0 -50
  99. package/dist/endpoints/get/job/builds.js +0 -39
  100. package/dist/endpoints/get/job/containers.d.ts +0 -40
  101. package/dist/endpoints/get/job/containers.js +0 -40
  102. package/dist/endpoints/get/job/deployment.d.ts +0 -51
  103. package/dist/endpoints/get/job/deployment.js +0 -36
  104. package/dist/endpoints/get/job/environment.d.ts +0 -24
  105. package/dist/endpoints/get/job/environment.js +0 -40
  106. package/dist/endpoints/get/job/environmentDetails.d.ts +0 -42
  107. package/dist/endpoints/get/job/environmentDetails.js +0 -36
  108. package/dist/endpoints/get/job/healthChecks.d.ts +0 -44
  109. package/dist/endpoints/get/job/healthChecks.js +0 -36
  110. package/dist/endpoints/get/job/run.d.ts +0 -42
  111. package/dist/endpoints/get/job/run.js +0 -36
  112. package/dist/endpoints/get/job/runs.d.ts +0 -52
  113. package/dist/endpoints/get/job/runs.js +0 -39
  114. package/dist/endpoints/get/job.d.ts +0 -86
  115. package/dist/endpoints/get/job.js +0 -36
  116. package/dist/endpoints/get/project.d.ts +0 -72
  117. package/dist/endpoints/get/project.js +0 -36
  118. package/dist/endpoints/get/registryCredentials.d.ts +0 -34
  119. package/dist/endpoints/get/registryCredentials.js +0 -36
  120. package/dist/endpoints/get/secret.d.ts +0 -55
  121. package/dist/endpoints/get/secret.js +0 -39
  122. package/dist/endpoints/get/secretDetails.d.ts +0 -63
  123. package/dist/endpoints/get/secretDetails.js +0 -36
  124. package/dist/endpoints/get/secretLink.d.ts +0 -44
  125. package/dist/endpoints/get/secretLink.js +0 -36
  126. package/dist/endpoints/get/service/buildArguments.d.ts +0 -19
  127. package/dist/endpoints/get/service/buildArguments.js +0 -36
  128. package/dist/endpoints/get/service/builds.d.ts +0 -50
  129. package/dist/endpoints/get/service/builds.js +0 -40
  130. package/dist/endpoints/get/service/containers.d.ts +0 -40
  131. package/dist/endpoints/get/service/containers.js +0 -40
  132. package/dist/endpoints/get/service/deployment.d.ts +0 -51
  133. package/dist/endpoints/get/service/deployment.js +0 -36
  134. package/dist/endpoints/get/service/environmentVariableDetails.d.ts +0 -42
  135. package/dist/endpoints/get/service/environmentVariableDetails.js +0 -36
  136. package/dist/endpoints/get/service/environmentVariables.d.ts +0 -24
  137. package/dist/endpoints/get/service/environmentVariables.js +0 -40
  138. package/dist/endpoints/get/service/healthChecks.d.ts +0 -44
  139. package/dist/endpoints/get/service/healthChecks.js +0 -36
  140. package/dist/endpoints/get/service/ports.d.ts +0 -35
  141. package/dist/endpoints/get/service/ports.js +0 -36
  142. package/dist/endpoints/get/service.d.ts +0 -103
  143. package/dist/endpoints/get/service.js +0 -36
  144. package/dist/endpoints/get/subdomain.d.ts +0 -30
  145. package/dist/endpoints/get/subdomain.js +0 -36
  146. package/dist/endpoints/import/addon/backup.d.ts +0 -31
  147. package/dist/endpoints/import/addon/backup.js +0 -36
  148. package/dist/endpoints/list/addons.d.ts +0 -45
  149. package/dist/endpoints/list/addons.js +0 -39
  150. package/dist/endpoints/list/domains.d.ts +0 -34
  151. package/dist/endpoints/list/domains.js +0 -39
  152. package/dist/endpoints/list/jobs.d.ts +0 -44
  153. package/dist/endpoints/list/jobs.js +0 -39
  154. package/dist/endpoints/list/plans.d.ts +0 -30
  155. package/dist/endpoints/list/plans.js +0 -36
  156. package/dist/endpoints/list/projects.d.ts +0 -32
  157. package/dist/endpoints/list/projects.js +0 -39
  158. package/dist/endpoints/list/regions.d.ts +0 -18
  159. package/dist/endpoints/list/regions.js +0 -36
  160. package/dist/endpoints/list/registryCredentials.d.ts +0 -41
  161. package/dist/endpoints/list/registryCredentials.js +0 -39
  162. package/dist/endpoints/list/secrets.d.ts +0 -52
  163. package/dist/endpoints/list/secrets.js +0 -39
  164. package/dist/endpoints/list/services.d.ts +0 -44
  165. package/dist/endpoints/list/services.js +0 -39
  166. package/dist/endpoints/list/vcs.d.ts +0 -51
  167. package/dist/endpoints/list/vcs.js +0 -36
  168. package/dist/endpoints/pause/addon.d.ts +0 -19
  169. package/dist/endpoints/pause/addon.js +0 -36
  170. package/dist/endpoints/pause/service.d.ts +0 -19
  171. package/dist/endpoints/pause/service.js +0 -36
  172. package/dist/endpoints/restart/addon.d.ts +0 -19
  173. package/dist/endpoints/restart/addon.js +0 -36
  174. package/dist/endpoints/restart/service.d.ts +0 -19
  175. package/dist/endpoints/restart/service.js +0 -36
  176. package/dist/endpoints/restore/addon/backup.d.ts +0 -21
  177. package/dist/endpoints/restore/addon/backup.js +0 -36
  178. package/dist/endpoints/resume/addon.d.ts +0 -19
  179. package/dist/endpoints/resume/addon.js +0 -36
  180. package/dist/endpoints/resume/service.d.ts +0 -24
  181. package/dist/endpoints/resume/service.js +0 -36
  182. package/dist/endpoints/scale/addon.d.ts +0 -28
  183. package/dist/endpoints/scale/addon.js +0 -36
  184. package/dist/endpoints/scale/service.d.ts +0 -26
  185. package/dist/endpoints/scale/service.js +0 -36
  186. package/dist/endpoints/start/job/build.d.ts +0 -37
  187. package/dist/endpoints/start/job/build.js +0 -36
  188. package/dist/endpoints/start/job/run.d.ts +0 -37
  189. package/dist/endpoints/start/job/run.js +0 -36
  190. package/dist/endpoints/start/service/build.d.ts +0 -41
  191. package/dist/endpoints/start/service/build.js +0 -36
  192. package/dist/endpoints/unassign/subdomain.d.ts +0 -19
  193. package/dist/endpoints/unassign/subdomain.js +0 -36
  194. package/dist/endpoints/update/addon/networkSettings.d.ts +0 -26
  195. package/dist/endpoints/update/addon/networkSettings.js +0 -36
  196. package/dist/endpoints/update/addon/security.d.ts +0 -29
  197. package/dist/endpoints/update/addon/security.js +0 -36
  198. package/dist/endpoints/update/addon/version.d.ts +0 -24
  199. package/dist/endpoints/update/addon/version.js +0 -36
  200. package/dist/endpoints/update/job/buildArguments.d.ts +0 -24
  201. package/dist/endpoints/update/job/buildArguments.js +0 -36
  202. package/dist/endpoints/update/job/cmdOverride.d.ts +0 -24
  203. package/dist/endpoints/update/job/cmdOverride.js +0 -36
  204. package/dist/endpoints/update/job/deployment.d.ts +0 -37
  205. package/dist/endpoints/update/job/deployment.js +0 -36
  206. package/dist/endpoints/update/job/environment.d.ts +0 -24
  207. package/dist/endpoints/update/job/environment.js +0 -36
  208. package/dist/endpoints/update/job/healthChecks.d.ts +0 -45
  209. package/dist/endpoints/update/job/healthChecks.js +0 -36
  210. package/dist/endpoints/update/job/settings.d.ts +0 -30
  211. package/dist/endpoints/update/job/settings.js +0 -36
  212. package/dist/endpoints/update/registryCredentials.d.ts +0 -31
  213. package/dist/endpoints/update/registryCredentials.js +0 -36
  214. package/dist/endpoints/update/secret.d.ts +0 -54
  215. package/dist/endpoints/update/secret.js +0 -36
  216. package/dist/endpoints/update/secretLink.d.ts +0 -40
  217. package/dist/endpoints/update/secretLink.js +0 -36
  218. package/dist/endpoints/update/service/buildArguments.d.ts +0 -24
  219. package/dist/endpoints/update/service/buildArguments.js +0 -36
  220. package/dist/endpoints/update/service/buildOptions.d.ts +0 -52
  221. package/dist/endpoints/update/service/buildOptions.js +0 -36
  222. package/dist/endpoints/update/service/cmdOverride.d.ts +0 -24
  223. package/dist/endpoints/update/service/cmdOverride.js +0 -36
  224. package/dist/endpoints/update/service/deployment.d.ts +0 -37
  225. package/dist/endpoints/update/service/deployment.js +0 -36
  226. package/dist/endpoints/update/service/environmentVariables.d.ts +0 -29
  227. package/dist/endpoints/update/service/environmentVariables.js +0 -36
  228. package/dist/endpoints/update/service/healthChecks.d.ts +0 -45
  229. package/dist/endpoints/update/service/healthChecks.js +0 -36
  230. package/dist/endpoints/update/service/ports.d.ts +0 -55
  231. package/dist/endpoints/update/service/ports.js +0 -36
  232. package/dist/endpoints/verify/domain.d.ts +0 -17
  233. package/dist/endpoints/verify/domain.js +0 -36
  234. package/dist/endpoints/verify/subdomain.d.ts +0 -19
  235. package/dist/endpoints/verify/subdomain.js +0 -36
  236. package/dist/port-forward/client/api-helper.d.ts +0 -30
  237. package/dist/port-forward/client/api-helper.js +0 -102
  238. package/dist/port-forward/client/atomic-write.d.ts +0 -3
  239. package/dist/port-forward/client/atomic-write.js +0 -95
  240. package/dist/port-forward/client/host-file-ast.d.ts +0 -52
  241. package/dist/port-forward/client/host-file-ast.js +0 -279
  242. package/dist/port-forward/client/host-file.d.ts +0 -26
  243. package/dist/port-forward/client/host-file.js +0 -226
  244. package/dist/port-forward/client/loopback.d.ts +0 -4
  245. package/dist/port-forward/client/loopback.js +0 -219
  246. package/dist/port-forward/client/port-forwarder.d.ts +0 -86
  247. package/dist/port-forward/client/port-forwarder.js +0 -593
  248. package/dist/port-forward/client/port-tunnel-tcp.d.ts +0 -34
  249. package/dist/port-forward/client/port-tunnel-tcp.js +0 -209
  250. package/dist/port-forward/client/port-tunnel-udp.d.ts +0 -25
  251. package/dist/port-forward/client/port-tunnel-udp.js +0 -147
  252. package/dist/port-forward/client/port-tunnel.d.ts +0 -32
  253. package/dist/port-forward/client/port-tunnel.js +0 -2
  254. package/dist/port-forward/client/promise-mutex.d.ts +0 -4
  255. package/dist/port-forward/client/promise-mutex.js +0 -62
  256. package/dist/utils.d.ts +0 -8
  257. package/dist/utils.js +0 -97
@@ -1,219 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-magic-numbers,no-bitwise,no-await-in-loop */
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
- var __generator = (this && this.__generator) || function (thisArg, body) {
24
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
- function verb(n) { return function (v) { return step([n, v]); }; }
27
- function step(op) {
28
- if (f) throw new TypeError("Generator is already executing.");
29
- while (_) try {
30
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
- if (y = 0, t) op = [op[0] & 2, t.value];
32
- switch (op[0]) {
33
- case 0: case 1: t = op; break;
34
- case 4: _.label++; return { value: op[1], done: false };
35
- case 5: _.label++; y = op[1]; op = [0]; continue;
36
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
- default:
38
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
- if (t[2]) _.ops.pop();
43
- _.trys.pop(); continue;
44
- }
45
- op = body.call(thisArg, _);
46
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
- }
49
- };
50
- var __importDefault = (this && this.__importDefault) || function (mod) {
51
- return (mod && mod.__esModule) ? mod : { "default": mod };
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.int2ip = exports.ip2int = exports.isPortAvailableForIp = exports.findAvailableLoopbackIp = void 0;
55
- var os_1 = __importDefault(require("os"));
56
- var net_1 = require("net");
57
- var child_process_1 = require("child_process");
58
- var findAvailableLoopbackIp = function (port, ipMinStr, ipMaxStr) { return __awaiter(void 0, void 0, void 0, function () {
59
- var ipMin, ipMax, enableIp, i, ip;
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0:
63
- ipMin = exports.ip2int(ipMinStr || '127.0.0.1');
64
- ipMax = exports.ip2int(ipMaxStr || '127.255.255.255');
65
- if (ipMax < ipMin) {
66
- throw new Error('Invalid IP range');
67
- }
68
- // On MacOS we need to explicitly enable loopback aliases
69
- if (os_1.default.platform() === 'darwin') {
70
- enableIp = function (ip) { return __awaiter(void 0, void 0, void 0, function () {
71
- var args;
72
- return __generator(this, function (_a) {
73
- switch (_a.label) {
74
- case 0:
75
- args = "lo0 alias " + ip + " up";
76
- return [4 /*yield*/, ifconfig.apply(void 0, args.split(' '))];
77
- case 1:
78
- _a.sent();
79
- return [2 /*return*/];
80
- }
81
- });
82
- }); };
83
- }
84
- i = ipMin;
85
- _a.label = 1;
86
- case 1:
87
- if (!(i <= ipMax)) return [3 /*break*/, 6];
88
- ip = exports.int2ip(i);
89
- return [4 /*yield*/, exports.isPortAvailableForIp(port, ip)];
90
- case 2:
91
- if (!_a.sent()) return [3 /*break*/, 5];
92
- if (!enableIp) return [3 /*break*/, 4];
93
- return [4 /*yield*/, enableIp(ip)];
94
- case 3:
95
- _a.sent();
96
- _a.label = 4;
97
- case 4: return [2 /*return*/, ip];
98
- case 5:
99
- i += 1;
100
- return [3 /*break*/, 1];
101
- case 6: throw new Error('No ip available');
102
- }
103
- });
104
- }); };
105
- exports.findAvailableLoopbackIp = findAvailableLoopbackIp;
106
- var isPortAvailableForIp = function (port, ip) {
107
- return new Promise(function (r) {
108
- var socket = new net_1.Socket();
109
- var timeout = 400;
110
- var isPortInUse = false;
111
- // Socket connection established, port is open
112
- socket.on('connect', function () {
113
- isPortInUse = true;
114
- socket.destroy();
115
- });
116
- // If no response, assume port is not listening
117
- socket.setTimeout(timeout);
118
- socket.on('timeout', function () {
119
- isPortInUse = false;
120
- socket.destroy();
121
- });
122
- // Assuming the port is not open if an error. May need to refine based on
123
- // exception
124
- socket.on('error', function () {
125
- // if (exception.code === 'ECONNREFUSED') {
126
- // }
127
- isPortInUse = false;
128
- });
129
- // Return after the socket has closed
130
- socket.on('close', function () {
131
- r(!isPortInUse);
132
- });
133
- if (ip)
134
- socket.connect(port, ip);
135
- else
136
- socket.connect(port);
137
- });
138
- };
139
- exports.isPortAvailableForIp = isPortAvailableForIp;
140
- var ifconfig = function () {
141
- var args = [];
142
- for (var _i = 0; _i < arguments.length; _i++) {
143
- args[_i] = arguments[_i];
144
- }
145
- return __awaiter(void 0, void 0, void 0, function () {
146
- var path;
147
- return __generator(this, function (_a) {
148
- switch (_a.label) {
149
- case 0:
150
- path = '/sbin/ifconfig';
151
- return [4 /*yield*/, runCmd(path, args).resultPromise];
152
- case 1: // this.options?.ifconfigPath ??
153
- return [2 /*return*/, _a.sent()];
154
- }
155
- });
156
- });
157
- };
158
- var ip2int = function (ip) {
159
- var segments = ip.split('.').reverse();
160
- if (segments.length !== 4) {
161
- throw new Error("Invalid ip address: " + ip);
162
- }
163
- var int = 0;
164
- for (var i = 0; i < 4; i += 1) {
165
- var segment = Number.parseInt(segments[i], 10);
166
- if (segment < 0x0 || segment > 0xff) {
167
- throw new Error("Invalid ip address: " + ip);
168
- }
169
- int += segment << (8 * i);
170
- }
171
- return int;
172
- };
173
- exports.ip2int = ip2int;
174
- var int2ip = function (int) {
175
- if (!Number.isSafeInteger(int)) {
176
- throw new Error('Number is not an integer');
177
- }
178
- if (int < 0x0 || int > 0xffffffff) {
179
- throw new Error('Number is out of range 0x0-0xffffffff');
180
- }
181
- var segments = [];
182
- for (var i = 0; i < 4; i += 1) {
183
- segments.push((int >> (8 * i)) & 255);
184
- }
185
- return segments.reverse().join('.');
186
- };
187
- exports.int2ip = int2ip;
188
- var runCmd = function (command, args, opts) {
189
- var process = child_process_1.spawn(command, args, __assign({ windowsHide: true }, opts));
190
- var promise = new Promise(function (resolve, reject) {
191
- var stdout = '';
192
- var stderr = '';
193
- var useDefaultIOHandling = (opts === null || opts === void 0 ? void 0 : opts.stdio) === null || (opts === null || opts === void 0 ? void 0 : opts.stdio) === undefined;
194
- if (useDefaultIOHandling) {
195
- if (process.stdout) {
196
- process.stdout.on('data', function (data) {
197
- stdout += data;
198
- });
199
- }
200
- if (process.stderr) {
201
- process.stderr.on('data', function (data) {
202
- stderr += data;
203
- });
204
- }
205
- }
206
- process.on('close', function (code) {
207
- var result = { code: code, stdout: stdout, stderr: stderr };
208
- if (code !== 0) {
209
- var message = "Error during execution of command '" + command + " " + args.join(' ') + "': " + stderr;
210
- var error = { message: message, result: result };
211
- reject(error);
212
- }
213
- else {
214
- resolve(result);
215
- }
216
- });
217
- });
218
- return { process: process, resultPromise: promise };
219
- };
@@ -1,86 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- import { PortForwardingInfo, PortTunnel } from './port-tunnel';
4
- import { ApiClientContextProvider } from '../../context';
5
- import { ListServicesCall } from '../../endpoints/list/services';
6
- import { ListAddonsCall } from '../../endpoints/list/addons';
7
- export interface NorthflankPortForwarder {
8
- on(event: 'connection-accept', listener: (tunnel: PortTunnel) => any): any;
9
- on(event: 'connection-close', listener: (tunnel: PortTunnel) => any): any;
10
- on(event: 'connection-error', listener: (tunnel: PortTunnel, data: PortForwardingInfo, error: any) => any): any;
11
- on(event: 'tunnel-open', listener: (tunnel: PortTunnel, data: PortForwardingInfo) => any): any;
12
- on(event: 'tunnel-close', listener: (tunnel: PortTunnel, data: PortForwardingInfo) => any): any;
13
- }
14
- export declare type PortForwardingResult = {
15
- data: PortForwardingInfo;
16
- error?: never;
17
- } | {
18
- data?: never;
19
- error: {
20
- message: string;
21
- };
22
- };
23
- export declare class NorthflankPortForwarder extends EventEmitter {
24
- private readonly contextProvider;
25
- private readonly listServices;
26
- private readonly listAddons;
27
- private nextIpAddress?;
28
- private connections;
29
- private proxyApiClient;
30
- private hostsFileMutex;
31
- private ipAllocationMutex;
32
- constructor(contextProvider: ApiClientContextProvider, listServices: ListServicesCall, listAddons: ListAddonsCall);
33
- withProjectForwarding<T = any>(parameters: {
34
- projectId: string;
35
- }, func: (p: {
36
- services: PortForwardingResult[][];
37
- addons: PortForwardingResult[][];
38
- }) => Promise<T>, ipOnly?: boolean): Promise<T>;
39
- forwardProject(parameters: {
40
- projectId: string;
41
- }, ipOnly?: boolean): Promise<{
42
- services: PortForwardingResult[][];
43
- addons: PortForwardingResult[][];
44
- }>;
45
- withServiceForwarding<T = any>(parameters: {
46
- projectId: string;
47
- serviceId: string;
48
- }, func: (p: PortForwardingResult[]) => Promise<T>, ipOnly?: boolean): Promise<T>;
49
- forwardService(parameters: {
50
- projectId: string;
51
- serviceId: string;
52
- }, ipOnly?: boolean): Promise<PortForwardingResult[]>;
53
- withAddonForwarding<T = any>(parameters: {
54
- projectId: string;
55
- addonId: string;
56
- }, func: (p: PortForwardingResult[]) => Promise<T>, ipOnly?: boolean): Promise<T>;
57
- forwardAddon(parameters: {
58
- projectId: string;
59
- addonId: string;
60
- }, ipOnly?: boolean): Promise<PortForwardingResult[]>;
61
- private allocateIpAddress;
62
- private forwardPort;
63
- private registerHostnames;
64
- private unregisterHostnames;
65
- private modifyHostsFile;
66
- stopProjectForwarding(opts: {
67
- projectId: string;
68
- }): Promise<void>;
69
- stopServiceForwarding(opts: {
70
- projectId: string;
71
- serviceId: string;
72
- }): Promise<void>;
73
- stopAddonForwarding(opts: {
74
- projectId: string;
75
- addonId: string;
76
- }): Promise<void>;
77
- private stopForwarding;
78
- stop(): Promise<void>;
79
- canExecuteWithHostnames: () => {
80
- error: boolean;
81
- message?: string | undefined;
82
- type?: "windows-admin" | "unix-admin" | undefined;
83
- };
84
- private assertStartedWithNodejs;
85
- }
86
- export declare const retry: (retries: number, retryDelay?: number) => (action: () => any) => Promise<any>;