-
Notifications
You must be signed in to change notification settings - Fork 4.4k
/
services
111 lines (110 loc) · 3.42 KB
/
services
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
${[0].map(
() => {
let prevKind;
let name;
const gateways = ['mesh-gateway', 'ingress-gateway', 'terminating-gateway'];
return `
[
${
range(
env(
'CONSUL_SERVICE_COUNT',
Math.floor(
(
Math.random() * env('CONSUL_SERVICE_MAX', 10)
) + parseInt(env('CONSUL_SERVICE_MIN', 1))
)
)
).map(
function(item, i)
{
let kind;
switch(i) {
case 0:
kind = '';
break;
case 1:
kind = 'connect-proxy';
break;
case 2:
case 3:
case 4:
kind = gateways[i - 2];
break;
default:
kind = prevKind === '' ? fake.helpers.randomize(['connect-proxy', '']) : fake.helpers.randomize(['', '', '', ''].concat(gateways));
}
prevKind = kind;
if(kind === 'connect-proxy') {
name = `${name}-proxy`;
} else {
name = `service-${i}${ kind !== '' ? `-${kind.replace('connect-', '')}` : '' }`;
}
return `
{
"Name":"${name}",
${typeof location.search.ns !== 'undefined' ? `
"Namespace": "${location.search.ns}",
` : ``}
"Tags": [
${
range(
env(
'CONSUL_TAG_COUNT',
Math.floor(
(
Math.random() * env('CONSUL_TAG_MAX', 10)
) + parseInt(env('CONSUL_TAG_MIN', 1))
)
)
).map(
function(item, i)
{
return `"${fake.hacker.noun()}"`;
}
)
}
],
"ConnectedWithProxy":${fake.random.boolean()},
"ConnectedWithGateway":${fake.random.boolean()},
"GatewayConfig": {
${fake.random.boolean() ? `
"AssociatedServiceCount": ${fake.random.number({min: 1, max: 4000})}
` : ``}
},
${kind !== '' ? `
"Kind": "${kind}",
` : `` }
"InstanceCount": ${fake.helpers.randomize([fake.random.number({min: 1, max: 4000}), fake.random.number({min: 1, max: 90}), fake.random.number({min: 1, max: 10})])},
${ fake.random.number({min: 1, max: 10}) > 2 ? `
"ExternalSources": [
${
range(fake.random.number({min: 1, max: 1})).map(
function(item, i)
{
return `"${fake.helpers.randomize(['vault', 'nomad', 'terraform', 'kubernetes', 'aws', ''])}"`;
}
)
}
],
` : `` }
"Nodes":[
${
range(env('CONSUL_NODE_COUNT', 100)).map(
function(item, i)
{
return `"node-${i}"`;
}
)
}
],
"ChecksPassing":${fake.random.number({min: 1, max: env('CONSUL_CHECK_COUNT', fake.random.number(10))})},
"ChecksWarning":${fake.random.number({min: 0, max: env('CONSUL_CHECK_COUNT', fake.random.number(10))})},
"ChecksCritical":${fake.random.number({min: 0, max: env('CONSUL_CHECK_COUNT', fake.random.number(10))})}
}
`;
}
)
}
]
`})}