@bluedynamics/cdk8s-monitoring 0.0.1
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/CLAUDE.md +76 -0
- package/LICENSE +202 -0
- package/README.md +87 -0
- package/examples/synth.ts +17 -0
- package/lib/constructs/alloy.d.ts +29 -0
- package/lib/constructs/alloy.js +214 -0
- package/lib/constructs/grafana-password-secret.d.ts +57 -0
- package/lib/constructs/grafana-password-secret.js +99 -0
- package/lib/constructs/loki-s3-bucket.d.ts +24 -0
- package/lib/constructs/loki-s3-bucket.js +147 -0
- package/lib/constructs/loki-s3-credentials.d.ts +27 -0
- package/lib/constructs/loki-s3-credentials.js +71 -0
- package/lib/constructs/loki.d.ts +30 -0
- package/lib/constructs/loki.js +185 -0
- package/lib/constructs/namespace.d.ts +13 -0
- package/lib/constructs/namespace.js +34 -0
- package/lib/constructs/priority-class.d.ts +12 -0
- package/lib/constructs/priority-class.js +38 -0
- package/lib/constructs/prometheus-stack.d.ts +30 -0
- package/lib/constructs/prometheus-stack.js +477 -0
- package/lib/constructs/thanos-compactor.d.ts +35 -0
- package/lib/constructs/thanos-compactor.js +198 -0
- package/lib/constructs/thanos-query.d.ts +30 -0
- package/lib/constructs/thanos-query.js +205 -0
- package/lib/constructs/thanos-s3-bucket.d.ts +24 -0
- package/lib/constructs/thanos-s3-bucket.js +147 -0
- package/lib/constructs/thanos-s3-credentials.d.ts +27 -0
- package/lib/constructs/thanos-s3-credentials.js +93 -0
- package/lib/constructs/thanos-store.d.ts +30 -0
- package/lib/constructs/thanos-store.js +239 -0
- package/lib/default-config.d.ts +12 -0
- package/lib/default-config.js +77 -0
- package/lib/imports/external-secrets.io.d.ts +39243 -0
- package/lib/imports/external-secrets.io.js +23112 -0
- package/lib/imports/generators.external-secrets.io.d.ts +7831 -0
- package/lib/imports/generators.external-secrets.io.js +4895 -0
- package/lib/imports/k8s.d.ts +24537 -0
- package/lib/imports/k8s.js +18268 -0
- package/lib/imports/s3.aws.upbound.io.d.ts +2882 -0
- package/lib/imports/s3.aws.upbound.io.js +1828 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +38 -0
- package/lib/monitoring-chart.d.ts +39 -0
- package/lib/monitoring-chart.js +127 -0
- package/lib/types.d.ts +142 -0
- package/lib/types.js +3 -0
- package/package.json +117 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_CONFIG = void 0;
|
|
4
|
+
exports.mergeConfig = mergeConfig;
|
|
5
|
+
const deepmerge_ts_1 = require("deepmerge-ts");
|
|
6
|
+
/**
|
|
7
|
+
* Package-shipped defaults for everything that has a sensible universal value.
|
|
8
|
+
* Values mirror the kup6s production config at the time of extraction; integration
|
|
9
|
+
* charts override only what they need via {@link mergeConfig}.
|
|
10
|
+
*/
|
|
11
|
+
exports.DEFAULT_CONFIG = {
|
|
12
|
+
versions: {
|
|
13
|
+
prometheusStack: '87.0.0',
|
|
14
|
+
loki: '7.0.0',
|
|
15
|
+
alloy: '1.10.0',
|
|
16
|
+
thanos: 'v0.41.0',
|
|
17
|
+
},
|
|
18
|
+
retention: {
|
|
19
|
+
prometheus: '2d',
|
|
20
|
+
prometheusS3Raw: 30,
|
|
21
|
+
prometheusS35m: 180,
|
|
22
|
+
prometheusS31h: 730,
|
|
23
|
+
loki: '744h',
|
|
24
|
+
},
|
|
25
|
+
storage: {
|
|
26
|
+
prometheus: '15Gi',
|
|
27
|
+
grafana: '5Gi',
|
|
28
|
+
alertmanager: '1Gi',
|
|
29
|
+
lokiBackend: '10Gi',
|
|
30
|
+
lokiWrite: '3Gi',
|
|
31
|
+
thanosStore: '10Gi',
|
|
32
|
+
thanosCompactor: '20Gi',
|
|
33
|
+
},
|
|
34
|
+
replicas: {
|
|
35
|
+
prometheus: 2,
|
|
36
|
+
alertmanager: 2,
|
|
37
|
+
grafana: 1,
|
|
38
|
+
lokiBackend: 2,
|
|
39
|
+
lokiRead: 2,
|
|
40
|
+
lokiWrite: 2,
|
|
41
|
+
thanosQuery: 2,
|
|
42
|
+
thanosStore: 2,
|
|
43
|
+
},
|
|
44
|
+
resources: {
|
|
45
|
+
prometheus: { requests: { cpu: '100m', memory: '1500Mi' }, limits: { cpu: '2', memory: '3000Mi' } },
|
|
46
|
+
grafana: { requests: { cpu: '50m', memory: '512Mi' }, limits: { cpu: '200m', memory: '1Gi' } },
|
|
47
|
+
alertmanager: { requests: { cpu: '25m', memory: '100Mi' }, limits: { cpu: '100m', memory: '200Mi' } },
|
|
48
|
+
lokiBackend: { requests: { cpu: '100m', memory: '256Mi' }, limits: { cpu: '500m', memory: '512Mi' } },
|
|
49
|
+
lokiRead: { requests: { cpu: '100m', memory: '256Mi' }, limits: { cpu: '500m', memory: '512Mi' } },
|
|
50
|
+
lokiWrite: { requests: { cpu: '100m', memory: '512Mi' }, limits: { cpu: '1', memory: '1Gi' } },
|
|
51
|
+
lokiGateway: { requests: { cpu: '50m', memory: '128Mi' }, limits: { cpu: '200m', memory: '256Mi' } },
|
|
52
|
+
alloy: { requests: { cpu: '100m', memory: '128Mi' }, limits: { cpu: '200m', memory: '256Mi' } },
|
|
53
|
+
thanosQuery: { requests: { cpu: '200m', memory: '512Mi' }, limits: { cpu: '1000m', memory: '1Gi' } },
|
|
54
|
+
thanosStore: { requests: { cpu: '200m', memory: '1Gi' }, limits: { cpu: '1000m', memory: '2Gi' } },
|
|
55
|
+
thanosCompactor: { requests: { cpu: '500m', memory: '2Gi' }, limits: { cpu: '2000m', memory: '4Gi' } },
|
|
56
|
+
configReloader: { requests: { cpu: '10m', memory: '50Mi' }, limits: { cpu: '50m', memory: '100Mi' } },
|
|
57
|
+
thanosSidecar: { requests: { cpu: '10m', memory: '50Mi' }, limits: { cpu: '100m', memory: '100Mi' } },
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Resolve a full MonitoringConfig by deep-merging the caller's overrides over
|
|
62
|
+
* DEFAULT_CONFIG. Required cluster values are passed through verbatim.
|
|
63
|
+
*/
|
|
64
|
+
function mergeConfig(input) {
|
|
65
|
+
return {
|
|
66
|
+
namespace: input.namespace,
|
|
67
|
+
domains: input.domains,
|
|
68
|
+
s3: input.s3,
|
|
69
|
+
smtp: input.smtp,
|
|
70
|
+
versions: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.versions, input.versions ?? {}),
|
|
71
|
+
retention: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.retention, input.retention ?? {}),
|
|
72
|
+
storage: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.storage, input.storage ?? {}),
|
|
73
|
+
replicas: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.replicas, input.replicas ?? {}),
|
|
74
|
+
resources: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.resources, input.resources ?? {}),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUVBLGtDQVlDO0FBN0VELCtDQUF5QztBQU16Qzs7OztHQUlHO0FBQ1UsUUFBQSxjQUFjLEdBQXNCO0lBQy9DLFFBQVEsRUFBRTtRQUNSLGVBQWUsRUFBRSxRQUFRO1FBQ3pCLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSyxFQUFFLFFBQVE7UUFDZixNQUFNLEVBQUUsU0FBUztLQUNsQjtJQUNELFNBQVMsRUFBRTtRQUNULFVBQVUsRUFBRSxJQUFJO1FBQ2hCLGVBQWUsRUFBRSxFQUFFO1FBQ25CLGNBQWMsRUFBRSxHQUFHO1FBQ25CLGNBQWMsRUFBRSxHQUFHO1FBQ25CLElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRCxPQUFPLEVBQUU7UUFDUCxVQUFVLEVBQUUsTUFBTTtRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLFlBQVksRUFBRSxLQUFLO1FBQ25CLFdBQVcsRUFBRSxNQUFNO1FBQ25CLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGVBQWUsRUFBRSxNQUFNO0tBQ3hCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsVUFBVSxFQUFFLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsV0FBVyxFQUFFLENBQUM7UUFDZCxRQUFRLEVBQUUsQ0FBQztRQUNYLFNBQVMsRUFBRSxDQUFDO1FBQ1osV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsQ0FBQztLQUNmO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbkcsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDbEcsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDcEcsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDL0YsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDcEcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEcsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdEcsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7S0FDdEc7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQTRCO0lBQ3RELE9BQU87UUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFrQjtRQUNuRixTQUFTLEVBQUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFvQjtRQUN4RixPQUFPLEVBQUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFrQjtRQUNoRixRQUFRLEVBQUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFrQjtRQUNuRixTQUFTLEVBQUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFtQjtLQUN4RixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge1xuICBEZWZhdWx0YWJsZUNvbmZpZywgTW9uaXRvcmluZ0NvbmZpZywgTW9uaXRvcmluZ0NvbmZpZ0lucHV0LFxuICBWZXJzaW9uQ29uZmlnLCBSZXRlbnRpb25Db25maWcsIFN0b3JhZ2VDb25maWcsIFJlcGxpY2FDb25maWcsIFJlc291cmNlQ29uZmlnLFxufSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBQYWNrYWdlLXNoaXBwZWQgZGVmYXVsdHMgZm9yIGV2ZXJ5dGhpbmcgdGhhdCBoYXMgYSBzZW5zaWJsZSB1bml2ZXJzYWwgdmFsdWUuXG4gKiBWYWx1ZXMgbWlycm9yIHRoZSBrdXA2cyBwcm9kdWN0aW9uIGNvbmZpZyBhdCB0aGUgdGltZSBvZiBleHRyYWN0aW9uOyBpbnRlZ3JhdGlvblxuICogY2hhcnRzIG92ZXJyaWRlIG9ubHkgd2hhdCB0aGV5IG5lZWQgdmlhIHtAbGluayBtZXJnZUNvbmZpZ30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRGVmYXVsdGFibGVDb25maWcgPSB7XG4gIHZlcnNpb25zOiB7XG4gICAgcHJvbWV0aGV1c1N0YWNrOiAnODcuMC4wJyxcbiAgICBsb2tpOiAnNy4wLjAnLFxuICAgIGFsbG95OiAnMS4xMC4wJyxcbiAgICB0aGFub3M6ICd2MC40MS4wJyxcbiAgfSxcbiAgcmV0ZW50aW9uOiB7XG4gICAgcHJvbWV0aGV1czogJzJkJyxcbiAgICBwcm9tZXRoZXVzUzNSYXc6IDMwLFxuICAgIHByb21ldGhldXNTMzVtOiAxODAsXG4gICAgcHJvbWV0aGV1c1MzMWg6IDczMCxcbiAgICBsb2tpOiAnNzQ0aCcsXG4gIH0sXG4gIHN0b3JhZ2U6IHtcbiAgICBwcm9tZXRoZXVzOiAnMTVHaScsXG4gICAgZ3JhZmFuYTogJzVHaScsXG4gICAgYWxlcnRtYW5hZ2VyOiAnMUdpJyxcbiAgICBsb2tpQmFja2VuZDogJzEwR2knLFxuICAgIGxva2lXcml0ZTogJzNHaScsXG4gICAgdGhhbm9zU3RvcmU6ICcxMEdpJyxcbiAgICB0aGFub3NDb21wYWN0b3I6ICcyMEdpJyxcbiAgfSxcbiAgcmVwbGljYXM6IHtcbiAgICBwcm9tZXRoZXVzOiAyLFxuICAgIGFsZXJ0bWFuYWdlcjogMixcbiAgICBncmFmYW5hOiAxLFxuICAgIGxva2lCYWNrZW5kOiAyLFxuICAgIGxva2lSZWFkOiAyLFxuICAgIGxva2lXcml0ZTogMixcbiAgICB0aGFub3NRdWVyeTogMixcbiAgICB0aGFub3NTdG9yZTogMixcbiAgfSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcHJvbWV0aGV1czogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMTUwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMicsIG1lbW9yeTogJzMwMDBNaScgfSB9LFxuICAgIGdyYWZhbmE6IHsgcmVxdWVzdHM6IHsgY3B1OiAnNTBtJywgbWVtb3J5OiAnNTEyTWknIH0sIGxpbWl0czogeyBjcHU6ICcyMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgYWxlcnRtYW5hZ2VyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzI1bScsIG1lbW9yeTogJzEwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzIwME1pJyB9IH0sXG4gICAgbG9raUJhY2tlbmQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVJlYWQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVdyaXRlOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICBsb2tpR2F0ZXdheTogeyByZXF1ZXN0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIGFsbG95OiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIHRoYW5vc1F1ZXJ5OiB7IHJlcXVlc3RzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgdGhhbm9zU3RvcmU6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzFHaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMkdpJyB9IH0sXG4gICAgdGhhbm9zQ29tcGFjdG9yOiB7IHJlcXVlc3RzOiB7IGNwdTogJzUwMG0nLCBtZW1vcnk6ICcyR2knIH0sIGxpbWl0czogeyBjcHU6ICcyMDAwbScsIG1lbW9yeTogJzRHaScgfSB9LFxuICAgIGNvbmZpZ1JlbG9hZGVyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwbScsIG1lbW9yeTogJzUwTWknIH0sIGxpbWl0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRoYW5vc1NpZGVjYXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTBtJywgbWVtb3J5OiAnNTBNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBSZXNvbHZlIGEgZnVsbCBNb25pdG9yaW5nQ29uZmlnIGJ5IGRlZXAtbWVyZ2luZyB0aGUgY2FsbGVyJ3Mgb3ZlcnJpZGVzIG92ZXJcbiAqIERFRkFVTFRfQ09ORklHLiBSZXF1aXJlZCBjbHVzdGVyIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggdmVyYmF0aW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbmZpZyhpbnB1dDogTW9uaXRvcmluZ0NvbmZpZ0lucHV0KTogTW9uaXRvcmluZ0NvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbmFtZXNwYWNlOiBpbnB1dC5uYW1lc3BhY2UsXG4gICAgZG9tYWluczogaW5wdXQuZG9tYWlucyxcbiAgICBzMzogaW5wdXQuczMsXG4gICAgc210cDogaW5wdXQuc210cCxcbiAgICB2ZXJzaW9uczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnZlcnNpb25zLCBpbnB1dC52ZXJzaW9ucyA/PyB7fSkgYXMgVmVyc2lvbkNvbmZpZyxcbiAgICByZXRlbnRpb246IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5yZXRlbnRpb24sIGlucHV0LnJldGVudGlvbiA/PyB7fSkgYXMgUmV0ZW50aW9uQ29uZmlnLFxuICAgIHN0b3JhZ2U6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5zdG9yYWdlLCBpbnB1dC5zdG9yYWdlID8/IHt9KSBhcyBTdG9yYWdlQ29uZmlnLFxuICAgIHJlcGxpY2FzOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucmVwbGljYXMsIGlucHV0LnJlcGxpY2FzID8/IHt9KSBhcyBSZXBsaWNhQ29uZmlnLFxuICAgIHJlc291cmNlczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnJlc291cmNlcywgaW5wdXQucmVzb3VyY2VzID8/IHt9KSBhcyBSZXNvdXJjZUNvbmZpZyxcbiAgfTtcbn1cbiJdfQ==
|