Skip to content

Commit e0f523c

Browse files
committed
annotations type
1 parent a43866e commit e0f523c

File tree

7 files changed

+140
-55
lines changed

7 files changed

+140
-55
lines changed

go.mod

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ require (
66
github.com/banzaicloud/k8s-objectmatcher v1.7.0
77
github.com/go-logr/logr v1.2.4
88
github.com/golang-jwt/jwt/v4 v4.4.1
9-
github.com/google/go-cmp v0.5.9
9+
github.com/google/go-cmp v0.6.0
1010
github.com/onsi/ginkgo/v2 v2.9.4
1111
github.com/onsi/gomega v1.27.6
1212
github.com/pkg/errors v0.9.1
1313
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.50.0
1414
github.com/ydb-platform/ydb-go-genproto v0.0.0-20240528144234-5d5a685e41f7
15-
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.2
15+
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.4
16+
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
1617
google.golang.org/grpc v1.57.1
1718
google.golang.org/protobuf v1.33.0
1819
gopkg.in/yaml.v3 v3.0.1
@@ -63,14 +64,14 @@ require (
6364
go.uber.org/atomic v1.7.0 // indirect
6465
go.uber.org/multierr v1.6.0 // indirect
6566
go.uber.org/zap v1.24.0 // indirect
66-
golang.org/x/net v0.23.0 // indirect
67+
golang.org/x/net v0.26.0 // indirect
6768
golang.org/x/oauth2 v0.7.0 // indirect
68-
golang.org/x/sync v0.3.0 // indirect
69-
golang.org/x/sys v0.18.0 // indirect
70-
golang.org/x/term v0.18.0 // indirect
71-
golang.org/x/text v0.14.0 // indirect
69+
golang.org/x/sync v0.7.0 // indirect
70+
golang.org/x/sys v0.21.0 // indirect
71+
golang.org/x/term v0.21.0 // indirect
72+
golang.org/x/text v0.16.0 // indirect
7273
golang.org/x/time v0.3.0 // indirect
73-
golang.org/x/tools v0.9.1 // indirect
74+
golang.org/x/tools v0.22.0 // indirect
7475
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
7576
google.golang.org/appengine v1.6.7 // indirect
7677
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect

go.sum

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
211211
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
212212
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
213213
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
214-
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
215-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
214+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
215+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
216216
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
217217
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
218218
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
@@ -396,8 +396,8 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q
396396
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
397397
github.com/ydb-platform/ydb-go-genproto v0.0.0-20240528144234-5d5a685e41f7 h1:nL8XwD6fSst7xFUirkaWJmE7kM0CdWRYgu6+YQer1d4=
398398
github.com/ydb-platform/ydb-go-genproto v0.0.0-20240528144234-5d5a685e41f7/go.mod h1:Er+FePu1dNUieD+XTMDduGpQuCPssK5Q4BjF+IIXJ3I=
399-
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.2 h1:aciEkENbBcpRVGwU9+EPyC/cdXqiGU9cqc75LN7wxfY=
400-
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.2/go.mod h1:ZXl2InwGFiZKojWCsj6tW/SGFbch7zaehQWX5CjXMEI=
399+
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.4 h1:aWvu/BZ2cLvotM9DLsnMI1ynnFYlJ7oAaYEQD1bZZM4=
400+
github.com/ydb-platform/ydb-go-sdk/v3 v3.74.4/go.mod h1:ZXl2InwGFiZKojWCsj6tW/SGFbch7zaehQWX5CjXMEI=
401401
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
402402
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
403403
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@@ -431,14 +431,15 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
431431
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
432432
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
433433
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
434+
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY=
435+
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
434436
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
435437
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
436438
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
437439
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
438440
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
439441
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
440442
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
441-
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
442443
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
443444
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
444445
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -464,8 +465,8 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R
464465
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
465466
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
466467
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
467-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
468-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
468+
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
469+
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
469470
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
470471
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
471472
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -479,8 +480,8 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ
479480
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
480481
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
481482
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
482-
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
483-
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
483+
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
484+
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
484485
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
485486
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
486487
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -506,20 +507,20 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w
506507
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
507508
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
508509
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
509-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
510-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
510+
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
511+
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
511512
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
512-
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
513-
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
513+
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
514+
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
514515
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
515516
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
516517
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
517518
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
518519
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
519520
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
520521
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
521-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
522-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
522+
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
523+
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
523524
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
524525
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
525526
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -542,8 +543,8 @@ golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtn
542543
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
543544
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
544545
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
545-
golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=
546-
golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
546+
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
547+
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
547548
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
548549
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
549550
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/annotations/annotations.go

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package annotations
22

3-
import "strings"
3+
import "golang.org/x/exp/slices"
44

55
const (
6-
ValueTrue = "true"
7-
6+
SkipInitialization = "ydb.tech/skip-initialization"
87
UpdateStrategyOnDelete = "ydb.tech/update-strategy-on-delete"
98
UpdateDNSPolicy = "ydb.tech/update-dns-policy"
10-
SkipInitialization = "ydb.tech/skip-initialization"
119
DisableLivenessProbe = "ydb.tech/disable-liveness-probe"
1210
DataCenter = "ydb.tech/data-center"
1311
GRPCPublicHost = "ydb.tech/grpc-public-host"
@@ -21,14 +19,57 @@ const (
2119
LastApplied = "ydb.tech/last-applied"
2220
)
2321

24-
func GetYdbTechAnnotations(annotations map[string]string) map[string]string {
25-
result := make(map[string]string)
26-
for key, value := range annotations {
27-
if strings.HasPrefix(key, "ydb.tech/") {
28-
result[key] = value
22+
var userAnnotations = []string{
23+
SkipInitialization, UpdateStrategyOnDelete, UpdateDNSPolicy, DisableLivenessProbe,
24+
DataCenter, GRPCPublicHost, NodeHost, NodeDomain,
25+
}
26+
27+
type Annotations map[string]string
28+
29+
func Common(defaultAnnotations Annotations) Annotations {
30+
an := Annotations{}
31+
32+
an.Merge(getUserAnnotations(defaultAnnotations))
33+
34+
return an
35+
}
36+
37+
func (an Annotations) AsMap() map[string]string {
38+
return an
39+
}
40+
41+
func (an Annotations) Copy() Annotations {
42+
res := Annotations{}
43+
44+
for k, v := range an {
45+
res[k] = v
46+
}
47+
48+
return res
49+
}
50+
51+
func (an Annotations) Merge(other map[string]string) map[string]string {
52+
if other == nil {
53+
return an
54+
}
55+
56+
for k, v := range other {
57+
an[k] = v
58+
}
59+
60+
return an
61+
}
62+
63+
func getUserAnnotations(other map[string]string) map[string]string {
64+
common := make(map[string]string)
65+
66+
for key, value := range other {
67+
if slices.Contains(userAnnotations, key) {
68+
common[key] = value
2969
}
3070
}
31-
return result
71+
72+
return common
3273
}
3374

3475
func getLastAppliedAnnotation(annotations map[string]string) string {
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package annotations_test
2+
3+
import (
4+
"testing"
5+
6+
. "github.com/onsi/ginkgo/v2"
7+
. "github.com/onsi/gomega"
8+
9+
"github.com/ydb-platform/ydb-kubernetes-operator/internal/annotations"
10+
)
11+
12+
func TestLabels(t *testing.T) {
13+
RegisterFailHandler(Fail)
14+
RunSpecs(t, "Label suite")
15+
}
16+
17+
var _ = Describe("Testing annotations", func() {
18+
It("merges two sets of annotations", func() {
19+
fstLabels := annotations.Annotations{
20+
"a": "a",
21+
"b": "b",
22+
}
23+
24+
sndLabels := annotations.Annotations{
25+
"c": "c",
26+
"d": "d",
27+
}
28+
29+
Expect(fstLabels.Merge(sndLabels)).To(BeEquivalentTo(map[string]string{
30+
"a": "a",
31+
"b": "b",
32+
"c": "c",
33+
"d": "d",
34+
}))
35+
})
36+
37+
It("sets correct defaults", func() {
38+
Expect(annotations.Common(map[string]string{
39+
"ydb.tech/skip-initialization": "true",
40+
"ydb.tech/node-host": "ydb-testing.k8s-c.yandex.net",
41+
"ydb.tech/last-applied": "some-body",
42+
"sample-annotation": "test",
43+
})).To(BeEquivalentTo(map[string]string{
44+
"ydb.tech/skip-initialization": "true",
45+
"ydb.tech/node-host": "ydb-testing.k8s-c.yandex.net",
46+
}))
47+
})
48+
})

internal/resources/database.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,11 @@ func (b *DatabaseBuilder) NewLabels() labels.Labels {
4141
}
4242

4343
func (b *DatabaseBuilder) NewAnnotations() map[string]string {
44-
an := annotations.GetYdbTechAnnotations(b.Annotations)
45-
for k, v := range b.Spec.AdditionalAnnotations {
46-
an[k] = v
47-
}
48-
an[annotations.ConfigurationChecksum] = GetSHA256Checksum(b.Spec.Configuration)
49-
delete(an, annotations.LastApplied)
44+
an := annotations.Common(b.Annotations)
45+
46+
an.Merge(b.Spec.AdditionalAnnotations)
47+
an.Merge(map[string]string{annotations.ConfigurationChecksum: GetSHA256Checksum(b.Spec.Configuration)})
48+
5049
return an
5150
}
5251

internal/resources/storage.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,11 @@ func (b *StorageClusterBuilder) NewLabels() labels.Labels {
4141
}
4242

4343
func (b *StorageClusterBuilder) NewAnnotations() map[string]string {
44-
an := annotations.GetYdbTechAnnotations(b.Annotations)
45-
for k, v := range b.Spec.AdditionalAnnotations {
46-
an[k] = v
47-
}
48-
an[annotations.ConfigurationChecksum] = GetSHA256Checksum(b.Spec.Configuration)
49-
delete(an, annotations.LastApplied)
44+
an := annotations.Common(b.Annotations)
45+
46+
an.Merge(b.Spec.AdditionalAnnotations)
47+
an.Merge(map[string]string{annotations.ConfigurationChecksum: GetSHA256Checksum(b.Spec.Configuration)})
48+
5049
return an
5150
}
5251

internal/resources/storage_init_job.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,18 @@ func (b *StorageInitJobBuilder) NewLabels() labels.Labels {
4040
if b.Spec.InitJob != nil {
4141
l.Merge(b.Spec.InitJob.AdditionalLabels)
4242
}
43-
4443
l.Merge(map[string]string{labels.ComponentKey: labels.InitComponent})
4544

4645
return l
4746
}
4847

4948
func (b *StorageInitJobBuilder) NewAnnotations() map[string]string {
50-
an := annotations.GetYdbTechAnnotations(b.Annotations)
49+
an := annotations.Common(b.Annotations)
5150

52-
if b.Spec.InitJob.AdditionalAnnotations != nil {
53-
for k, v := range b.Spec.InitJob.AdditionalAnnotations {
54-
an[k] = v
55-
}
51+
if b.Spec.InitJob != nil {
52+
an.Merge(b.Spec.InitJob.AdditionalLabels)
5653
}
57-
58-
an[annotations.ConfigurationChecksum] = GetSHA256Checksum(b.Spec.Configuration)
54+
an.Merge(map[string]string{annotations.ConfigurationChecksum: GetSHA256Checksum(b.Spec.Configuration)})
5955

6056
return an
6157
}

0 commit comments

Comments
 (0)