@gitpod/gitpod-protocol 0.1.5-svenefftinge-dashboard-invalid-2274.4 → 0.1.5-tar-telemetry-data-settings.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 (346) hide show
  1. package/data/builtin-theia-plugins.json +28 -18
  2. package/data/gitpod-schema.json +25 -24
  3. package/lib/accounting-protocol.d.ts +155 -0
  4. package/lib/accounting-protocol.d.ts.map +1 -0
  5. package/lib/accounting-protocol.js +109 -0
  6. package/lib/accounting-protocol.js.map +1 -0
  7. package/lib/admin-protocol.d.ts +32 -5
  8. package/lib/admin-protocol.d.ts.map +1 -1
  9. package/lib/admin-protocol.js +16 -1
  10. package/lib/admin-protocol.js.map +1 -1
  11. package/lib/analytics.d.ts +45 -0
  12. package/lib/analytics.d.ts.map +1 -0
  13. package/lib/analytics.js +10 -0
  14. package/lib/analytics.js.map +1 -0
  15. package/lib/auth.d.ts +25 -0
  16. package/lib/auth.d.ts.map +1 -0
  17. package/lib/auth.js +16 -0
  18. package/lib/auth.js.map +1 -0
  19. package/lib/context-url.d.ts +19 -0
  20. package/lib/context-url.d.ts.map +1 -0
  21. package/lib/context-url.js +51 -0
  22. package/lib/context-url.js.map +1 -0
  23. package/lib/context-url.spec.d.ts +12 -0
  24. package/lib/context-url.spec.d.ts.map +1 -0
  25. package/lib/context-url.spec.js +73 -0
  26. package/lib/context-url.spec.js.map +1 -0
  27. package/lib/email-protocol.d.ts +2 -3
  28. package/lib/email-protocol.d.ts.map +1 -1
  29. package/lib/email-protocol.js +5 -5
  30. package/lib/email-protocol.js.map +1 -1
  31. package/lib/encryption/container-module.d.ts +1 -1
  32. package/lib/encryption/container-module.js +6 -5
  33. package/lib/encryption/container-module.js.map +1 -1
  34. package/lib/encryption/encryption-engine.d.ts +1 -1
  35. package/lib/encryption/encryption-engine.js +20 -21
  36. package/lib/encryption/encryption-engine.js.map +1 -1
  37. package/lib/encryption/encryption-engine.spec.d.ts +1 -1
  38. package/lib/encryption/encryption-engine.spec.js +30 -37
  39. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  40. package/lib/encryption/encryption-service.d.ts +1 -1
  41. package/lib/encryption/encryption-service.js +30 -44
  42. package/lib/encryption/encryption-service.js.map +1 -1
  43. package/lib/encryption/key-provider.d.ts +1 -1
  44. package/lib/encryption/key-provider.js +26 -31
  45. package/lib/encryption/key-provider.js.map +1 -1
  46. package/lib/env.d.ts +2 -3
  47. package/lib/env.d.ts.map +1 -1
  48. package/lib/env.js +21 -22
  49. package/lib/env.js.map +1 -1
  50. package/lib/gitpod-file-parser.d.ts +1 -1
  51. package/lib/gitpod-file-parser.js +26 -42
  52. package/lib/gitpod-file-parser.js.map +1 -1
  53. package/lib/gitpod-file-parser.spec.d.ts +1 -1
  54. package/lib/gitpod-file-parser.spec.js +117 -117
  55. package/lib/gitpod-file-parser.spec.js.map +1 -1
  56. package/lib/gitpod-service.d.ts +156 -21
  57. package/lib/gitpod-service.d.ts.map +1 -1
  58. package/lib/gitpod-service.js +171 -257
  59. package/lib/gitpod-service.js.map +1 -1
  60. package/lib/headless-workspace-log.d.ts +9 -12
  61. package/lib/headless-workspace-log.d.ts.map +1 -1
  62. package/lib/headless-workspace-log.js +5 -8
  63. package/lib/headless-workspace-log.js.map +1 -1
  64. package/lib/ide-frontend-service.d.ts +5 -1
  65. package/lib/ide-frontend-service.d.ts.map +1 -1
  66. package/lib/ide-frontend-service.js +1 -1
  67. package/lib/ide-protocol.d.ts +101 -0
  68. package/lib/ide-protocol.d.ts.map +1 -0
  69. package/lib/{util/without.js → ide-protocol.js} +2 -2
  70. package/lib/ide-protocol.js.map +1 -0
  71. package/lib/index.d.ts +7 -1
  72. package/lib/index.d.ts.map +1 -1
  73. package/lib/index.js +8 -2
  74. package/lib/index.js.map +1 -1
  75. package/lib/installation-admin-protocol.d.ts +27 -0
  76. package/lib/installation-admin-protocol.d.ts.map +1 -0
  77. package/lib/installation-admin-protocol.js +30 -0
  78. package/lib/installation-admin-protocol.js.map +1 -0
  79. package/lib/license-protocol.d.ts +1 -1
  80. package/lib/license-protocol.js +1 -1
  81. package/lib/messaging/browser/connection.d.ts +5 -3
  82. package/lib/messaging/browser/connection.d.ts.map +1 -1
  83. package/lib/messaging/browser/connection.js +183 -33
  84. package/lib/messaging/browser/connection.js.map +1 -1
  85. package/lib/messaging/browser/window-connection.d.ts +1 -1
  86. package/lib/messaging/browser/window-connection.js +36 -56
  87. package/lib/messaging/browser/window-connection.js.map +1 -1
  88. package/lib/messaging/client-call-metrics.d.ts +35 -0
  89. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  90. package/lib/messaging/client-call-metrics.js +83 -0
  91. package/lib/messaging/client-call-metrics.js.map +1 -0
  92. package/lib/messaging/connection-error-handler.js +11 -23
  93. package/lib/messaging/connection-error-handler.js.map +1 -1
  94. package/lib/messaging/error.d.ts +7 -2
  95. package/lib/messaging/error.d.ts.map +1 -1
  96. package/lib/messaging/error.js +14 -4
  97. package/lib/messaging/error.js.map +1 -1
  98. package/lib/messaging/handler.d.ts +10 -0
  99. package/lib/messaging/handler.d.ts.map +1 -1
  100. package/lib/messaging/node/connection.d.ts +1 -17
  101. package/lib/messaging/node/connection.d.ts.map +1 -1
  102. package/lib/messaging/node/connection.js +23 -59
  103. package/lib/messaging/node/connection.js.map +1 -1
  104. package/lib/messaging/proxy-factory.d.ts +2 -0
  105. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  106. package/lib/messaging/proxy-factory.js +74 -159
  107. package/lib/messaging/proxy-factory.js.map +1 -1
  108. package/lib/oss-allowlist.d.ts +14 -0
  109. package/lib/oss-allowlist.d.ts.map +1 -0
  110. package/lib/oss-allowlist.js +8 -0
  111. package/lib/oss-allowlist.js.map +1 -0
  112. package/lib/payment-protocol.d.ts +18 -0
  113. package/lib/payment-protocol.d.ts.map +1 -0
  114. package/lib/payment-protocol.js +13 -0
  115. package/lib/payment-protocol.js.map +1 -0
  116. package/lib/permission.d.ts +7 -5
  117. package/lib/permission.d.ts.map +1 -1
  118. package/lib/permission.js +20 -19
  119. package/lib/permission.js.map +1 -1
  120. package/lib/plans.d.ts +210 -0
  121. package/lib/plans.d.ts.map +1 -0
  122. package/lib/plans.js +570 -0
  123. package/lib/plans.js.map +1 -0
  124. package/lib/protocol.d.ts +133 -59
  125. package/lib/protocol.d.ts.map +1 -1
  126. package/lib/protocol.js +129 -118
  127. package/lib/protocol.js.map +1 -1
  128. package/lib/snapshot-url.d.ts +14 -0
  129. package/lib/snapshot-url.d.ts.map +1 -0
  130. package/lib/snapshot-url.js +26 -0
  131. package/lib/snapshot-url.js.map +1 -0
  132. package/{src/util/without.ts → lib/snapshot-url.spec.d.ts} +3 -4
  133. package/lib/snapshot-url.spec.d.ts.map +1 -0
  134. package/lib/snapshot-url.spec.js +41 -0
  135. package/lib/snapshot-url.spec.js.map +1 -0
  136. package/lib/team-subscription-protocol.d.ts +73 -0
  137. package/lib/team-subscription-protocol.d.ts.map +1 -0
  138. package/lib/team-subscription-protocol.js +63 -0
  139. package/lib/team-subscription-protocol.js.map +1 -0
  140. package/lib/teams-projects-protocol.d.ts +113 -0
  141. package/lib/teams-projects-protocol.d.ts.map +1 -0
  142. package/lib/teams-projects-protocol.js +30 -0
  143. package/lib/teams-projects-protocol.js.map +1 -0
  144. package/lib/theia-plugins.d.ts +1 -1
  145. package/lib/theia-plugins.js +1 -1
  146. package/lib/typings/globals.d.ts +1 -1
  147. package/lib/typings/globals.js +1 -1
  148. package/lib/util/analytics.d.ts +8 -0
  149. package/lib/util/analytics.d.ts.map +1 -0
  150. package/lib/util/analytics.js +79 -0
  151. package/lib/util/analytics.js.map +1 -0
  152. package/lib/util/async-iterator.d.ts +1 -1
  153. package/lib/util/async-iterator.js +56 -134
  154. package/lib/util/async-iterator.js.map +1 -1
  155. package/lib/util/cancelable.d.ts +1 -1
  156. package/lib/util/cancelable.js +18 -60
  157. package/lib/util/cancelable.js.map +1 -1
  158. package/lib/util/date-time.d.ts +1 -1
  159. package/lib/util/date-time.js +9 -9
  160. package/lib/util/date-time.js.map +1 -1
  161. package/lib/util/deep-partial.d.ts +1 -1
  162. package/lib/util/deep-partial.js +1 -1
  163. package/lib/util/deferred.d.ts +1 -1
  164. package/lib/util/deferred.js +11 -13
  165. package/lib/util/deferred.js.map +1 -1
  166. package/lib/util/disposable.js +26 -39
  167. package/lib/util/disposable.js.map +1 -1
  168. package/lib/util/event.js +58 -74
  169. package/lib/util/event.js.map +1 -1
  170. package/lib/util/garbage-collected-cache.d.ts +2 -1
  171. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  172. package/lib/util/garbage-collected-cache.js +27 -47
  173. package/lib/util/garbage-collected-cache.js.map +1 -1
  174. package/lib/util/generate-workspace-id.d.ts +4 -0
  175. package/lib/util/generate-workspace-id.d.ts.map +1 -0
  176. package/lib/util/generate-workspace-id.js +487 -0
  177. package/lib/util/generate-workspace-id.js.map +1 -0
  178. package/lib/util/generate-workspace-id.spec.d.ts +7 -0
  179. package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
  180. package/lib/util/generate-workspace-id.spec.js +87 -0
  181. package/lib/util/generate-workspace-id.spec.js.map +1 -0
  182. package/lib/util/gitpod-cookie.d.ts +20 -0
  183. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  184. package/lib/util/gitpod-cookie.js +44 -0
  185. package/lib/util/gitpod-cookie.js.map +1 -0
  186. package/lib/util/gitpod-host-url.d.ts +5 -3
  187. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  188. package/lib/util/gitpod-host-url.js +99 -92
  189. package/lib/util/gitpod-host-url.js.map +1 -1
  190. package/lib/util/gitpod-host-url.spec.d.ts +16 -0
  191. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -0
  192. package/lib/util/gitpod-host-url.spec.js +124 -0
  193. package/lib/util/gitpod-host-url.spec.js.map +1 -0
  194. package/lib/util/grpc.d.ts +15 -0
  195. package/lib/util/grpc.d.ts.map +1 -0
  196. package/lib/util/grpc.js +18 -0
  197. package/lib/util/grpc.js.map +1 -0
  198. package/lib/util/jaeger-client-types.d.ts +68 -0
  199. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  200. package/lib/util/jaeger-client-types.js +8 -0
  201. package/lib/util/jaeger-client-types.js.map +1 -0
  202. package/lib/util/logging.d.ts +57 -34
  203. package/lib/util/logging.d.ts.map +1 -1
  204. package/lib/util/logging.js +119 -111
  205. package/lib/util/logging.js.map +1 -1
  206. package/lib/util/make-link.d.ts +1 -1
  207. package/lib/util/make-link.js +3 -3
  208. package/lib/util/make-link.js.map +1 -1
  209. package/lib/util/parse-workspace-id.d.ts +14 -4
  210. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  211. package/lib/util/parse-workspace-id.js +39 -9
  212. package/lib/util/parse-workspace-id.js.map +1 -1
  213. package/lib/util/parse-workspace-id.spec.d.ts +9 -1
  214. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  215. package/lib/util/parse-workspace-id.spec.js +128 -48
  216. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  217. package/lib/util/queue.d.ts +1 -1
  218. package/lib/util/queue.js +17 -56
  219. package/lib/util/queue.js.map +1 -1
  220. package/lib/util/queue.spec.d.ts +1 -1
  221. package/lib/util/queue.spec.js +145 -289
  222. package/lib/util/queue.spec.js.map +1 -1
  223. package/lib/util/repeat.d.ts +15 -0
  224. package/lib/util/repeat.d.ts.map +1 -0
  225. package/lib/util/repeat.js +55 -0
  226. package/lib/util/repeat.js.map +1 -0
  227. package/lib/util/semaphore.d.ts +1 -1
  228. package/lib/util/semaphore.js +16 -47
  229. package/lib/util/semaphore.js.map +1 -1
  230. package/lib/util/skip-if.d.ts +1 -1
  231. package/lib/util/skip-if.js +7 -7
  232. package/lib/util/skip-if.js.map +1 -1
  233. package/lib/util/timeutil.d.ts +1 -1
  234. package/lib/util/timeutil.js +29 -17
  235. package/lib/util/timeutil.js.map +1 -1
  236. package/lib/util/timeutil.spec.d.ts +1 -1
  237. package/lib/util/timeutil.spec.js +22 -25
  238. package/lib/util/timeutil.spec.js.map +1 -1
  239. package/lib/util/tracing.d.ts +52 -6
  240. package/lib/util/tracing.d.ts.map +1 -1
  241. package/lib/util/tracing.js +197 -63
  242. package/lib/util/tracing.js.map +1 -1
  243. package/lib/util/tracing.spec.d.ts +7 -0
  244. package/lib/util/tracing.spec.d.ts.map +1 -0
  245. package/lib/util/tracing.spec.js +121 -0
  246. package/lib/util/tracing.spec.js.map +1 -0
  247. package/lib/util/workspace-port-authentication.d.ts +1 -1
  248. package/lib/util/workspace-port-authentication.js +4 -3
  249. package/lib/util/workspace-port-authentication.js.map +1 -1
  250. package/lib/workspace-cluster.d.ts +71 -0
  251. package/lib/workspace-cluster.d.ts.map +1 -0
  252. package/lib/workspace-cluster.js +16 -0
  253. package/lib/workspace-cluster.js.map +1 -0
  254. package/lib/workspace-instance.d.ts +27 -3
  255. package/lib/workspace-instance.d.ts.map +1 -1
  256. package/lib/workspace-instance.js +1 -1
  257. package/lib/wsready.d.ts +1 -1
  258. package/lib/wsready.js +2 -2
  259. package/package.json +33 -17
  260. package/pkg-yarn.lock +18 -9
  261. package/provenance-bundle.jsonl +2 -0
  262. package/src/accounting-protocol.ts +229 -0
  263. package/src/admin-protocol.ts +54 -6
  264. package/src/analytics.ts +54 -0
  265. package/src/auth.ts +27 -0
  266. package/src/context-url.spec.ts +39 -0
  267. package/src/context-url.ts +53 -0
  268. package/src/email-protocol.ts +3 -4
  269. package/src/encryption/container-module.ts +1 -1
  270. package/src/encryption/encryption-engine.spec.ts +1 -1
  271. package/src/encryption/encryption-engine.ts +1 -1
  272. package/src/encryption/encryption-service.ts +1 -1
  273. package/src/encryption/key-provider.ts +1 -1
  274. package/src/env.ts +11 -11
  275. package/src/gitpod-file-parser.spec.ts +1 -1
  276. package/src/gitpod-file-parser.ts +1 -1
  277. package/src/gitpod-service.ts +230 -40
  278. package/src/headless-workspace-log.ts +8 -12
  279. package/src/ide-frontend-service.ts +6 -2
  280. package/src/ide-protocol.ts +114 -0
  281. package/src/index.ts +8 -2
  282. package/src/installation-admin-protocol.ts +42 -0
  283. package/src/license-protocol.ts +1 -1
  284. package/src/messaging/browser/connection.ts +195 -14
  285. package/src/messaging/browser/window-connection.ts +1 -1
  286. package/src/messaging/client-call-metrics.ts +97 -0
  287. package/src/messaging/error.ts +19 -4
  288. package/src/messaging/handler.ts +12 -0
  289. package/src/messaging/node/connection.ts +21 -68
  290. package/src/messaging/proxy-factory.ts +14 -6
  291. package/src/oss-allowlist.ts +15 -0
  292. package/src/payment-protocol.ts +20 -0
  293. package/src/permission.ts +9 -8
  294. package/src/plans.ts +632 -0
  295. package/src/protocol.ts +222 -88
  296. package/src/snapshot-url.spec.ts +25 -0
  297. package/src/snapshot-url.ts +27 -0
  298. package/src/team-subscription-protocol.ts +113 -0
  299. package/src/teams-projects-protocol.ts +147 -0
  300. package/src/theia-plugins.ts +1 -1
  301. package/src/typings/globals.ts +1 -1
  302. package/src/util/analytics.ts +87 -0
  303. package/src/util/async-iterator.ts +1 -1
  304. package/src/util/cancelable.ts +1 -1
  305. package/src/util/date-time.ts +1 -1
  306. package/src/util/deep-partial.ts +1 -1
  307. package/src/util/deferred.ts +2 -2
  308. package/src/util/garbage-collected-cache.ts +10 -4
  309. package/src/util/generate-workspace-id.spec.ts +48 -0
  310. package/src/util/generate-workspace-id.ts +475 -0
  311. package/src/util/gitpod-cookie.ts +39 -0
  312. package/src/util/gitpod-host-url.spec.ts +49 -0
  313. package/src/util/gitpod-host-url.ts +36 -14
  314. package/src/util/grpc.ts +15 -0
  315. package/src/util/jaeger-client-types.ts +102 -0
  316. package/src/util/logging.ts +111 -39
  317. package/src/util/make-link.ts +1 -1
  318. package/src/util/parse-workspace-id.spec.ts +46 -5
  319. package/src/util/parse-workspace-id.ts +39 -8
  320. package/src/util/queue.spec.ts +2 -2
  321. package/src/util/queue.ts +1 -1
  322. package/src/util/repeat.ts +45 -0
  323. package/src/util/semaphore.ts +3 -3
  324. package/src/util/skip-if.ts +2 -2
  325. package/src/util/timeutil.spec.ts +1 -1
  326. package/src/util/timeutil.ts +5 -5
  327. package/src/util/tracing.spec.ts +83 -0
  328. package/src/util/tracing.ts +184 -19
  329. package/src/util/workspace-port-authentication.ts +1 -1
  330. package/src/workspace-cluster.ts +91 -0
  331. package/src/workspace-instance.ts +52 -14
  332. package/src/wsready.ts +2 -2
  333. package/lib/util/repeater.d.ts +0 -22
  334. package/lib/util/repeater.d.ts.map +0 -1
  335. package/lib/util/repeater.js +0 -118
  336. package/lib/util/repeater.js.map +0 -1
  337. package/lib/util/safe-promise.d.ts +0 -11
  338. package/lib/util/safe-promise.d.ts.map +0 -1
  339. package/lib/util/safe-promise.js +0 -34
  340. package/lib/util/safe-promise.js.map +0 -1
  341. package/lib/util/without.d.ts +0 -7
  342. package/lib/util/without.d.ts.map +0 -1
  343. package/lib/util/without.js.map +0 -1
  344. package/src/util/jaeger-client.d.ts +0 -105
  345. package/src/util/repeater.ts +0 -49
  346. package/src/util/safe-promise.ts +0 -26
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
@@ -12,55 +12,191 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.PerOperationSampler = exports.TracingManager = exports.TraceContext = void 0;
15
- var opentracing = require("opentracing");
16
- var jaeger_client_1 = require("jaeger-client");
17
- var opentracing_1 = require("opentracing");
18
- var inversify_1 = require("inversify");
15
+ const opentracing = require("opentracing");
16
+ const jaeger_client_1 = require("jaeger-client");
17
+ const opentracing_1 = require("opentracing");
18
+ const inversify_1 = require("inversify");
19
+ const logging_1 = require("./logging");
19
20
  var TraceContext;
20
21
  (function (TraceContext) {
21
- function startSpan(operation, ctx) {
22
- var options = {
23
- childOf: ctx.span
24
- };
22
+ function startSpan(operation, parentCtx, ...referencedSpans) {
23
+ const options = {};
24
+ if (parentCtx && parentCtx.span && !!parentCtx.span.context().toSpanId()) {
25
+ options.childOf = parentCtx.span;
26
+ }
27
+ if (referencedSpans) {
28
+ // note: allthough followsForm's type says it takes 'opentracing.Span | opentracing.SpanContext', it only works with SpanContext (typing mismatch)
29
+ // note2: we need to filter out debug spans (spanId === "")
30
+ options.references = referencedSpans.filter(s => s !== undefined)
31
+ .filter(s => !!s.context().toSpanId())
32
+ .map(s => (0, opentracing_1.followsFrom)(s.context()));
33
+ }
25
34
  return opentracing.globalTracer().startSpan(operation, options);
26
35
  }
27
36
  TraceContext.startSpan = startSpan;
28
- function startAsyncSpan(operation, ctx) {
29
- var options = {};
30
- if (!!ctx.span) {
31
- options.references = [opentracing.followsFrom(ctx.span.context())];
37
+ function childContext(operation, parentCtx) {
38
+ const span = startSpan(operation, parentCtx);
39
+ return { span };
40
+ }
41
+ TraceContext.childContext = childContext;
42
+ function withSpan(operation, callback, ctx, ...referencedSpans) {
43
+ // if we don't have a parent span, don't create a trace here as those <trace-without-root-spans> are not useful.
44
+ if (!ctx || !ctx.span || !ctx.span.context()) {
45
+ callback();
46
+ return;
47
+ }
48
+ const span = TraceContext.startSpan(operation, ctx, ...referencedSpans);
49
+ try {
50
+ callback();
51
+ }
52
+ catch (e) {
53
+ TraceContext.setError({ span }, e);
54
+ throw e;
55
+ }
56
+ finally {
57
+ span.finish();
32
58
  }
33
- return opentracing.globalTracer().startSpan(operation, options);
34
59
  }
35
- TraceContext.startAsyncSpan = startAsyncSpan;
36
- function logError(ctx, err) {
60
+ TraceContext.withSpan = withSpan;
61
+ function setError(ctx, err) {
37
62
  if (!ctx.span) {
38
63
  return;
39
64
  }
40
- ctx.span.log({
41
- "error": err.message,
42
- "stacktrace": err.stack
65
+ TraceContext.addNestedTags(ctx, {
66
+ error: {
67
+ message: err.message,
68
+ stacktrace: err.stack,
69
+ },
43
70
  });
44
71
  ctx.span.setTag("error", true);
45
72
  }
46
- TraceContext.logError = logError;
73
+ TraceContext.setError = setError;
74
+ function setJsonRPCMetadata(ctx, method) {
75
+ if (!ctx.span) {
76
+ return;
77
+ }
78
+ const tags = {
79
+ rpc: {
80
+ system: "jsonrpc",
81
+ // version,
82
+ },
83
+ };
84
+ if (method) {
85
+ tags.rpc.method = method;
86
+ }
87
+ addNestedTags(ctx, tags);
88
+ }
89
+ TraceContext.setJsonRPCMetadata = setJsonRPCMetadata;
90
+ function setJsonRPCError(ctx, method, err, withStatusCode = false) {
91
+ if (!ctx.span) {
92
+ return;
93
+ }
94
+ // not use setError bc this is (most likely) a working operation
95
+ setJsonRPCMetadata(ctx, method);
96
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#json-rpc
97
+ addNestedTags(ctx, {
98
+ rpc: {
99
+ jsonrpc: {
100
+ error_code: err.code,
101
+ error_message: err.message,
102
+ },
103
+ },
104
+ });
105
+ // the field "status_code" is used by honeycomb to derive insights like success rate, etc. Defaults to "0".
106
+ if (withStatusCode) {
107
+ ctx.span.setTag("status_code", err.code);
108
+ }
109
+ }
110
+ TraceContext.setJsonRPCError = setJsonRPCError;
111
+ function addJsonRPCParameters(ctx, params) {
112
+ if (!ctx.span) {
113
+ return;
114
+ }
115
+ setJsonRPCMetadata(ctx);
116
+ addNestedTags(ctx, {
117
+ rpc: {
118
+ jsonrpc: {
119
+ parameters: params,
120
+ },
121
+ },
122
+ });
123
+ }
124
+ TraceContext.addJsonRPCParameters = addJsonRPCParameters;
125
+ /**
126
+ * Does what one would expect from `span.addTags`: Calls `span.addTag` for all keys in map, recursively for objects.
127
+ * Example:
128
+ * ```
129
+ * TraceContext.addNestedTags(ctx, {
130
+ * rpc: {
131
+ * system: "jsonrpc",
132
+ * jsonrpc: {
133
+ * version: "1.0",
134
+ * method: "test",
135
+ * parameters: ["abc", "def"],
136
+ * },
137
+ * },
138
+ * });
139
+ * ```
140
+ * gives
141
+ * rpc.system = "jsonrpc"
142
+ * rpc.jsonrpc.version = "1.0"
143
+ * rpc.jsonrpc.method = "test"
144
+ * rpc.jsonrpc.parameters.0 = "abc"
145
+ * rpc.jsonrpc.parameters.1 = "def"
146
+ * @param ctx
147
+ * @param keyValueMap
148
+ * @returns
149
+ */
150
+ function addNestedTags(ctx, keyValueMap, _namespace) {
151
+ if (!ctx.span) {
152
+ return;
153
+ }
154
+ const namespace = _namespace ? `${_namespace}.` : '';
155
+ try {
156
+ for (const k of Object.keys(keyValueMap)) {
157
+ const v = keyValueMap[k];
158
+ if (v instanceof Object) {
159
+ addNestedTags(ctx, v, `${namespace}${k}`);
160
+ }
161
+ else {
162
+ ctx.span.setTag(`${namespace}${k}`, v);
163
+ }
164
+ }
165
+ }
166
+ catch (err) {
167
+ // general resilience against odd shapes/parameters
168
+ logging_1.log.error("Tracing.addNestedTags", err, { namespace });
169
+ }
170
+ }
171
+ TraceContext.addNestedTags = addNestedTags;
172
+ function setOWI(ctx, owi) {
173
+ if (!ctx.span) {
174
+ return;
175
+ }
176
+ addNestedTags(ctx, {
177
+ context: owi,
178
+ });
179
+ }
180
+ TraceContext.setOWI = setOWI;
47
181
  })(TraceContext = exports.TraceContext || (exports.TraceContext = {}));
48
- var TracingManager = /** @class */ (function () {
49
- function TracingManager() {
50
- }
51
- TracingManager.prototype.setup = function (serviceName, opts) {
52
- opentracing_1.initGlobalTracer(this.getTracerForService(serviceName, opts));
53
- };
54
- TracingManager.prototype.getTracerForService = function (serviceName, opts) {
55
- var config = {
182
+ let TracingManager = class TracingManager {
183
+ setup(serviceName, opts) {
184
+ (0, opentracing_1.initGlobalTracer)(this.getTracerForService(serviceName, opts));
185
+ }
186
+ getTracerForService(serviceName, opts) {
187
+ const config = {
56
188
  disable: false,
57
189
  reporter: {
58
190
  logSpans: false
59
191
  },
60
- serviceName: serviceName
192
+ serviceName,
61
193
  };
62
- var t = jaeger_client_1.initTracerFromEnv(config, {
63
- logger: console
194
+ const t = (0, jaeger_client_1.initTracerFromEnv)(config, {
195
+ logger: console,
196
+ tags: {
197
+ 'service.build.commit': process.env.GITPOD_BUILD_GIT_COMMIT,
198
+ 'service.build.version': process.env.GITPOD_BUILD_VERSION,
199
+ }
64
200
  });
65
201
  if (opts) {
66
202
  if (opts.perOpSampling) {
@@ -68,26 +204,25 @@ var TracingManager = /** @class */ (function () {
68
204
  }
69
205
  }
70
206
  return t;
71
- };
72
- TracingManager = __decorate([
73
- inversify_1.injectable()
74
- ], TracingManager);
75
- return TracingManager;
76
- }());
207
+ }
208
+ };
209
+ TracingManager = __decorate([
210
+ (0, inversify_1.injectable)()
211
+ ], TracingManager);
77
212
  exports.TracingManager = TracingManager;
78
- var PerOperationSampler = /** @class */ (function () {
79
- function PerOperationSampler(fallback, strategies) {
213
+ class PerOperationSampler {
214
+ constructor(fallback, strategies) {
80
215
  this.fallback = fallback;
81
216
  this.strategies = strategies;
82
217
  }
83
- PerOperationSampler.prototype.name = function () {
218
+ name() {
84
219
  return 'PerOperationSampler';
85
- };
86
- PerOperationSampler.prototype.toString = function () {
87
- return "" + this.name();
88
- };
89
- PerOperationSampler.prototype.isSampled = function (operation, tags) {
90
- var shouldSample = this.strategies[operation];
220
+ }
221
+ toString() {
222
+ return `${this.name()}`;
223
+ }
224
+ isSampled(operation, tags) {
225
+ let shouldSample = this.strategies[operation];
91
226
  if (shouldSample === undefined) {
92
227
  if (!this.fallback.isSampled) {
93
228
  return false;
@@ -95,31 +230,30 @@ var PerOperationSampler = /** @class */ (function () {
95
230
  return this.fallback.isSampled(operation, tags);
96
231
  }
97
232
  return shouldSample;
98
- };
99
- PerOperationSampler.prototype.onCreateSpan = function (span) {
100
- var outTags = {};
101
- var isSampled = this.isSampled(span.operationName, outTags);
233
+ }
234
+ onCreateSpan(span) {
235
+ const outTags = {};
236
+ const isSampled = this.isSampled(span.operationName, outTags);
102
237
  // NB: return retryable=true here since we can change decision after setOperationName().
103
238
  return { sample: isSampled, retryable: true, tags: outTags };
104
- };
105
- PerOperationSampler.prototype.onSetOperationName = function (span, operationName) {
106
- var outTags = {};
107
- var isSampled = this.isSampled(span.operationName, outTags);
239
+ }
240
+ onSetOperationName(span, operationName) {
241
+ const outTags = {};
242
+ const isSampled = this.isSampled(span.operationName, outTags);
108
243
  return { sample: isSampled, retryable: false, tags: outTags };
109
- };
110
- PerOperationSampler.prototype.onSetTag = function (span, key, value) {
244
+ }
245
+ onSetTag(span, key, value) {
111
246
  return { sample: false, retryable: true, tags: null };
112
- };
113
- PerOperationSampler.prototype.equal = function (other) {
247
+ }
248
+ equal(other) {
114
249
  return false; // TODO equal should be removed
115
- };
116
- PerOperationSampler.prototype.close = function (callback) {
250
+ }
251
+ close(callback) {
117
252
  // all nested samplers are of simple types, so we do not need to Close them
118
253
  if (callback) {
119
254
  callback();
120
255
  }
121
- };
122
- return PerOperationSampler;
123
- }());
256
+ }
257
+ }
124
258
  exports.PerOperationSampler = PerOperationSampler;
125
259
  //# sourceMappingURL=tracing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=tracing.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.spec.d.ts","sourceRoot":"","sources":["../../src/util/tracing.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mocha_typescript_1 = require("mocha-typescript");
27
+ const chai = require("chai");
28
+ const tracing_1 = require("./tracing");
29
+ const opentracing_1 = require("opentracing");
30
+ const expect = chai.expect;
31
+ let TestTracing = class TestTracing {
32
+ testTracingContext_addNestedTags() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const tracer = new opentracing_1.MockTracer();
35
+ const span = tracer.startSpan('testTracingContext_addNestedTags');
36
+ tracing_1.TraceContext.addNestedTags({ span }, {
37
+ rpc: {
38
+ system: "jsonrpc",
39
+ jsonrpc: {
40
+ version: "1.0",
41
+ method: "test",
42
+ parameters: ["abc", "def"],
43
+ },
44
+ },
45
+ });
46
+ const mockSpan = tracer.report().spans[0];
47
+ expect(mockSpan.tags()).to.deep.equal({
48
+ "rpc.system": "jsonrpc",
49
+ "rpc.jsonrpc.version": "1.0",
50
+ "rpc.jsonrpc.method": "test",
51
+ "rpc.jsonrpc.parameters.0": "abc",
52
+ "rpc.jsonrpc.parameters.1": "def",
53
+ });
54
+ });
55
+ }
56
+ testTracingContext_addNestedTags_null() {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const tracer = new opentracing_1.MockTracer();
59
+ const span = tracer.startSpan('testTracingContext_addNestedTags_null');
60
+ tracing_1.TraceContext.addNestedTags({ span }, {
61
+ someShape: {
62
+ thisIsNull: null,
63
+ thisIsUndefined: undefined,
64
+ },
65
+ });
66
+ const mockSpan = tracer.report().spans[0];
67
+ expect(mockSpan.tags()).to.deep.equal({
68
+ "someShape.thisIsNull": null,
69
+ "someShape.thisIsUndefined": undefined,
70
+ });
71
+ });
72
+ }
73
+ testTracingContext_addJsonRPCParameters() {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const tracer = new opentracing_1.MockTracer();
76
+ const span = tracer.startSpan('testTracingContext_addJsonRPCParameters');
77
+ const ctx = { span };
78
+ tracing_1.TraceContext.addJsonRPCParameters(ctx, {
79
+ one: "one",
80
+ two: {
81
+ name: "two",
82
+ some: "shape",
83
+ containing: "PII",
84
+ },
85
+ three: "three",
86
+ });
87
+ const mockSpan = tracer.report().spans[0];
88
+ expect(mockSpan.tags()).to.deep.equal({
89
+ "rpc.jsonrpc.parameters.one": "one",
90
+ "rpc.jsonrpc.parameters.two.containing": "PII",
91
+ "rpc.jsonrpc.parameters.two.name": "two",
92
+ "rpc.jsonrpc.parameters.two.some": "shape",
93
+ "rpc.jsonrpc.parameters.three": "three",
94
+ "rpc.system": "jsonrpc",
95
+ });
96
+ });
97
+ }
98
+ };
99
+ __decorate([
100
+ mocha_typescript_1.test,
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", []),
103
+ __metadata("design:returntype", Promise)
104
+ ], TestTracing.prototype, "testTracingContext_addNestedTags", null);
105
+ __decorate([
106
+ mocha_typescript_1.test,
107
+ __metadata("design:type", Function),
108
+ __metadata("design:paramtypes", []),
109
+ __metadata("design:returntype", Promise)
110
+ ], TestTracing.prototype, "testTracingContext_addNestedTags_null", null);
111
+ __decorate([
112
+ mocha_typescript_1.test,
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", []),
115
+ __metadata("design:returntype", Promise)
116
+ ], TestTracing.prototype, "testTracingContext_addJsonRPCParameters", null);
117
+ TestTracing = __decorate([
118
+ mocha_typescript_1.suite
119
+ ], TestTracing);
120
+ module.exports = new TestTracing();
121
+ //# sourceMappingURL=tracing.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.spec.js","sourceRoot":"","sources":["../../src/util/tracing.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 TypeFox GmbH. All rights reserved.
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
@@ -14,10 +14,11 @@ exports.worspacePortAuthCookieName = void 0;
14
14
  * - server:
15
15
  * - to authenticate access to port locations
16
16
  */
17
- exports.worspacePortAuthCookieName = function (host, workspaceId) {
17
+ const worspacePortAuthCookieName = function (host, workspaceId) {
18
18
  return host
19
19
  .replace(/https?/, '')
20
20
  .replace(/[\W_]+/g, "_")
21
- + ("_ws_" + workspaceId + "_port_auth_");
21
+ + `_ws_${workspaceId}_port_auth_`;
22
22
  };
23
+ exports.worspacePortAuthCookieName = worspacePortAuthCookieName;
23
24
  //# sourceMappingURL=workspace-port-authentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-port-authentication.js","sourceRoot":"","sources":["../../src/util/workspace-port-authentication.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;;;;EAOE;AACW,QAAA,0BAA0B,GAAG,UAAS,IAAY,EAAE,WAAmB;IAChF,OAAO,IAAI;SACN,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;WACtB,SAAO,WAAW,gBAAa,CAAA,CAAC;AAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-port-authentication.js","sourceRoot":"","sources":["../../src/util/workspace-port-authentication.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;;;;EAOE;AACK,MAAM,0BAA0B,GAAG,UAAS,IAAY,EAAE,WAAmB;IAChF,OAAO,IAAI;SACN,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;UACtB,OAAO,WAAW,aAAa,CAAC;AAC1C,CAAC,CAAC;AALW,QAAA,0BAA0B,8BAKrC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { DeepPartial } from "./util/deep-partial";
7
+ import { PermissionName } from './permission';
8
+ export interface WorkspaceCluster {
9
+ name: string;
10
+ url: string;
11
+ tls?: TLSConfig;
12
+ state: WorkspaceClusterState;
13
+ maxScore: number;
14
+ score: number;
15
+ govern: boolean;
16
+ admissionConstraints?: AdmissionConstraint[];
17
+ }
18
+ export declare type WorkspaceClusterState = "available" | "cordoned" | "draining";
19
+ export interface TLSConfig {
20
+ ca: string;
21
+ key: string;
22
+ crt: string;
23
+ }
24
+ export declare namespace TLSConfig {
25
+ const loadFromBase64File: (path: string) => string;
26
+ }
27
+ export declare type WorkspaceClusterWoTLS = Omit<WorkspaceCluster, "tls">;
28
+ export declare type WorkspaceManagerConnectionInfo = Pick<WorkspaceCluster, "name" | "url" | "tls">;
29
+ export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasRole | AdmissionConstraintHasUserLevel | AdmissionConstraintHasMoreResources;
30
+ export declare type AdmissionConstraintFeaturePreview = {
31
+ type: "has-feature-preview";
32
+ };
33
+ export declare type AdmissionConstraintHasRole = {
34
+ type: "has-permission";
35
+ permission: PermissionName;
36
+ };
37
+ export declare type AdmissionConstraintHasUserLevel = {
38
+ type: "has-user-level";
39
+ level: string;
40
+ };
41
+ export declare type AdmissionConstraintHasMoreResources = {
42
+ type: "has-more-resources";
43
+ };
44
+ export declare const WorkspaceClusterDB: unique symbol;
45
+ export interface WorkspaceClusterDB {
46
+ /**
47
+ * Stores the given WorkspaceCluster to the cluster-local DB in a consistent manner.
48
+ * If there already is an entry with the same name it's merged and updated with the given state.
49
+ * @param cluster
50
+ */
51
+ save(cluster: WorkspaceCluster): Promise<void>;
52
+ /**
53
+ * Deletes the cluster identified by this name, if any.
54
+ * @param name
55
+ */
56
+ deleteByName(name: string): Promise<void>;
57
+ /**
58
+ * Finds a WorkspaceCluster with the given name. If there is none, `undefined` is returned.
59
+ * @param name
60
+ */
61
+ findByName(name: string): Promise<WorkspaceCluster | undefined>;
62
+ /**
63
+ * Lists all WorkspaceClusterWoTls for which the given predicate is true (does not return TLS for size/speed concerns)
64
+ * @param predicate
65
+ */
66
+ findFiltered(predicate: DeepPartial<WorkspaceClusterFilter>): Promise<WorkspaceClusterWoTLS[]>;
67
+ }
68
+ export interface WorkspaceClusterFilter extends Pick<WorkspaceCluster, "state" | "govern" | "url"> {
69
+ minScore: number;
70
+ }
71
+ //# sourceMappingURL=workspace-cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-cluster.d.ts","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAI7B,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IAGZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,KAAK,EAAE,qBAAqB,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,OAAO,CAAC;IAGhB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChD;AAED,oBAAY,qBAAqB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1E,MAAM,WAAW,SAAS;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACf;AACD,yBAAiB,SAAS,CAAC;IAChB,MAAM,kBAAkB,SAAU,MAAM,KAAG,MAA6E,CAAC;CACnI;AACD,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAY,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE5F,oBAAY,mBAAmB,GAAG,iCAAiC,GAAG,0BAA0B,GAAG,+BAA+B,GAAG,mCAAmC,CAAC;AACzK,oBAAY,iCAAiC,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAChF,oBAAY,0BAA0B,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AAChG,oBAAY,+BAA+B,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,oBAAY,mCAAmC,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAGjF,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAClG;AACD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.WorkspaceClusterDB = exports.TLSConfig = void 0;
9
+ const fs = require("fs");
10
+ const env_1 = require("./env");
11
+ var TLSConfig;
12
+ (function (TLSConfig) {
13
+ TLSConfig.loadFromBase64File = (path) => fs.readFileSync((0, env_1.filePathTelepresenceAware)(path)).toString("base64");
14
+ })(TLSConfig = exports.TLSConfig || (exports.TLSConfig = {}));
15
+ exports.WorkspaceClusterDB = Symbol("WorkspaceClusterDB");
16
+ //# sourceMappingURL=workspace-cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AAyClD,IAAiB,SAAS,CAEzB;AAFD,WAAiB,SAAS;IACT,4BAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpI,CAAC,EAFgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEzB;AAWY,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}