diff --git a/client/gateway_client_test.go b/client/gateway_client_test.go
index ef75201..b936c1b 100644
--- a/client/gateway_client_test.go
+++ b/client/gateway_client_test.go
@@ -10,10 +10,10 @@ import (
var aVClusterResource = resource.Resource{
Version: "gateway/v2",
- Kind: "VClusters",
+ Kind: "VirtualCluster",
Name: "vcluster1",
Metadata: map[string]interface{}{"name": "vcluster1"},
- Json: []byte(`{"apiVersion":"v1","kind":"VClusters","metadata":{"name":"vcluster1"},"spec":{"prefix":"vcluster1_"}}`),
+ Json: []byte(`{"apiVersion":"v1","kind":"VirtualCluster","metadata":{"name":"vcluster1"},"spec":{"prefix":"vcluster1_"}}`),
}
func TestGwApplyShouldWork(t *testing.T) {
@@ -35,7 +35,7 @@ func TestGwApplyShouldWork(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"PUT",
- "http://baseUrl/gateway/v2/vclusters",
+ "http://baseUrl/gateway/v2/virtual-cluster",
nil,
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y").
And(httpmock.HeaderIs("X-CDK-CLIENT", "CLI/unknown")).
@@ -71,7 +71,7 @@ func TestGwApplyWithDryModeShouldWork(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"PUT",
- "http://baseUrl/gateway/v2/vclusters",
+ "http://baseUrl/gateway/v2/virtual-cluster",
"dryMode=true",
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y").
And(httpmock.BodyContainsBytes(aVClusterResource.Json)),
@@ -110,7 +110,7 @@ func TestGwApplyShouldFailIfNo2xx(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"PUT",
- "http://baseUrl/gateway/v2/vclusters",
+ "http://baseUrl/gateway/v2/virtual-cluster",
nil,
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y").
And(httpmock.BodyContainsBytes(aVClusterResource.Json)),
@@ -145,14 +145,14 @@ func TestGwGetShouldWork(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"GET",
- "http://baseUrl/gateway/v2/vclusters",
+ "http://baseUrl/gateway/v2/virtual-cluster",
nil,
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y").
And(httpmock.HeaderIs("X-CDK-CLIENT", "CLI/unknown")),
responder,
)
- vClusterKind := gatewayClient.GetKinds()["VClusters"]
+ vClusterKind := gatewayClient.GetKinds()["VirtualCluster"]
result, err := gatewayClient.Get(&vClusterKind, []string{}, nil)
if err != nil {
t.Error(err)
@@ -184,13 +184,13 @@ func TestGwGetShouldFailIfN2xx(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"GET",
- "http://baseUrl/gateway/v2/vclusters",
+ "http://baseUrl/gateway/v2/virtual-cluster",
nil,
httpmock.HeaderIs("Authorization", "Basic changeme"),
responder,
)
- vClusterKind := gatewayClient.GetKinds()["VClusters"]
+ vClusterKind := gatewayClient.GetKinds()["VirtualCluster"]
_, err = gatewayClient.Get(&vClusterKind, []string{}, nil)
if err == nil {
t.Failed()
@@ -219,14 +219,14 @@ func TestGwDeleteShouldWork(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"DELETE",
- "http://baseUrl/gateway/v2/vclusters/vcluster1",
+ "http://baseUrl/gateway/v2/virtual-cluster/vcluster1",
nil,
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y").
And(httpmock.HeaderIs("X-CDK-CLIENT", "CLI/unknown")),
responder,
)
- vClusters := gatewayClient.GetKinds()["VClusters"]
+ vClusters := gatewayClient.GetKinds()["VirtualCluster"]
err = gatewayClient.Delete(&vClusters, []string{}, "vcluster1")
if err != nil {
t.Error(err)
@@ -255,13 +255,13 @@ func TestGwDeleteShouldFailOnNot2XX(t *testing.T) {
httpmock.RegisterMatcherResponderWithQuery(
"DELETE",
- "http://baseUrl/gateway/v2/vclusters/vcluster1",
+ "http://baseUrl/gateway/v2/virtual-cluster/vcluster1",
nil,
httpmock.HeaderIs("Authorization", "Basic YWRtaW46Y29uZHVrdG9y"),
responder,
)
- vClusterKind := gatewayClient.GetKinds()["VClusters"]
+ vClusterKind := gatewayClient.GetKinds()["VirtualCluster"]
err = gatewayClient.Delete(&vClusterKind, []string{}, "vcluster1")
if err == nil {
t.Fail()
diff --git a/docker/initializerGw.json b/docker/initializerGw.json
index 16cc308..4d703b4 100644
--- a/docker/initializerGw.json
+++ b/docker/initializerGw.json
@@ -2,7 +2,7 @@
{
"httpRequest": {
"method": "Get",
- "path": "/gateway/v2/vclusters/vcluster1",
+ "path": "/gateway/v2/virtual-cluster/vcluster1",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -20,7 +20,7 @@
{
"httpRequest": {
"method": "Get",
- "path": "/gateway/v2/gateway-groups",
+ "path": "/gateway/v2/group",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -38,7 +38,7 @@
{
"httpRequest": {
"method": "Get",
- "path": "/gateway/v2/gateway-groups/g1",
+ "path": "/gateway/v2/group/g1",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -56,7 +56,7 @@
{
"httpRequest": {
"method": "Get",
- "path": "/gateway/v2/vclusters",
+ "path": "/gateway/v2/virtual-cluster",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -74,7 +74,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/vclusters",
+ "path": "/gateway/v2/virtual-cluster",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -92,7 +92,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/vclusters/vcluster1",
+ "path": "/gateway/v2/virtual-cluster/vcluster1",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -110,7 +110,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/alias-topics",
+ "path": "/gateway/v2/alias-topic",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -128,7 +128,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/concentration-rules",
+ "path": "/gateway/v2/concentration-rule",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -146,7 +146,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/gateway-groups",
+ "path": "/gateway/v2/group",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -164,7 +164,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/service-accounts",
+ "path": "/gateway/v2/service-account",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -182,7 +182,7 @@
{
"httpRequest": {
"method": "Put",
- "path": "/gateway/v2/interceptors",
+ "path": "/gateway/v2/interceptor",
"headers": {
"Authorization": "Basic YWRtaW46Y29uZHVrdG9y"
}
@@ -200,7 +200,7 @@
{
"httpRequest": {
"method": "GET",
- "path": "/gateway/v2/alias-topics",
+ "path": "/gateway/v2/alias-topic",
"queryStringParameters": {
"vcluster": "mycluster1",
"showDefaults": "true",
@@ -223,7 +223,7 @@
{
"httpRequest": {
"method": "GET",
- "path": "/gateway/v2/concentration-rules",
+ "path": "/gateway/v2/concentration-rule",
"queryStringParameters": {
"vcluster": "mycluster1",
"showDefaults": "true",
@@ -246,7 +246,7 @@
{
"httpRequest": {
"method": "GET",
- "path": "/gateway/v2/service-accounts",
+ "path": "/gateway/v2/service-account",
"queryStringParameters": {
"vcluster": "mycluster1",
"showDefaults": "true",
@@ -269,7 +269,7 @@
{
"httpRequest": {
"method": "GET",
- "path": "/gateway/v2/interceptors",
+ "path": "/gateway/v2/interceptor",
"queryStringParameters": {
"vcluster": "mycluster1",
"username": "me",
@@ -293,7 +293,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/alias-topics",
+ "path": "/gateway/v2/alias-topic",
"body": {
"name": "aliastopicname",
"vCluster": "v1"
@@ -315,7 +315,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/concentration-rules",
+ "path": "/gateway/v2/concentration-rule",
"body": {
"name": "cr1",
"vCluster": "v1"
@@ -337,7 +337,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/service-accounts",
+ "path": "/gateway/v2/service-account",
"body": {
"name": "s1",
"vCluster": "v1"
@@ -359,7 +359,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/service-accounts",
+ "path": "/gateway/v2/service-account",
"body": {
"name": "s1",
"vCluster": "v1"
@@ -381,7 +381,7 @@
{
"httpRequest": {
"method": "Delete",
- "path": "/gateway/v2/interceptors/i1",
+ "path": "/gateway/v2/interceptor/i1",
"body": {
"username": "me",
"group": "g1",
diff --git a/docker/test_resource_gw.yml b/docker/test_resource_gw.yml
index 3f2a479..657498b 100644
--- a/docker/test_resource_gw.yml
+++ b/docker/test_resource_gw.yml
@@ -1,20 +1,20 @@
---
apiVersion: gateway/v2
-kind: VClusters
+kind: VirtualCluster
metadata:
name: vcluster1
spec:
prefix: vcluster1
---
apiVersion: gateway/v2
-kind: VClusters
+kind: VirtualCluster
metadata:
name: vcluster2
spec:
prefix: vcluster2
---
apiVersion: gateway/v2
-kind: AliasTopics
+kind: AliasTopic
metadata:
name: alias1
vCluster: vcluster1
@@ -22,7 +22,7 @@ spec:
physicalName: vcluster1backtopic
---
apiVersion: gateway/v2
-kind: AliasTopics
+kind: AliasTopic
metadata:
name: alias2
vCluster: vcluster1
@@ -30,14 +30,14 @@ spec:
physicalName: vcluster1backtopic
---
apiVersion: gateway/v2
-kind: AliasTopics
+kind: AliasTopic
metadata:
name: alias
spec:
physicalName: vcluster1backtopic
---
apiVersion: gateway/v2
-kind: ConcentrationRules
+kind: ConcentrationRule
metadata:
name: rule1
vCluster: vcluster1
@@ -47,7 +47,7 @@ spec:
autoManaged: true
---
apiVersion: gateway/v2
-kind: ConcentrationRules
+kind: ConcentrationRule
metadata:
name: rule2
vCluster: vcluster1
@@ -56,7 +56,7 @@ spec:
physicalTopicName: yolo
---
apiVersion: gateway/v2
-kind: GatewayGroups
+kind: GatewayGroup
metadata:
name: group1
spec:
@@ -66,7 +66,7 @@ spec:
externalGroups: ["ext_g1", "ext_g2"]
---
apiVersion: gateway/v2
-kind: GatewayGroups
+kind: GatewayGroup
metadata:
name: group2
spec:
@@ -75,7 +75,7 @@ spec:
name: toto1
externalGroups: ["ext_g1", "ext_g2"]
---
-kind: Interceptors
+kind: Interceptor
apiVersion: gateway/v2
metadata:
name: enforce-partition-limit
@@ -86,7 +86,7 @@ spec:
topic: "client_topic_toto"
action: "BLOCK"
---
-kind: Interceptors
+kind: Interceptor
apiVersion: gateway/v2
metadata:
name: fieldlevelencryption
@@ -113,14 +113,14 @@ spec:
}
---
apiVersion: gateway/v2
-kind: ServiceAccounts
+kind: GatewayServiceAccount
metadata:
name: user1
spec:
type: Local
---
apiVersion: gateway/v2
-kind: ServiceAccounts
+kind: GatewayServiceAccount
metadata:
name: user1
vCluster: vcluster1
@@ -128,7 +128,7 @@ spec:
type: Local
---
apiVersion: gateway/v2
-kind: ServiceAccounts
+kind: GatewayServiceAccount
metadata:
name: user2
vCluster: vcluster1
diff --git a/schema/gateway-default-schema.json b/schema/gateway-default-schema.json
index 1c0b980..b473204 100644
--- a/schema/gateway-default-schema.json
+++ b/schema/gateway-default-schema.json
@@ -1 +1 @@
-{"AliasTopics":{"Versions":{"2":{"ListPath":"/gateway/v2/alias-topics","Name":"AliasTopics","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":8}}},"ConcentrationRules":{"Versions":{"2":{"ListPath":"/gateway/v2/concentration-rules","Name":"ConcentrationRules","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":9}}},"GatewayGroups":{"Versions":{"2":{"ListPath":"/gateway/v2/gateway-groups","Name":"GatewayGroups","ParentPathParam":[],"ListQueryParameter":{"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"}},"GetAvailable":true,"Order":10}}},"Interceptors":{"Versions":{"2":{"ListPath":"/gateway/v2/interceptors","Name":"Interceptors","ParentPathParam":[],"ListQueryParameter":{"global":{"FlagName":"global","Required":false,"Type":"boolean"},"group":{"FlagName":"group","Required":false,"Type":"string"},"name":{"FlagName":"name","Required":false,"Type":"string"},"username":{"FlagName":"username","Required":false,"Type":"string"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":12}}},"ServiceAccounts":{"Versions":{"2":{"ListPath":"/gateway/v2/service-accounts","Name":"ServiceAccounts","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"type":{"FlagName":"type","Required":false,"Type":"string"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":11}}},"VClusters":{"Versions":{"2":{"ListPath":"/gateway/v2/vclusters","Name":"VClusters","ParentPathParam":[],"ListQueryParameter":{},"GetAvailable":true,"Order":7}}}}
\ No newline at end of file
+{"AliasTopic":{"Versions":{"2":{"ListPath":"/gateway/v2/alias-topic","Name":"AliasTopic","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":8}}},"ConcentrationRule":{"Versions":{"2":{"ListPath":"/gateway/v2/concentration-rule","Name":"ConcentrationRule","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":9}}},"GatewayGroup":{"Versions":{"2":{"ListPath":"/gateway/v2/group","Name":"GatewayGroup","ParentPathParam":[],"ListQueryParameter":{"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"}},"GetAvailable":true,"Order":10}}},"GatewayServiceAccount":{"Versions":{"2":{"ListPath":"/gateway/v2/service-account","Name":"GatewayServiceAccount","ParentPathParam":[],"ListQueryParameter":{"name":{"FlagName":"name","Required":false,"Type":"string"},"showDefaults":{"FlagName":"show-defaults","Required":false,"Type":"boolean"},"type":{"FlagName":"type","Required":false,"Type":"string"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":11}}},"Interceptor":{"Versions":{"2":{"ListPath":"/gateway/v2/interceptor","Name":"Interceptor","ParentPathParam":[],"ListQueryParameter":{"global":{"FlagName":"global","Required":false,"Type":"boolean"},"group":{"FlagName":"group","Required":false,"Type":"string"},"name":{"FlagName":"name","Required":false,"Type":"string"},"username":{"FlagName":"username","Required":false,"Type":"string"},"vcluster":{"FlagName":"vcluster","Required":false,"Type":"string"}},"GetAvailable":false,"Order":12}}},"VirtualCluster":{"Versions":{"2":{"ListPath":"/gateway/v2/virtual-cluster","Name":"VirtualCluster","ParentPathParam":[],"ListQueryParameter":{},"GetAvailable":true,"Order":7}}}}
\ No newline at end of file
diff --git a/schema/gateway.yaml b/schema/gateway.yaml
index 08af72f..39e2fea 100644
--- a/schema/gateway.yaml
+++ b/schema/gateway.yaml
@@ -29,7 +29,7 @@ tags:
Example:
```shell
- curl -X GET "https://your.gateway-api.host/gateway/v2/vclusters" \
+ curl -X GET "https://your.gateway-api.host/gateway/v2/virtual-cluster" \
-H "accept: application/json" \
--user "admin:password"
```
@@ -43,15 +43,15 @@ tags:
The following kinds are available in the Conduktor Gateway API:
- * `VCluster`
+ * `VirtualCluster`
* `AliasTopic`
* `ConcentratedTopic`
* `ConcentrationRule`
* `Interceptor`
* `Plugin`
- * `ServiceAccount`
+ * `GatewayServiceAccount`
* `Token`
- * `Group`
+ * `GatewayGroup`
- name: Api Groups
description: |+
### Definition
@@ -59,16 +59,14 @@ tags:
API groups a set of resources that share the same API path prefix. They are used to organize the API endpoints and the
resources they manage.
The versioning is set at this level, so all the resources in the same group share the same version.
- Kinds of a same group can be nested paths in the API, for example, the `vcluster` kind can have an `alias-topic` kind
- nested in it.
### Conduktor Api Groups
The Gateway API consist of a single API group right now (`gateway`), and it manages the following resources:
- | Api Group | Kinds |
- |-----------|----------------------------------------------------------------------------------------------------------------------------------------------------|
- | `gateway` | `vclusters`, `alias-topics`, `concentrated-topics`, `concentration-rules`, `interceptors`, `plugins`, `service-accounts`, `groups`, `tokens` |
+ | Api Group | Version | Kinds |
+ |------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | `/gateway` | `/v2` | `/virtual-cluster`, `/alias-topic`, `/concentrated-topic`, `/concentration-rule`, `/interceptor`, `/plugin`, `/service-account`, `/group`, `/token` |
@@ -101,17 +99,19 @@ tags:
__Non-unique names__:
When a `name` is not enough to uniquely identify a resource, the GET and DELETE endpoint are different
- The GET by name is replaced by query parameters (returning lists or the searched item if the criterias are the elements of the key), and the DELETE by name is replaced by a DELETE with a body.
+ The GET by name is replaced by query parameters (returning lists or the searched item if the criteria are the elements
+ of the key), and the DELETE by name is replaced by a DELETE with a body.
For example, an `alias-topic` is identified by its `name` and the `vCluster` gives the following endpoints:
- * `GET /gateway/v2/vclusters/{name}/alias-topics?name={name}&vcluster={vcluster}`
- * `PUT /gateway/v2/vclusters/{name}/alias-topics`
- * `DELETE /gateway/v2/vclusters/{name}/alias-topics` with a body containing the `name` and the `vCluster`
+ * `GET /gateway/v2/alias-topic?name={name}&vcluster={vcluster}`
+ * `PUT /gateway/v2/alias-topic`
+ * `DELETE /gateway/v2/alias-topic` with a body containing the `name` and the `vCluster`
### Other conventions
* All requests and responses are in JSON and should have their `content-type` header set to `application/json`
- * Every kind has a pluralized name (e.g. `vclusters` for the `VCluster` kind) that is used in the endpoint path.
+ * Every kind has a lower-cased name (e.g. `virtual-cluster` for the `VirtualCluster` kind) that is used in the endpoint
+ path.
* Errors have a standard format:
* The HTTP status code is used to indicate the type of error.
* The response body contains a common JSON object for every error:
@@ -120,12 +120,12 @@ tags:
* `cause`: additional information about the error.
* All timestamps are in ISO 8601 format.
-- name: tokens
+- name: token
description: |+
### Definition
The token group contains just a utility endpoint to generate a token for a given Local ServiceAccount (on a given
- vCluster, or `passthrough` if omitted).
+ virtual cluster, or `passthrough` if omitted).
This token can be used to authenticate against the Gateway API in the `sasl_plaintext` authentication mode.
More information on this case here : https://docs.conduktor.io/gateway/concepts/Clients/#sasl_plaintext
@@ -138,7 +138,7 @@ tags:
N/A.
-- name: cli_vclusters_gateway_v2_7
+- name: cli_virtual-cluster_gateway_v2_7
description: |+
### Definition
@@ -157,11 +157,11 @@ tags:
### Schema
-
+
- x-displayName: vclusters
-- name: cli_alias-topics_gateway_v2_8
+ x-displayName: virtual-cluster
+- name: cli_alias-topic_gateway_v2_8
description: |+
### Definition
@@ -175,15 +175,15 @@ tags:
### Identity
- An alias topic is identified by the `name` inside a `vcluster` (`passthrough` if omitted).
+ An alias topic is identified by the `name` inside a `vCluster` (`passthrough` if omitted).
### Schema
- x-displayName: alias-topics
-- name: cli_concentrated-topics_gateway_v2_0
+ x-displayName: alias-topic
+- name: cli_concentrated-topic_gateway_v2_0
description: |+
### Definition
@@ -204,8 +204,8 @@ tags:
- x-displayName: concentrated-topics
-- name: cli_concentration-rules_gateway_v2_9
+ x-displayName: concentrated-topic
+- name: cli_concentration-rule_gateway_v2_9
description: |+
### Definition
@@ -221,15 +221,15 @@ tags:
### Identity
- A concentration rule is identified by its name inside a vCluster.
+ A concentration rule is identified by its `name` inside a `vCluster`.
### Schema
- x-displayName: concentration-rules
-- name: cli_interceptors_gateway_v2_12
+ x-displayName: concentration-rule
+- name: cli_interceptor_gateway_v2_12
description: |+
### Definition
@@ -253,8 +253,8 @@ tags:
- x-displayName: interceptors
-- name: plugins
+ x-displayName: interceptor
+- name: plugin
description: |+
### Definition
@@ -276,7 +276,7 @@ tags:
-- name: cli_service-accounts_gateway_v2_11
+- name: cli_gateway-service-account_gateway_v2_11
description: |+
### Definition
@@ -290,10 +290,10 @@ tags:
### Identity
- The service account is identified by the `name` and the `vClusterName`.
+ The service account is identified by the `name` and the `vCluster`.
- The vCluster name is not mandatory, but if omitted, the `passthrough` vCluster will be used.
- Thus, a service account is always associated with one and only one vCluster.
+ The `vCluster` name is not mandatory, but if omitted, the `passthrough` virtual cluster will be used.
+ Thus, a service account is always associated with one and only one virtual cluster.
### Local and external service accounts
@@ -309,15 +309,15 @@ tags:
To create an external service account you must provide have an `principal` that is the name of the user in the
external system.
It can be equal or not to the service account `name` (up to you), but note that __the `principal` must be unique
- accross all the vClusters__.
+ across all virtual clusters__.
### Schema
-
+
- x-displayName: service-accounts
-- name: cli_gateway-groups_gateway_v2_10
+ x-displayName: service-account
+- name: cli_gateway-group_gateway_v2_10
description: |+
### Definition
@@ -332,7 +332,7 @@ tags:
### Identity
- The group is identified by its name (unique across all the vClusters).
+ The group is identified by its `name` (unique across all the virtual clusters).
A group can be added external groups (coming from LDAP, OIDC claims etc.) which will allow the Gateway to bind them on the Gateway Group.
@@ -341,29 +341,29 @@ tags:
- x-displayName: gateway-groups
+ x-displayName: group
paths:
- /gateway/v2/tokens:
+ /gateway/v2/token:
post:
tags:
- - tokens
+ - token
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Create a new token for given service account and a given vcluster.
+ Create a new token for given service account and a given virtual cluster.
- If the vcluster is not provided, the token will be created for the passthrough vcluster.
+ If the vcluster is not provided, the token will be created for the passthrough virtual cluster.
- operationId: Generate a token for a service account on a vcluster
+ operationId: Generate a token for a service account on a virtual cluster
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRequest'
example:
- vClusterName: vcluster1
+ vCluster: vcluster1
username: user1
lifeTimeSeconds: 3600
required: true
@@ -423,21 +423,21 @@ paths:
source: |-
curl \
--request POST \
- --url 'http://localhost:8888/gateway/v2/tokens' \
+ --url 'http://localhost:8888/gateway/v2/token' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
- --data-raw '{"vClusterName":"vcluster1","username":"user1","lifeTimeSeconds":3600000}'
- /gateway/v2/vclusters:
+ --data-raw '{"vCluster":"vcluster1","username":"user1","lifeTimeSeconds":3600000}'
+ /gateway/v2/virtual-cluster:
get:
tags:
- - cli_vclusters_gateway_v2_7
+ - cli_virtual-cluster_gateway_v2_7
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- List the vclusters
+ List the virtual clusters
- operationId: List the vclusters
+ operationId: List the virtual clusters
responses:
'200':
description: ''
@@ -447,14 +447,18 @@ paths:
type: array
uniqueItems: true
items:
- $ref: '#/components/schemas/VCluster'
+ $ref: '#/components/schemas/VirtualCluster'
example:
- - kind: VClusters
+ - kind: VirtualCluster
apiVersion: gateway/v2
metadata:
name: vcluster1
spec:
prefix: vcluster1
+ aclEnabled: false
+ superUsers:
+ - username1
+ - username2
'401':
description: The given credentials are not valid
content:
@@ -478,18 +482,18 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/vclusters' \
+ --url 'http://localhost:8888/gateway/v2/virtual-cluster' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_vclusters_gateway_v2_7
+ - cli_virtual-cluster_gateway_v2_7
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Upsert a vcluster
+ Upsert a virtual cluster
- operationId: Upsert a vcluster
+ operationId: Upsert a virtual cluster
parameters:
- name: dryMode
in: query
@@ -503,14 +507,18 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/VCluster'
+ $ref: '#/components/schemas/VirtualCluster'
example:
- kind: VClusters
+ kind: VirtualCluster
apiVersion: gateway/v2
metadata:
name: vcluster1
spec:
prefix: vcluster1
+ aclEnabled: false
+ superUsers:
+ - username1
+ - username2
required: true
responses:
'200':
@@ -518,15 +526,19 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ApplyResult_VCluster'
+ $ref: '#/components/schemas/ApplyResult_VirtualCluster'
example:
resource:
- kind: VClusters
+ kind: VirtualCluster
apiVersion: gateway/v2
metadata:
name: vcluster1
spec:
prefix: vcluster1
+ aclEnabled: false
+ superUsers:
+ - username1
+ - username2
upsertResult: Updated
'400':
description: Wrong format or usage of reserved keywords (e.g. passthrough)
@@ -545,13 +557,13 @@ paths:
example:
title: The given credentials are not valid
'409':
- description: The given prefix is already used by another vcluster
+ description: The given prefix is already used by another virtual cluster
content:
application/json:
schema:
$ref: '#/components/schemas/Conflict'
example:
- title: The given prefix is already used by another vcluster
+ title: The given prefix is already used by another virtual cluster
'500':
description: An unexpected error occurred in the server
content:
@@ -567,34 +579,39 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/vclusters?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/virtual-cluster?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "VClusters",
+ "kind" : "VirtualCluster",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "vcluster1"
},
"spec" : {
- "prefix" : "vcluster1"
+ "prefix" : "vcluster1",
+ "aclEnabled" : false,
+ "superUsers" : [
+ "username1",
+ "username2"
+ ]
}
}'
- /gateway/v2/vclusters/{vClusterName}:
+ /gateway/v2/virtual-cluster/{vCluster}:
get:
tags:
- - cli_vclusters_gateway_v2_7
+ - cli_virtual-cluster_gateway_v2_7
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Get a vcluster
+ Get a virtual cluster
- operationId: Get a vcluster
+ operationId: Get a virtual cluster
parameters:
- - name: vClusterName
+ - name: vCluster
in: path
- description: The name of the vcluster
+ description: The name of the virtual cluster
required: true
schema:
type: string
@@ -604,14 +621,18 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/VCluster'
+ $ref: '#/components/schemas/VirtualCluster'
example:
- kind: VClusters
+ kind: VirtualCluster
apiVersion: gateway/v2
metadata:
name: vcluster1
spec:
prefix: vcluster1
+ aclEnabled: false
+ superUsers:
+ - username1
+ - username2
'401':
description: The given credentials are not valid
content:
@@ -621,13 +642,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vcluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vcluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -643,22 +664,22 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/vclusters/vcluster1' \
+ --url 'http://localhost:8888/gateway/v2/virtual-cluster/vcluster1' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
delete:
tags:
- - cli_vclusters_gateway_v2_7
+ - cli_virtual-cluster_gateway_v2_7
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Delete a vcluster
+ Delete a virtual cluster
- operationId: Delete a vcluster
+ operationId: Delete a virtual cluster
parameters:
- - name: vClusterName
+ - name: vCluster
in: path
- description: The name of the vcluster
+ description: The name of the virtual cluster
required: true
schema:
type: string
@@ -666,13 +687,13 @@ paths:
'204':
description: ''
'400':
- description: Default passthrough vcluster cannot be deleted
+ description: Default `passthrough` virtual cluster cannot be deleted
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
example:
- title: Default passthrough vcluster cannot be deleted
+ title: Default `passthrough` virtual cluster cannot be deleted
'401':
description: The given credentials are not valid
content:
@@ -682,22 +703,22 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vcluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vcluster does not exist
+ title: The given virtual cluster does not exist
'409':
- description: The given vcluster has references (logical topics, interceptors,
+ description: The given virtual cluster has references (logical topics, interceptors,
concentration rules, service accounts) and cannot be deleted
content:
application/json:
schema:
$ref: '#/components/schemas/Conflict'
example:
- title: The given vcluster has references (logical topics, interceptors,
+ title: The given virtual cluster has references (logical topics, interceptors,
concentration rules, service accounts) and cannot be deleted
'500':
description: An unexpected error occurred in the server
@@ -714,23 +735,23 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/vclusters/vcluster1' \
+ --url 'http://localhost:8888/gateway/v2/virtual-cluster/vcluster1' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
- /gateway/v2/alias-topics:
+ /gateway/v2/alias-topic:
get:
tags:
- - cli_alias-topics_gateway_v2_8
+ - cli_alias-topic_gateway_v2_8
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- List the alias topics of a vcluster
+ List the alias topics of a virtual cluster
operationId: List the alias topics
parameters:
- name: vcluster
in: query
- description: The vCluster filter
+ description: The virtual cluster filter
required: false
schema:
type: string
@@ -758,7 +779,7 @@ paths:
items:
$ref: '#/components/schemas/AliasTopic'
example:
- - kind: AliasTopics
+ - kind: AliasTopic
apiVersion: gateway/v2
metadata:
name: name1
@@ -782,13 +803,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -804,16 +825,16 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/alias-topics?showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/alias-topic?showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_alias-topics_gateway_v2_8
+ - cli_alias-topic_gateway_v2_8
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Upsert an alias topic in a vcluster
+ Upsert an alias topic in a virtual cluster
operationId: Upsert an alias topic
parameters:
@@ -831,7 +852,7 @@ paths:
schema:
$ref: '#/components/schemas/AliasTopic'
example:
- kind: AliasTopics
+ kind: AliasTopic
apiVersion: gateway/v2
metadata:
name: name1
@@ -848,7 +869,7 @@ paths:
$ref: '#/components/schemas/ApplyResult_AliasTopic'
example:
resource:
- kind: AliasTopics
+ kind: AliasTopic
apiVersion: gateway/v2
metadata:
name: name1
@@ -873,13 +894,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -895,11 +916,11 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/alias-topics?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/alias-topic?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "AliasTopics",
+ "kind" : "AliasTopic",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "name1",
@@ -911,12 +932,12 @@ paths:
}'
delete:
tags:
- - cli_alias-topics_gateway_v2_8
+ - cli_alias-topic_gateway_v2_8
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- Delete an alias topic in a vcluster
+ Delete an alias topic in a virtual cluster
operationId: Delete an alias topic
requestBody:
@@ -945,13 +966,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given name does not exist in the given vCluster
+ description: The given name does not exist in the given virtual cluster
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given name does not exist in the given vCluster
+ title: The given name does not exist in the given virtual cluster
'500':
description: An unexpected error occurred in the server
content:
@@ -967,17 +988,17 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/alias-topics' \
+ --url 'http://localhost:8888/gateway/v2/alias-topic' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
"name" : "name1",
"vCluster" : "vCluster1"
}'
- /gateway/v2/concentrated-topics:
+ /gateway/v2/concentrated-topic:
get:
tags:
- - cli_concentrated-topics_gateway_v2_0
+ - cli_concentrated-topic_gateway_v2_0
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -988,7 +1009,7 @@ paths:
parameters:
- name: vcluster
in: query
- description: The vCluster filter
+ description: The virtual cluster filter
required: false
schema:
type: string
@@ -1016,7 +1037,7 @@ paths:
items:
$ref: '#/components/schemas/ConcentratedTopic'
example:
- - kind: concentrated-topics
+ - kind: ConcentratedTopic
apiVersion: gateway/v2
metadata:
name: name1
@@ -1040,13 +1061,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -1062,12 +1083,12 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/concentrated-topics?showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/concentrated-topic?showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
- /gateway/v2/concentration-rules:
+ /gateway/v2/concentration-rule:
get:
tags:
- - cli_concentration-rules_gateway_v2_9
+ - cli_concentration-rule_gateway_v2_9
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1078,7 +1099,7 @@ paths:
parameters:
- name: vcluster
in: query
- description: The vCluster filter
+ description: The virtual cluster filter
required: false
schema:
type: string
@@ -1106,7 +1127,7 @@ paths:
items:
$ref: '#/components/schemas/ConcentrationRule'
example:
- - kind: ConcentrationRules
+ - kind: ConcentrationRule
apiVersion: gateway/v2
metadata:
name: concentrationRule1
@@ -1134,13 +1155,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -1156,11 +1177,11 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/concentration-rules?showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/concentration-rule?showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_concentration-rules_gateway_v2_9
+ - cli_concentration-rule_gateway_v2_9
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1183,7 +1204,7 @@ paths:
schema:
$ref: '#/components/schemas/ConcentrationRule'
example:
- kind: ConcentrationRules
+ kind: ConcentrationRule
apiVersion: gateway/v2
metadata:
name: concentrationRule1
@@ -1204,7 +1225,7 @@ paths:
$ref: '#/components/schemas/ApplyResult_ConcentrationRule'
example:
resource:
- kind: ConcentrationRules
+ kind: ConcentrationRule
apiVersion: gateway/v2
metadata:
name: concentrationRule1
@@ -1233,13 +1254,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given virtual cluster does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given virtual cluster does not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -1255,11 +1276,11 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/concentration-rules?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/concentration-rule?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "ConcentrationRules",
+ "kind" : "ConcentrationRule",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "concentrationRule1",
@@ -1275,7 +1296,7 @@ paths:
}'
delete:
tags:
- - cli_concentration-rules_gateway_v2_9
+ - cli_concentration-rule_gateway_v2_9
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1312,13 +1333,13 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given vCluster does not exist
+ description: The given name does not exist in the given virtual cluster
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given vCluster does not exist
+ title: The given name does not exist in the given virtual cluster
'500':
description: An unexpected error occurred in the server
content:
@@ -1334,17 +1355,17 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/concentration-rules' \
+ --url 'http://localhost:8888/gateway/v2/concentration-rule' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
"name" : "concentrationRule1",
"vCluster" : "vCluster1"
}'
- /gateway/v2/interceptors:
+ /gateway/v2/interceptor:
get:
tags:
- - cli_interceptors_gateway_v2_12
+ - cli_interceptor_gateway_v2_12
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1367,7 +1388,7 @@ paths:
type: boolean
- name: vcluster
in: query
- description: Filter by vCluster
+ description: Filter by virtual cluster
required: false
schema:
type: string
@@ -1379,7 +1400,7 @@ paths:
type: string
- name: username
in: query
- description: Filter by service-account
+ description: Filter by service account
required: false
schema:
type: string
@@ -1394,7 +1415,7 @@ paths:
items:
$ref: '#/components/schemas/Interceptor'
example:
- - kind: interceptors
+ - kind: Interceptor
apiVersion: gateway/v2
metadata:
name: yellow_cars_filter
@@ -1439,11 +1460,11 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/interceptors?name=interceptor-name&global=true&vcluster=passthrough&group=group1&username=user1' \
+ --url 'http://localhost:8888/gateway/v2/interceptor?name=interceptor-name&global=true&vcluster=passthrough&group=group1&username=user1' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_interceptors_gateway_v2_12
+ - cli_interceptor_gateway_v2_12
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1466,7 +1487,7 @@ paths:
schema:
$ref: '#/components/schemas/Interceptor'
example:
- kind: interceptors
+ kind: Interceptor
apiVersion: gateway/v2
metadata:
name: yellow_cars_filter
@@ -1490,7 +1511,7 @@ paths:
$ref: '#/components/schemas/ApplyResult_Interceptor'
example:
resource:
- kind: interceptors
+ kind: Interceptor
apiVersion: gateway/v2
metadata:
name: yellow_cars_filter
@@ -1522,13 +1543,15 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The vCluster or the group specified in the scope does not exist
+ description: The virtual cluster or the group specified in the scope does
+ not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The vCluster or the group specified in the scope does not exist
+ title: The virtual cluster or the group specified in the scope does
+ not exist
'500':
description: An unexpected error occurred in the server
content:
@@ -1544,11 +1567,11 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/interceptors?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/interceptor?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "interceptors",
+ "kind" : "Interceptor",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "yellow_cars_filter",
@@ -1568,10 +1591,10 @@ paths:
}
}
}'
- /gateway/v2/interceptors/{name}:
+ /gateway/v2/interceptor/{name}:
delete:
tags:
- - cli_interceptors_gateway_v2_12
+ - cli_interceptor_gateway_v2_12
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1633,7 +1656,7 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/interceptors/yellow_cars_filter' \
+ --url 'http://localhost:8888/gateway/v2/interceptor/yellow_cars_filter' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
@@ -1641,15 +1664,15 @@ paths:
"group" : null,
"username" : null
}'
- /gateway/v2/interceptors/resolve:
+ /gateway/v2/interceptor/resolve:
post:
tags:
- - cli_interceptors_gateway_v2_12
+ - cli_interceptor_gateway_v2_12
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
- A utility endpoint to resolve the interceptors for a given vCluster, groups and username.
+ A utility endpoint to resolve the interceptors for a given virtual cluster, groups and username.
Helps to understand which interceptors will be applied for a given request.
operationId: Resolve interceptors
@@ -1670,7 +1693,7 @@ paths:
items:
$ref: '#/components/schemas/Interceptor'
example:
- - kind: interceptors
+ - kind: Interceptor
apiVersion: gateway/v2
metadata:
name: yellow_cars_filter
@@ -1715,7 +1738,7 @@ paths:
source: |-
curl \
--request POST \
- --url 'http://localhost:8888/gateway/v2/interceptors/resolve' \
+ --url 'http://localhost:8888/gateway/v2/interceptor/resolve' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
@@ -1726,10 +1749,10 @@ paths:
],
"username" : "user1"
}'
- /gateway/v2/plugins:
+ /gateway/v2/plugin:
get:
tags:
- - plugins
+ - plugin
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -1821,12 +1844,12 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/plugins' \
+ --url 'http://localhost:8888/gateway/v2/plugin' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
- /gateway/v2/service-accounts:
+ /gateway/v2/service-account:
get:
tags:
- - cli_service-accounts_gateway_v2_11
+ - cli_gateway-service-account_gateway_v2_11
description: |2+
@@ -1838,7 +1861,7 @@ paths:
parameters:
- name: vcluster
in: query
- description: Filter by vCluster
+ description: Filter by virtual cluster
required: false
schema:
type: string
@@ -1870,9 +1893,9 @@ paths:
schema:
type: array
items:
- $ref: '#/components/schemas/ServiceAccount'
+ $ref: '#/components/schemas/GatewayServiceAccount'
example:
- - kind: service-accounts
+ - kind: GatewayServiceAccount
apiVersion: gateway/v2
metadata:
name: user1
@@ -1880,7 +1903,7 @@ paths:
spec:
type: External
principal: aliasUser1
- - kind: service-accounts
+ - kind: GatewayServiceAccount
apiVersion: gateway/v2
metadata:
name: user1
@@ -1918,11 +1941,11 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/service-accounts?vcluster=vCluster1&name=user1&type=External&showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/service-account?vcluster=vCluster1&name=user1&type=External&showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_service-accounts_gateway_v2_11
+ - cli_gateway-service-account_gateway_v2_11
description: |2+
@@ -1944,9 +1967,9 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ServiceAccount'
+ $ref: '#/components/schemas/GatewayServiceAccount'
example:
- kind: service-accounts
+ kind: GatewayServiceAccount
apiVersion: gateway/v2
metadata:
name: user1
@@ -1961,10 +1984,10 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ApplyResult_ServiceAccount'
+ $ref: '#/components/schemas/ApplyResult_GatewayServiceAccount'
example:
resource:
- kind: service-accounts
+ kind: GatewayServiceAccount
apiVersion: gateway/v2
metadata:
name: user1
@@ -1990,13 +2013,15 @@ paths:
example:
title: The given credentials are not valid
'404':
- description: The given service account references a non-existing vCluster
+ description: The given service account references a non-existing virtual
+ cluster
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
example:
- title: The given service account references a non-existing vCluster
+ title: The given service account references a non-existing virtual
+ cluster
'409':
description: The service account already exist
content:
@@ -2020,11 +2045,11 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/service-accounts?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/service-account?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "service-accounts",
+ "kind" : "GatewayServiceAccount",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "user1",
@@ -2037,7 +2062,7 @@ paths:
}'
delete:
tags:
- - cli_service-accounts_gateway_v2_11
+ - cli_gateway-service-account_gateway_v2_11
description: |2+
@@ -2050,7 +2075,7 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ServiceAccountId'
+ $ref: '#/components/schemas/GatewayServiceAccountId'
required: true
responses:
'204':
@@ -2100,16 +2125,16 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/service-accounts' \
+ --url 'http://localhost:8888/gateway/v2/service-account' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
"name" : "user1"
}'
- /gateway/v2/gateway-groups:
+ /gateway/v2/group:
get:
tags:
- - cli_gateway-groups_gateway_v2_10
+ - cli_gateway-group_gateway_v2_10
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -2136,7 +2161,7 @@ paths:
items:
$ref: '#/components/schemas/GatewayGroup'
example:
- - kind: GatewayGroups
+ - kind: GatewayGroup
apiVersion: gateway/v2
metadata:
name: group1
@@ -2180,11 +2205,11 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/gateway-groups?showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/group?showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
put:
tags:
- - cli_gateway-groups_gateway_v2_10
+ - cli_gateway-group_gateway_v2_10
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -2207,7 +2232,7 @@ paths:
schema:
$ref: '#/components/schemas/GatewayGroup'
example:
- kind: GatewayGroups
+ kind: GatewayGroup
apiVersion: gateway/v2
metadata:
name: group1
@@ -2232,7 +2257,7 @@ paths:
$ref: '#/components/schemas/ApplyResult_GatewayGroup'
example:
resource:
- kind: GatewayGroups
+ kind: GatewayGroup
apiVersion: gateway/v2
metadata:
name: group1
@@ -2287,11 +2312,11 @@ paths:
source: |-
curl \
--request PUT \
- --url 'http://localhost:8888/gateway/v2/gateway-groups?dryMode=false' \
+ --url 'http://localhost:8888/gateway/v2/group?dryMode=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4=' \
--header 'Content-Type: application/json' \
--data-raw '{
- "kind" : "GatewayGroups",
+ "kind" : "GatewayGroup",
"apiVersion" : "gateway/v2",
"metadata" : {
"name" : "group1"
@@ -2317,10 +2342,10 @@ paths:
]
}
}'
- /gateway/v2/gateway-groups/{name}:
+ /gateway/v2/group/{name}:
get:
tags:
- - cli_gateway-groups_gateway_v2_10
+ - cli_gateway-group_gateway_v2_10
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -2350,7 +2375,7 @@ paths:
schema:
$ref: '#/components/schemas/GatewayGroup'
example:
- kind: GatewayGroups
+ kind: GatewayGroup
apiVersion: gateway/v2
metadata:
name: group1
@@ -2402,11 +2427,11 @@ paths:
source: |-
curl \
--request GET \
- --url 'http://localhost:8888/gateway/v2/gateway-groups/group1?showDefaults=false' \
+ --url 'http://localhost:8888/gateway/v2/group/group1?showDefaults=false' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
delete:
tags:
- - cli_gateway-groups_gateway_v2_10
+ - cli_gateway-group_gateway_v2_10
description: |2+
[![Beta](https://img.shields.io/badge/Lifecycle-Beta-orange)](#tag/Versioning)
@@ -2462,7 +2487,7 @@ paths:
source: |-
curl \
--request DELETE \
- --url 'http://localhost:8888/gateway/v2/gateway-groups/group1' \
+ --url 'http://localhost:8888/gateway/v2/group/group1' \
--header 'Authorization: Basic YWRtaW46YWRtaW4='
components:
schemas:
@@ -2495,7 +2520,7 @@ components:
description: The name of the alias topic
type: string
vCluster:
- description: 'The vCluster name of the alias topic (default: passthrough)'
+ description: 'The virtual cluster of the alias topic (default: `passthrough`)'
type: string
AliasTopicMetadata:
title: AliasTopicMetadata
@@ -2509,7 +2534,7 @@ components:
type: string
format: ^[a-zA-Z0-9._-]+$
vCluster:
- description: 'The vCluster name of the alias topic (default: passthrough)'
+ description: 'The virtual cluster of the alias topic (default: `passthrough`)'
type: string
format: ^[a-zA-Z0-9_-]+$
AliasTopicSpec:
@@ -2559,39 +2584,39 @@ components:
description: The resource that was upserted
upsertResult:
$ref: '#/components/schemas/UpsertResult'
- ApplyResult_Interceptor:
- title: ApplyResult_Interceptor
+ ApplyResult_GatewayServiceAccount:
+ title: ApplyResult_GatewayServiceAccount
type: object
required:
- resource
- upsertResult
properties:
resource:
- $ref: '#/components/schemas/Interceptor'
+ $ref: '#/components/schemas/GatewayServiceAccount'
description: The resource that was upserted
upsertResult:
$ref: '#/components/schemas/UpsertResult'
- ApplyResult_ServiceAccount:
- title: ApplyResult_ServiceAccount
+ ApplyResult_Interceptor:
+ title: ApplyResult_Interceptor
type: object
required:
- resource
- upsertResult
properties:
resource:
- $ref: '#/components/schemas/ServiceAccount'
+ $ref: '#/components/schemas/Interceptor'
description: The resource that was upserted
upsertResult:
$ref: '#/components/schemas/UpsertResult'
- ApplyResult_VCluster:
- title: ApplyResult_VCluster
+ ApplyResult_VirtualCluster:
+ title: ApplyResult_VirtualCluster
type: object
required:
- resource
- upsertResult
properties:
resource:
- $ref: '#/components/schemas/VCluster'
+ $ref: '#/components/schemas/VirtualCluster'
description: The resource that was upserted
upsertResult:
$ref: '#/components/schemas/UpsertResult'
@@ -2637,8 +2662,8 @@ components:
description: The name of the concentrated topic
type: string
vCluster:
- description: The vCluster of the concentrated topic. If not provided, defaulted
- to passthrough vCluster.
+ description: The virtual cluster of the concentrated topic. If not provided,
+ defaulted to passthrough virtual cluster.
type: string
ConcentratedTopicSpec:
title: ConcentratedTopicSpec
@@ -2679,7 +2704,7 @@ components:
description: The name of the concentration rule (identifier in a vCluster)
type: string
vCluster:
- description: The vCluster of the concentration rule. Default to passthrough
+ description: The virtual cluster of the concentration rule. Default to `passthrough`
if not provided.
type: string
ConcentrationRuleMetadata:
@@ -2694,7 +2719,7 @@ components:
type: string
format: ^[a-zA-Z0-9._-]+$
vCluster:
- description: The vCluster of the concentration rule. Default to passthrough
+ description: The virtual cluster of the concentration rule. Default to `passthrough`
if not provided.
type: string
ConcentrationRuleSpec:
@@ -2771,9 +2796,9 @@ components:
vCluster:
description: |2
- The name of the vcluster the service account belongs to.
+ The name of the virtual cluster the service account belongs to.
- If not provided, the service account will be created in the default `passthrough` vcluster.
+ If not provided, the service account will be created in the default `passthrough` virtual cluster.
type: string
format: ^[a-zA-Z0-9_-]+$
ExternalSpec:
@@ -2808,6 +2833,27 @@ components:
$ref: '#/components/schemas/GroupMetadata'
spec:
$ref: '#/components/schemas/GroupSpec'
+ GatewayServiceAccount:
+ title: GatewayServiceAccount
+ oneOf:
+ - $ref: '#/components/schemas/External'
+ - $ref: '#/components/schemas/Local'
+ GatewayServiceAccountId:
+ title: GatewayServiceAccountId
+ type: object
+ required:
+ - name
+ properties:
+ vCluster:
+ description: |2
+
+ The name of the virtual cluster the service account belongs to.
+
+ If not provided, the service account will be created in the default `passthrough` virtual cluster.
+ type: string
+ name:
+ description: The name of the service account (identifier)
+ type: string
GroupMetadata:
title: GroupMetadata
description: The metadata of the group
@@ -2829,7 +2875,7 @@ components:
type: array
uniqueItems: true
items:
- $ref: '#/components/schemas/ServiceAccountId'
+ $ref: '#/components/schemas/GatewayServiceAccountId'
externalGroups:
description: The external groups (LDAP, OIDC...) mapped on the group
type: array
@@ -2870,14 +2916,14 @@ components:
description: |2
The scope of the interceptor.
- It can be applied to a specific vCluster or group or username.
+ It can be applied to a specific virtual cluster or group or username.
If none of them is set, it will be applied Globally to the gateway.
InterceptorResolverRequest:
title: InterceptorResolverRequest
type: object
properties:
vCluster:
- description: The vCluster to test the interceptors resolution
+ description: The virtual cluster to test the interceptors resolution
type: string
groups:
description: The groups to test the interceptors resolution
@@ -2954,9 +3000,9 @@ components:
vCluster:
description: |2
- The name of the vcluster the service account belongs to.
+ The name of the virtual cluster the service account belongs to.
- If not provided, the service account will be created in the default `passthrough` vcluster.
+ If not provided, the service account will be created in the default `passthrough` virtual cluster.
type: string
format: ^[a-zA-Z0-9_-]+$
LocalSpec:
@@ -3027,27 +3073,6 @@ components:
type: string
cause:
type: string
- ServiceAccount:
- title: ServiceAccount
- oneOf:
- - $ref: '#/components/schemas/External'
- - $ref: '#/components/schemas/Local'
- ServiceAccountId:
- title: ServiceAccountId
- type: object
- required:
- - name
- properties:
- vCluster:
- description: |2
-
- The name of the vcluster the service account belongs to.
-
- If not provided, the service account will be created in the default `passthrough` vcluster.
- type: string
- name:
- description: The name of the service account (identifier)
- type: string
TokenRequest:
title: TokenRequest
type: object
@@ -3055,8 +3080,8 @@ components:
- username
- lifeTimeSeconds
properties:
- vClusterName:
- description: 'The name of the vcluster to create the token for. "passthrough
+ vCluster:
+ description: 'The name of the virtual cluster to create the token for. "passthrough
if omitted" '
type: string
username:
@@ -3098,8 +3123,8 @@ components:
- $ref: '#/components/schemas/Created'
- $ref: '#/components/schemas/NotChanged'
- $ref: '#/components/schemas/Updated'
- VCluster:
- title: VCluster
+ VirtualCluster:
+ title: VirtualCluster
type: object
required:
- kind
@@ -3108,29 +3133,29 @@ components:
- spec
properties:
kind:
- description: The kind of the vCluster
+ description: The kind of the virtual cluster
type: string
apiVersion:
- description: The api version of the vCluster
+ description: The api version of the virtual cluster
type: string
metadata:
- $ref: '#/components/schemas/VClusterMetadata'
+ $ref: '#/components/schemas/VirtualClusterMetadata'
spec:
- $ref: '#/components/schemas/VClusterSpec'
- VClusterMetadata:
- title: VClusterMetadata
- description: Metadata of the vCluster
+ $ref: '#/components/schemas/VirtualClusterSpec'
+ VirtualClusterMetadata:
+ title: VirtualClusterMetadata
+ description: Metadata of the virtual cluster
type: object
required:
- name
properties:
name:
- description: The name of the vcluster
+ description: The name of the virtual cluster
type: string
format: ^[a-zA-Z0-9_-]+$
- VClusterSpec:
- title: VClusterSpec
- description: Spec of the vCluster
+ VirtualClusterSpec:
+ title: VirtualClusterSpec
+ description: Spec of the virtual cluster
type: object
required:
- prefix
@@ -3140,6 +3165,15 @@ components:
the physical cluster
type: string
format: ^[a-zA-Z0-9_-]*$
+ aclEnabled:
+ description: Enable ACL for the virtual cluster
+ type: boolean
+ superUsers:
+ description: List of service account's username that are super users of
+ the virtual cluster
+ type: array
+ items:
+ type: string
securitySchemes:
httpAuth:
type: http
@@ -3155,12 +3189,12 @@ x-tagGroups:
- Conventions
- name: 🌉 gateway/v2
tags:
- - cli_vclusters_gateway_v2_7
- - cli_alias-topics_gateway_v2_8
- - cli_concentrated-topics_gateway_v2_0
- - cli_concentration-rules_gateway_v2_9
- - cli_interceptors_gateway_v2_12
- - plugins
- - cli_service-accounts_gateway_v2_11
- - cli_gateway-groups_gateway_v2_10
- - tokens
+ - cli_virtual-cluster_gateway_v2_7
+ - cli_alias-topic_gateway_v2_8
+ - cli_concentrated-topic_gateway_v2_0
+ - cli_concentration-rule_gateway_v2_9
+ - cli_interceptor_gateway_v2_12
+ - plugin
+ - cli_gateway-service-account_gateway_v2_11
+ - cli_gateway-group_gateway_v2_10
+ - token
diff --git a/schema/gateway_schema_test.go b/schema/gateway_schema_test.go
index 4109688..0e742af 100644
--- a/schema/gateway_schema_test.go
+++ b/schema/gateway_schema_test.go
@@ -26,11 +26,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
}
expected := KindCatalog{
- "VClusters": {
+ "VirtualCluster": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "VClusters",
- ListPath: "/gateway/v2/vclusters",
+ Name: "VirtualCluster",
+ ListPath: "/gateway/v2/virtual-cluster",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{},
GetAvailable: true,
@@ -38,11 +38,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
},
},
},
- "AliasTopics": {
+ "AliasTopic": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "AliasTopics",
- ListPath: "/gateway/v2/alias-topics",
+ Name: "AliasTopic",
+ ListPath: "/gateway/v2/alias-topic",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{
"name": {
@@ -66,11 +66,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
},
},
},
- "ConcentrationRules": {
+ "ConcentrationRule": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "ConcentrationRules",
- ListPath: "/gateway/v2/concentration-rules",
+ Name: "ConcentrationRule",
+ ListPath: "/gateway/v2/concentration-rule",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{
"vcluster": {
@@ -94,11 +94,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
},
},
},
- "GatewayGroups": {
+ "GatewayGroup": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "GatewayGroups",
- ListPath: "/gateway/v2/gateway-groups",
+ Name: "GatewayGroup",
+ ListPath: "/gateway/v2/group",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{
"showDefaults": {
@@ -112,11 +112,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
},
},
},
- "ServiceAccounts": {
+ "GatewayServiceAccount": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "ServiceAccounts",
- ListPath: "/gateway/v2/service-accounts",
+ Name: "GatewayServiceAccount",
+ ListPath: "/gateway/v2/service-account",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{
"name": {
@@ -145,11 +145,11 @@ func TestGetKindWithYamlFromGateway(t *testing.T) {
},
},
},
- "Interceptors": {
+ "Interceptor": {
Versions: map[int]KindVersion{
2: &GatewayKindVersion{
- Name: "Interceptors",
- ListPath: "/gateway/v2/interceptors",
+ Name: "Interceptor",
+ ListPath: "/gateway/v2/interceptor",
ParentPathParam: []string{},
ListQueryParameter: map[string]QueryParameterOption{
"username": {
diff --git a/test_final_exec.sh b/test_final_exec.sh
index dbd25ec..e965259 100755
--- a/test_final_exec.sh
+++ b/test_final_exec.sh
@@ -30,18 +30,18 @@ main() {
# Gateway
docker compose -f docker/docker-compose.yml run --rm conduktor apply -f /test_resource_gw.yml
- docker compose -f docker/docker-compose.yml run --rm conduktor delete VClusters vcluster1
- docker compose -f docker/docker-compose.yml run --rm conduktor get VClusters
- docker compose -f docker/docker-compose.yml run --rm conduktor get VClusters vcluster1
- docker compose -f docker/docker-compose.yml run --rm conduktor get GatewayGroups
- docker compose -f docker/docker-compose.yml run --rm conduktor get GatewayGroups g1
- docker compose -f docker/docker-compose.yml run --rm conduktor get AliasTopics --show-defaults --name=yo --vcluster=mycluster1
- docker compose -f docker/docker-compose.yml run --rm conduktor get ConcentrationRules --show-defaults --name=yo --vcluster=mycluster1
- docker compose -f docker/docker-compose.yml run --rm conduktor get ServiceAccounts --show-defaults --name=yo --vcluster=mycluster1
- docker compose -f docker/docker-compose.yml run --rm conduktor get interceptors --group=g1 --name=yo --username=me --vcluster=mycluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor delete VirtualCluster vcluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get VirtualCluster
+ docker compose -f docker/docker-compose.yml run --rm conduktor get VirtualCluster vcluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get GatewayGroup
+ docker compose -f docker/docker-compose.yml run --rm conduktor get GatewayGroup g1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get AliasTopic --show-defaults --name=yo --vcluster=mycluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get ConcentrationRule --show-defaults --name=yo --vcluster=mycluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get GatewayServiceAccount --show-defaults --name=yo --vcluster=mycluster1
+ docker compose -f docker/docker-compose.yml run --rm conduktor get interceptor --group=g1 --name=yo --username=me --vcluster=mycluster1
docker compose -f docker/docker-compose.yml run --rm conduktor delete aliastopic aliastopicname --vcluster=v1
docker compose -f docker/docker-compose.yml run --rm conduktor delete concentrationrule cr1 --vcluster=v1
- docker compose -f docker/docker-compose.yml run --rm conduktor delete serviceaccounts s1 --vcluster=v1
+ docker compose -f docker/docker-compose.yml run --rm conduktor delete gatewayserviceaccount s1 --vcluster=v1
}
main "$@"