Skip to content

Commit

Permalink
feat: Added support for kafka OAuth authentication
Browse files Browse the repository at this point in the history
Signed-off-by: SzymonZebrowski <[email protected]>
  • Loading branch information
SzymonZebrowski committed Dec 26, 2024
1 parent bb4a0de commit a8371a9
Show file tree
Hide file tree
Showing 17 changed files with 2,208 additions and 554 deletions.
26 changes: 26 additions & 0 deletions api/json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -21790,6 +21790,10 @@
"description": "SASL mechanism to use",
"type": "string"
},
"oauth": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.SASLOAuth",
"description": "OAuth contains the oauth config"
},
"plain": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.SASLPlain",
"description": "SASLPlain contains the sasl plain config"
Expand All @@ -21808,6 +21812,28 @@
],
"type": "object"
},
"io.numaproj.numaflow.v1alpha1.SASLOAuth": {
"properties": {
"clientID": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "ClientID refers to the secret that contains the client id"
},
"clientSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "ClientSecret refers to the secret that contains the client secret"
},
"tokenEndpoint": {
"description": "TokenEndpoint refers to the token endpoint",
"type": "string"
}
},
"required": [
"clientID",
"clientSecret",
"tokenEndpoint"
],
"type": "object"
},
"io.numaproj.numaflow.v1alpha1.SASLPlain": {
"properties": {
"handshake": {
Expand Down
26 changes: 26 additions & 0 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -21780,6 +21780,10 @@
"description": "SASL mechanism to use",
"type": "string"
},
"oauth": {
"description": "OAuth contains the oauth config",
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.SASLOAuth"
},
"plain": {
"description": "SASLPlain contains the sasl plain config",
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.SASLPlain"
Expand All @@ -21794,6 +21798,28 @@
}
}
},
"io.numaproj.numaflow.v1alpha1.SASLOAuth": {
"type": "object",
"required": [
"clientID",
"clientSecret",
"tokenEndpoint"
],
"properties": {
"clientID": {
"description": "ClientID refers to the secret that contains the client id",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"clientSecret": {
"description": "ClientSecret refers to the secret that contains the client secret",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"tokenEndpoint": {
"description": "TokenEndpoint refers to the token endpoint",
"type": "string"
}
}
},
"io.numaproj.numaflow.v1alpha1.SASLPlain": {
"type": "object",
"required": [
Expand Down
105 changes: 105 additions & 0 deletions config/base/crds/full/numaflow.numaproj.io_monovertices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3474,6 +3474,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down Expand Up @@ -4009,6 +4044,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down Expand Up @@ -4723,6 +4793,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down
105 changes: 105 additions & 0 deletions config/base/crds/full/numaflow.numaproj.io_pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8158,6 +8158,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down Expand Up @@ -8693,6 +8728,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down Expand Up @@ -9407,6 +9477,41 @@ spec:
type: object
mechanism:
type: string
oauth:
properties:
clientID:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
clientSecret:
properties:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
tokenEndpoint:
type: string
required:
- clientID
- clientSecret
- tokenEndpoint
type: object
plain:
properties:
handshake:
Expand Down
Loading

0 comments on commit a8371a9

Please sign in to comment.