-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.json
338 lines (338 loc) · 14.3 KB
/
config.json
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
{
"name": "aws-eks",
"viewName": "AWS EKS",
"type": "executer",
"imgUrl": "logo.png",
"execProgram": "node",
"main": "app.js",
"version": "1.4.0",
"description": "Amazon Web Services managed service for Kubernetes",
"category": [
"Containers"
],
"keywords": [
"eks",
"elastic",
"aws",
"amazon",
"cloud",
"kubernetes",
"k8s",
"pods",
"clusters",
"nodes",
"kubectl",
"fargate",
"deployments",
"services",
"tokens"
],
"auth": {
"authId": "awsAccount",
"params": [
{
"name": "accessKeyId",
"viewName": "Access Key ID",
"type": "vault",
"required": true,
"description": "AWS Access Key ID to use for authentication",
"placeholder": "AKIAIOSFODNN7EXAMPLE",
"learnUrl": "https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey"
},
{
"name": "secretAccessKey",
"viewName": "Secret Access Key",
"type": "vault",
"required": true,
"description": "AWS Secret Access Key to use for authentication",
"placeholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"learnUrl": "https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey"
}
]
},
"settings": [
{
"name": "region",
"viewName": "Default AWS Region",
"type": "string",
"description": "AWS Region to use by default",
"placeholder": "us-west-1",
"learnUrl": "https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints"
}
],
"methods": [
{
"name": "createCluster",
"viewName": "Create New Cluster",
"description": "Creates an Amazon EKS control plane.",
"params": [
{
"name": "clusterName",
"viewName": "Cluster Name",
"description": "The unique name to give to your cluster.",
"placeholder": "prod-a",
"learnUrl": "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createCluster-property",
"type": "string",
"required": true
},
{
"name": "region",
"viewName": "AWS Region",
"description": "The region to send service requests to. A region is a physical location around the world where the AWS data center is situated.",
"learnUrl": "https://aws.amazon.com/about-aws/global-infrastructure/regions_az/",
"type": "autocomplete",
"autocompleteType": "function",
"functionName": "listRegions",
"required": true
},
{
"name": "roleArn",
"viewName": "ARN Role",
"description": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html",
"type": "autocomplete",
"autocompleteType": "function",
"functionName": "listRoles",
"required": true
},
{
"name": "vpcSubnets",
"viewName": "VPC Subnet IDs",
"description": "Subnets for your Amazon EKS nodes, one subnet per line. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.",
"placeholder": "subnet-6782e71e",
"learnUrl": "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createCluster-property",
"type": "text",
"parserType": "array",
"required": true
},
{
"name": "vpcSecurityGroups",
"viewName": "VPC Security Group IDs",
"description": "One or more security groups, one group per line, for the cross-account elastic network interfaces that Amazon EKS creates to use that allow communication between your nodes and the Kubernetes control plane.",
"placeholder": "sg-6979fe18",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html",
"type": "text",
"parserType": "array",
"required": true
},
{
"name": "endpointPublicAccess",
"viewName": "Public Access",
"description": "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html",
"type": "boolean",
"default": true
},
{
"name": "endpointPrivateAccess",
"viewName": "Private Access",
"description": "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. If you disable private access and you have nodes or Fargate pods in the cluster, then ensure that Public Access CIDRs param includes the necessary CIDR blocks for communication with the nodes or Fargate pods.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html",
"type": "boolean",
"default": false
},
{
"name": "publicAccessCidrs",
"viewName": "Public Access CIDRs",
"description": "The CIDR blocks, one block per line, that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html",
"type": "text",
"parserType": "array"
},
{
"name": "kubernetesServiceIpv4Cidr",
"viewName": "Kubernetes Service IPv4 CIDR",
"description": "The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC.",
"learnUrl": "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createCluster-property",
"type": "string"
},
{
"name": "kubernetesIpFamily",
"viewName": "Kubernetes IP Family",
"description": "IP version to be used to assign Kubernetes Pod and Service IP addresses. If you don't specify a value, ipv4 is used by default. You can only specify an IP family when you create a cluster and can't change this value once the cluster is created. If you specify ipv6, the VPC and subnets that you specify for cluster creation must have both IPv4 and IPv6 CIDR blocks assigned to them.",
"learnUrl": "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createCluster-property",
"type": "options",
"required": true,
"default": "ipv4",
"options": [
{
"id": "ipv4",
"name": "IPv4"
},
{
"id": "ipv6",
"name": "IPv6"
}
]
},
{
"name": "apiLogs",
"viewName": "API Logs",
"description": "Enable or disable exporting the Kubernetes control plane API logs for your cluster to CloudWatch Logs.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html",
"type": "boolean",
"default": false
},
{
"name": "auditLogs",
"viewName": "Audit Logs",
"description": "Enable or disable exporting the Kubernetes control plane Audit logs for your cluster to CloudWatch Logs.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html",
"type": "boolean",
"default": false
},
{
"name": "authenticatorLogs",
"viewName": "Authenticator Logs",
"description": "Enable or disable exporting the Kubernetes control plane Authenticator logs for your cluster to CloudWatch Logs.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html",
"type": "boolean",
"default": false
},
{
"name": "controllerManagerLogs",
"viewName": "Controller Manager Logs",
"description": "Enable or disable exporting the Kubernetes control plane Controller Manager logs for your cluster to CloudWatch Logs.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html",
"type": "boolean",
"default": false
},
{
"name": "schedulerLogs",
"viewName": "Scheduler Logs",
"description": "Enable or disable exporting the Kubernetes control plane Scheduler logs for your cluster to CloudWatch Logs.",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html",
"type": "boolean",
"default": false
},
{
"name": "kubernetesVersion",
"viewName": "Kubernetes Version",
"description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.",
"placeholder": "1.28",
"learnUrl": "https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html",
"type": "string"
},
{
"name": "tags",
"viewName": "Tags",
"description": "The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value. You define them using \"KEY=VALUE\" syntax.",
"placeholder": "Name=prod-a\nEnvironment=production",
"type": "text",
"parserType": "keyValuePairs"
},
{
"name": "encryptionResources",
"viewName": "Cluster Encryption Resources",
"description": "The resources to be encrypted. The only supported value is \"secrets\".",
"learnUrl": "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EKS.html#createCluster-property",
"placeholder": "secrets",
"type": "text",
"parserType": "array"
},
{
"name": "encryptionKey",
"viewName": "Cluster Encryption Provider Key",
"description": "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.",
"learnUrl": "https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html",
"type": "string"
},
{
"name": "waitForActiveStatus",
"viewName": "Wait For Active Status",
"description": "Poll cluster's status until it's active",
"type": "boolean",
"default": true
}
]
},
{
"name": "runKubectlCommand",
"viewName": "Run Kubectl Command",
"params": [
{
"name": "clusterName",
"viewName": "EKS Cluster Name",
"description": "The name of the cluster to use in the kubectl configuration",
"placeholder": "testdev-a",
"type": "string",
"required": true
},
{
"name": "region",
"viewName": "AWS Region",
"description": "The region where the cluster is located",
"type": "autocomplete",
"autocompleteType": "function",
"functionName": "listRegions",
"required": true
},
{
"name": "workingDirectory",
"viewName": "Working Directory",
"type": "string",
"description": "Optional path on Kaholo agent to use as working directory, for commands using files",
"placeholder": "myproject/kubeyml",
"parserType": "filePath",
"parserOptions": {
"throwIfDoesntExist": true,
"acceptedTypes": ["directory"]
}
},
{
"name": "command",
"viewName": "Command",
"description": "Any command that starts with \"kubectl\"",
"placeholder": "kubectl get pods --all-namespaces",
"type": "text",
"parserType": "array",
"required": true
}
]
},
{
"name": "runHelmCommand",
"viewName": "Run Helm Command",
"params": [
{
"name": "clusterName",
"viewName": "EKS Cluster Name",
"description": "The name of the cluster to use in the kubectl configuration",
"placeholder": "testdev-a",
"type": "string",
"required": true
},
{
"name": "region",
"viewName": "AWS Region",
"description": "The region where the cluster is located",
"type": "autocomplete",
"autocompleteType": "function",
"functionName": "listRegions",
"required": true
},
{
"name": "workingDirectory",
"viewName": "Working Directory",
"type": "string",
"description": "Optional path on Kaholo agent to use as working directory, for commands using files",
"placeholder": "myproject/helmcharts",
"parserType": "filePath",
"parserOptions": {
"throwIfDoesntExist": true,
"acceptedTypes": ["directory"]
}
},
{
"name": "command",
"viewName": "Command",
"description": "Any command that starts with \"helm\"",
"placeholder": "helm install deploy-wzek bitnami/wordpress",
"type": "text",
"parserType": "array",
"required": true
}
]
}
]
}