Skip to content

Commit

Permalink
add grpc ip discovery support (#253)
Browse files Browse the repository at this point in the history
  • Loading branch information
nikitka authored Oct 10, 2024
1 parent 3404f2b commit fb2ebe4
Show file tree
Hide file tree
Showing 14 changed files with 509 additions and 345 deletions.
7 changes: 7 additions & 0 deletions api/v1alpha1/service_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ type GRPCService struct {

TLSConfiguration *TLSConfiguration `json:"tls,omitempty"`
ExternalHost string `json:"externalHost,omitempty"` // TODO implementation
IPDiscovery *IPDiscovery `json:"ipDiscovery,omitempty"`
}

type InterconnectService struct {
Expand All @@ -41,3 +42,9 @@ type DatastreamsService struct {

TLSConfiguration *TLSConfiguration `json:"tls,omitempty"`
}

type IPDiscovery struct {
Enabled bool `json:"enabled"`
TargetNameOverride string `json:"targetNameOverride,omitempty"`
IPFamily corev1.IPFamily `json:"ipFamily,omitempty"`
}
20 changes: 20 additions & 0 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions deploy/ydb-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.5.28
version: 0.5.29

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "0.5.28"
appVersion: "0.5.29"
68 changes: 39 additions & 29 deletions deploy/ydb-operator/crds/database.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -886,24 +886,6 @@ spec:
properties:
enabled:
type: boolean
iam_service_account_key:
description: SecretKeySelector selects a key of a Secret.
properties:
key:
description: The key of the secret to select from. Must be
a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be
defined
type: boolean
required:
- key
type: object
required:
- enabled
type: object
Expand Down Expand Up @@ -1208,7 +1190,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1304,7 +1288,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1417,7 +1403,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1619,7 +1607,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1716,7 +1706,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only
be set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -2000,7 +1991,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -3204,7 +3197,7 @@ spec:
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate. \n This field
is immutable."
is immutable. It can only be set for containers."
items:
description: ResourceClaim references one entry in
PodSpec.ResourceClaims.
Expand Down Expand Up @@ -3280,7 +3273,7 @@ spec:
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate. \n This field
is immutable."
is immutable. It can only be set for containers."
items:
description: ResourceClaim references one entry in
PodSpec.ResourceClaims.
Expand Down Expand Up @@ -3614,7 +3607,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only be
set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -3811,6 +3805,20 @@ spec:
type: object
externalHost:
type: string
ipDiscovery:
properties:
enabled:
type: boolean
ipFamily:
description: IPFamily represents the IP Family (IPv4 or
IPv6). This type is used to express the family of an
IP expressed by a type (e.g. service.spec.ipFamilies).
type: string
targetNameOverride:
type: string
required:
- enabled
type: object
ipFamilies:
items:
description: IPFamily represents the IP Family (IPv4 or
Expand Down Expand Up @@ -4072,7 +4080,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only be
set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -4925,7 +4934,8 @@ spec:
defined in spec.resourceClaims, that are used
by this container. \n This is an alpha field
and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable.
It can only be set for containers."
items:
description: ResourceClaim references one
entry in PodSpec.ResourceClaims.
Expand Down
64 changes: 37 additions & 27 deletions deploy/ydb-operator/crds/databasenodeset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -901,24 +901,6 @@ spec:
properties:
enabled:
type: boolean
iam_service_account_key:
description: SecretKeySelector selects a key of a Secret.
properties:
key:
description: The key of the secret to select from. Must be
a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be
defined
type: boolean
required:
- key
type: object
required:
- enabled
type: object
Expand Down Expand Up @@ -1223,7 +1205,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1319,7 +1303,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1432,7 +1418,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1634,7 +1622,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -1731,7 +1721,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only
be set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -2015,7 +2006,9 @@ spec:
to be used in HTTP probes
properties:
name:
description: The header field name
description: The header field name. This will
be canonicalized upon output, so case-variant
names will be understood as the same header.
type: string
value:
description: The header field value
Expand Down Expand Up @@ -2319,7 +2312,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only be
set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -2516,6 +2510,20 @@ spec:
type: object
externalHost:
type: string
ipDiscovery:
properties:
enabled:
type: boolean
ipFamily:
description: IPFamily represents the IP Family (IPv4 or
IPv6). This type is used to express the family of an
IP expressed by a type (e.g. service.spec.ipFamilies).
type: string
targetNameOverride:
type: string
required:
- enabled
type: object
ipFamilies:
items:
description: IPFamily represents the IP Family (IPv4 or
Expand Down Expand Up @@ -2777,7 +2785,8 @@ spec:
description: "Claims lists the names of resources, defined
in spec.resourceClaims, that are used by this container.
\n This is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable. It can only be
set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
Expand Down Expand Up @@ -3630,7 +3639,8 @@ spec:
defined in spec.resourceClaims, that are used
by this container. \n This is an alpha field
and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable."
feature gate. \n This field is immutable.
It can only be set for containers."
items:
description: ResourceClaim references one
entry in PodSpec.ResourceClaims.
Expand Down
Loading

0 comments on commit fb2ebe4

Please sign in to comment.