Skip to content

Commit fb2ebe4

Browse files
authored
add grpc ip discovery support (ydb-platform#253)
1 parent 3404f2b commit fb2ebe4

14 files changed

+509
-345
lines changed

api/v1alpha1/service_types.go

+7
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type GRPCService struct {
2222

2323
TLSConfiguration *TLSConfiguration `json:"tls,omitempty"`
2424
ExternalHost string `json:"externalHost,omitempty"` // TODO implementation
25+
IPDiscovery *IPDiscovery `json:"ipDiscovery,omitempty"`
2526
}
2627

2728
type InterconnectService struct {
@@ -41,3 +42,9 @@ type DatastreamsService struct {
4142

4243
TLSConfiguration *TLSConfiguration `json:"tls,omitempty"`
4344
}
45+
46+
type IPDiscovery struct {
47+
Enabled bool `json:"enabled"`
48+
TargetNameOverride string `json:"targetNameOverride,omitempty"`
49+
IPFamily corev1.IPFamily `json:"ipFamily,omitempty"`
50+
}

api/v1alpha1/zz_generated.deepcopy.go

+20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deploy/ydb-operator/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 0.5.28
18+
version: 0.5.29
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
2323
# It is recommended to use it with quotes.
24-
appVersion: "0.5.28"
24+
appVersion: "0.5.29"

deploy/ydb-operator/crds/database.yaml

+39-29
Original file line numberDiff line numberDiff line change
@@ -886,24 +886,6 @@ spec:
886886
properties:
887887
enabled:
888888
type: boolean
889-
iam_service_account_key:
890-
description: SecretKeySelector selects a key of a Secret.
891-
properties:
892-
key:
893-
description: The key of the secret to select from. Must be
894-
a valid secret key.
895-
type: string
896-
name:
897-
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
898-
TODO: Add other useful fields. apiVersion, kind, uid?'
899-
type: string
900-
optional:
901-
description: Specify whether the Secret or its key must be
902-
defined
903-
type: boolean
904-
required:
905-
- key
906-
type: object
907889
required:
908890
- enabled
909891
type: object
@@ -1208,7 +1190,9 @@ spec:
12081190
to be used in HTTP probes
12091191
properties:
12101192
name:
1211-
description: The header field name
1193+
description: The header field name. This will
1194+
be canonicalized upon output, so case-variant
1195+
names will be understood as the same header.
12121196
type: string
12131197
value:
12141198
description: The header field value
@@ -1304,7 +1288,9 @@ spec:
13041288
to be used in HTTP probes
13051289
properties:
13061290
name:
1307-
description: The header field name
1291+
description: The header field name. This will
1292+
be canonicalized upon output, so case-variant
1293+
names will be understood as the same header.
13081294
type: string
13091295
value:
13101296
description: The header field value
@@ -1417,7 +1403,9 @@ spec:
14171403
to be used in HTTP probes
14181404
properties:
14191405
name:
1420-
description: The header field name
1406+
description: The header field name. This will
1407+
be canonicalized upon output, so case-variant
1408+
names will be understood as the same header.
14211409
type: string
14221410
value:
14231411
description: The header field value
@@ -1619,7 +1607,9 @@ spec:
16191607
to be used in HTTP probes
16201608
properties:
16211609
name:
1622-
description: The header field name
1610+
description: The header field name. This will
1611+
be canonicalized upon output, so case-variant
1612+
names will be understood as the same header.
16231613
type: string
16241614
value:
16251615
description: The header field value
@@ -1716,7 +1706,8 @@ spec:
17161706
description: "Claims lists the names of resources, defined
17171707
in spec.resourceClaims, that are used by this container.
17181708
\n This is an alpha field and requires enabling the DynamicResourceAllocation
1719-
feature gate. \n This field is immutable."
1709+
feature gate. \n This field is immutable. It can only
1710+
be set for containers."
17201711
items:
17211712
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
17221713
properties:
@@ -2000,7 +1991,9 @@ spec:
20001991
to be used in HTTP probes
20011992
properties:
20021993
name:
2003-
description: The header field name
1994+
description: The header field name. This will
1995+
be canonicalized upon output, so case-variant
1996+
names will be understood as the same header.
20041997
type: string
20051998
value:
20061999
description: The header field value
@@ -3204,7 +3197,7 @@ spec:
32043197
in spec.resourceClaims, that are used by this container.
32053198
\n This is an alpha field and requires enabling the
32063199
DynamicResourceAllocation feature gate. \n This field
3207-
is immutable."
3200+
is immutable. It can only be set for containers."
32083201
items:
32093202
description: ResourceClaim references one entry in
32103203
PodSpec.ResourceClaims.
@@ -3280,7 +3273,7 @@ spec:
32803273
in spec.resourceClaims, that are used by this container.
32813274
\n This is an alpha field and requires enabling the
32823275
DynamicResourceAllocation feature gate. \n This field
3283-
is immutable."
3276+
is immutable. It can only be set for containers."
32843277
items:
32853278
description: ResourceClaim references one entry in
32863279
PodSpec.ResourceClaims.
@@ -3614,7 +3607,8 @@ spec:
36143607
description: "Claims lists the names of resources, defined
36153608
in spec.resourceClaims, that are used by this container.
36163609
\n This is an alpha field and requires enabling the DynamicResourceAllocation
3617-
feature gate. \n This field is immutable."
3610+
feature gate. \n This field is immutable. It can only be
3611+
set for containers."
36183612
items:
36193613
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
36203614
properties:
@@ -3811,6 +3805,20 @@ spec:
38113805
type: object
38123806
externalHost:
38133807
type: string
3808+
ipDiscovery:
3809+
properties:
3810+
enabled:
3811+
type: boolean
3812+
ipFamily:
3813+
description: IPFamily represents the IP Family (IPv4 or
3814+
IPv6). This type is used to express the family of an
3815+
IP expressed by a type (e.g. service.spec.ipFamilies).
3816+
type: string
3817+
targetNameOverride:
3818+
type: string
3819+
required:
3820+
- enabled
3821+
type: object
38143822
ipFamilies:
38153823
items:
38163824
description: IPFamily represents the IP Family (IPv4 or
@@ -4072,7 +4080,8 @@ spec:
40724080
description: "Claims lists the names of resources, defined
40734081
in spec.resourceClaims, that are used by this container.
40744082
\n This is an alpha field and requires enabling the DynamicResourceAllocation
4075-
feature gate. \n This field is immutable."
4083+
feature gate. \n This field is immutable. It can only be
4084+
set for containers."
40764085
items:
40774086
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
40784087
properties:
@@ -4925,7 +4934,8 @@ spec:
49254934
defined in spec.resourceClaims, that are used
49264935
by this container. \n This is an alpha field
49274936
and requires enabling the DynamicResourceAllocation
4928-
feature gate. \n This field is immutable."
4937+
feature gate. \n This field is immutable.
4938+
It can only be set for containers."
49294939
items:
49304940
description: ResourceClaim references one
49314941
entry in PodSpec.ResourceClaims.

deploy/ydb-operator/crds/databasenodeset.yaml

+37-27
Original file line numberDiff line numberDiff line change
@@ -901,24 +901,6 @@ spec:
901901
properties:
902902
enabled:
903903
type: boolean
904-
iam_service_account_key:
905-
description: SecretKeySelector selects a key of a Secret.
906-
properties:
907-
key:
908-
description: The key of the secret to select from. Must be
909-
a valid secret key.
910-
type: string
911-
name:
912-
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
913-
TODO: Add other useful fields. apiVersion, kind, uid?'
914-
type: string
915-
optional:
916-
description: Specify whether the Secret or its key must be
917-
defined
918-
type: boolean
919-
required:
920-
- key
921-
type: object
922904
required:
923905
- enabled
924906
type: object
@@ -1223,7 +1205,9 @@ spec:
12231205
to be used in HTTP probes
12241206
properties:
12251207
name:
1226-
description: The header field name
1208+
description: The header field name. This will
1209+
be canonicalized upon output, so case-variant
1210+
names will be understood as the same header.
12271211
type: string
12281212
value:
12291213
description: The header field value
@@ -1319,7 +1303,9 @@ spec:
13191303
to be used in HTTP probes
13201304
properties:
13211305
name:
1322-
description: The header field name
1306+
description: The header field name. This will
1307+
be canonicalized upon output, so case-variant
1308+
names will be understood as the same header.
13231309
type: string
13241310
value:
13251311
description: The header field value
@@ -1432,7 +1418,9 @@ spec:
14321418
to be used in HTTP probes
14331419
properties:
14341420
name:
1435-
description: The header field name
1421+
description: The header field name. This will
1422+
be canonicalized upon output, so case-variant
1423+
names will be understood as the same header.
14361424
type: string
14371425
value:
14381426
description: The header field value
@@ -1634,7 +1622,9 @@ spec:
16341622
to be used in HTTP probes
16351623
properties:
16361624
name:
1637-
description: The header field name
1625+
description: The header field name. This will
1626+
be canonicalized upon output, so case-variant
1627+
names will be understood as the same header.
16381628
type: string
16391629
value:
16401630
description: The header field value
@@ -1731,7 +1721,8 @@ spec:
17311721
description: "Claims lists the names of resources, defined
17321722
in spec.resourceClaims, that are used by this container.
17331723
\n This is an alpha field and requires enabling the DynamicResourceAllocation
1734-
feature gate. \n This field is immutable."
1724+
feature gate. \n This field is immutable. It can only
1725+
be set for containers."
17351726
items:
17361727
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
17371728
properties:
@@ -2015,7 +2006,9 @@ spec:
20152006
to be used in HTTP probes
20162007
properties:
20172008
name:
2018-
description: The header field name
2009+
description: The header field name. This will
2010+
be canonicalized upon output, so case-variant
2011+
names will be understood as the same header.
20192012
type: string
20202013
value:
20212014
description: The header field value
@@ -2319,7 +2312,8 @@ spec:
23192312
description: "Claims lists the names of resources, defined
23202313
in spec.resourceClaims, that are used by this container.
23212314
\n This is an alpha field and requires enabling the DynamicResourceAllocation
2322-
feature gate. \n This field is immutable."
2315+
feature gate. \n This field is immutable. It can only be
2316+
set for containers."
23232317
items:
23242318
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
23252319
properties:
@@ -2516,6 +2510,20 @@ spec:
25162510
type: object
25172511
externalHost:
25182512
type: string
2513+
ipDiscovery:
2514+
properties:
2515+
enabled:
2516+
type: boolean
2517+
ipFamily:
2518+
description: IPFamily represents the IP Family (IPv4 or
2519+
IPv6). This type is used to express the family of an
2520+
IP expressed by a type (e.g. service.spec.ipFamilies).
2521+
type: string
2522+
targetNameOverride:
2523+
type: string
2524+
required:
2525+
- enabled
2526+
type: object
25192527
ipFamilies:
25202528
items:
25212529
description: IPFamily represents the IP Family (IPv4 or
@@ -2777,7 +2785,8 @@ spec:
27772785
description: "Claims lists the names of resources, defined
27782786
in spec.resourceClaims, that are used by this container.
27792787
\n This is an alpha field and requires enabling the DynamicResourceAllocation
2780-
feature gate. \n This field is immutable."
2788+
feature gate. \n This field is immutable. It can only be
2789+
set for containers."
27812790
items:
27822791
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
27832792
properties:
@@ -3630,7 +3639,8 @@ spec:
36303639
defined in spec.resourceClaims, that are used
36313640
by this container. \n This is an alpha field
36323641
and requires enabling the DynamicResourceAllocation
3633-
feature gate. \n This field is immutable."
3642+
feature gate. \n This field is immutable.
3643+
It can only be set for containers."
36343644
items:
36353645
description: ResourceClaim references one
36363646
entry in PodSpec.ResourceClaims.

0 commit comments

Comments
 (0)