Skip to content

Commit bb372f0

Browse files
authored
Initial module build (#1)
Signed-off-by: v.oleynikov <vasily.oleynikov@flant.com>
1 parent 0186018 commit bb372f0

File tree

20 files changed

+243
-51
lines changed

20 files changed

+243
-51
lines changed

.helmignore

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
crds
22
docs
3-
images
3+
enabled
44
hooks
5+
images
6+
lib
7+
Makefile
58
openapi
6-
template_tests
7-
enabled
9+
*.md
10+
release.yaml
11+
werf*.yaml
12+
NOTES.txt

hooks/go/020-webhook-certs/webhook-certs.go renamed to hooks/go/030-snapshot-validation-webhook-certs/webhook-certs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ var _ = tlscertificate.RegisterInternalTLSHookEM(tlscertificate.GenSelfSignedTLS
3535
// %CLUSTER_DOMAIN%:// is a special value to generate SAN like 'svc_name.svc_namespace.svc.cluster.local'
3636
fmt.Sprintf("%%CLUSTER_DOMAIN%%://%s.%s.svc", consts.WebhookCertCn, consts.ModuleNamespace),
3737
}),
38-
FullValuesPathPrefix: fmt.Sprintf("%s.internal.customWebhookCert", consts.ModuleName),
38+
FullValuesPathPrefix: fmt.Sprintf("%s.internal.snapshotValidationWebhookCert", consts.ModuleName),
3939
})

hooks/go/consts/consts.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ const (
2020
ModuleName string = "snapshotController"
2121
ModuleNamespace string = "d8-snapshot-controller"
2222
ModulePluralName string = "snapshot-controller"
23-
WebhookCertCn string = "webhooks"
23+
WebhookCertCn string = "snapshot-validation-webhook"
2424
)

hooks/go/go.mod

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,7 @@ module github.com/deckhouse/snapshot-controller/hooks/go
22

33
go 1.24.2
44

5-
require (
6-
github.com/deckhouse/csi-ceph/api v0.0.0-20250207141553-9b2c9a45ba22
7-
github.com/deckhouse/module-sdk v0.2.0
8-
github.com/deckhouse/sds-common-lib v0.0.0-20250331104837-4ed70c9f1a83
9-
github.com/google/go-cmp v0.7.0
10-
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0
11-
k8s.io/api v0.32.3
12-
k8s.io/apiextensions-apiserver v0.32.2
13-
k8s.io/apimachinery v0.32.3
14-
k8s.io/client-go v0.32.3
15-
sigs.k8s.io/controller-runtime v0.20.4
16-
)
5+
require github.com/deckhouse/module-sdk v0.2.0
176

187
require (
198
github.com/DataDog/gostackparse v0.7.0 // indirect
@@ -42,6 +31,7 @@ require (
4231
github.com/google/btree v1.1.3 // indirect
4332
github.com/google/certificate-transparency-go v1.1.7 // indirect
4433
github.com/google/gnostic-models v0.6.9 // indirect
34+
github.com/google/go-cmp v0.7.0 // indirect
4535
github.com/google/go-containerregistry v0.20.3 // indirect
4636
github.com/google/gofuzz v1.2.0 // indirect
4737
github.com/google/uuid v1.6.0 // indirect
@@ -90,13 +80,16 @@ require (
9080
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
9181
gopkg.in/inf.v0 v0.9.1 // indirect
9282
gopkg.in/yaml.v3 v3.0.1 // indirect
83+
k8s.io/api v0.32.3 // indirect
84+
k8s.io/apiextensions-apiserver v0.32.2 // indirect
85+
k8s.io/apimachinery v0.32.3 // indirect
86+
k8s.io/client-go v0.32.3 // indirect
9387
k8s.io/klog/v2 v2.130.1 // indirect
9488
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
9589
k8s.io/utils v0.0.0-20241210054802-24370beab758 // indirect
90+
sigs.k8s.io/controller-runtime v0.20.4 // indirect
9691
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
9792
sigs.k8s.io/randfill v1.0.0 // indirect
9893
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
9994
sigs.k8s.io/yaml v1.4.0 // indirect
10095
)
101-
102-
replace github.com/deckhouse/csi-ceph/api => ../../api

hooks/go/go.sum

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ github.com/deckhouse/deckhouse/pkg/log v0.0.0-20250320042525-77d066cf8f00 h1:KRh
1919
github.com/deckhouse/deckhouse/pkg/log v0.0.0-20250320042525-77d066cf8f00/go.mod h1:pbAxTSDcPmwyl3wwKDcEB3qdxHnRxqTV+J0K+sha8bw=
2020
github.com/deckhouse/module-sdk v0.2.0 h1:MOK03UZ88T7T52bk+lmAz0bRJiljtN5ysq7y8FjEF3s=
2121
github.com/deckhouse/module-sdk v0.2.0/go.mod h1:fbs0X7myE8zrPKxs3eoIoFWf68E7r1tZ64uJfYJCsKc=
22-
github.com/deckhouse/sds-common-lib v0.0.0-20250331104837-4ed70c9f1a83 h1:TLrWAauXH4AdROgCwpTnTZqSxgAF+NMYpeIm+e9ZaqA=
23-
github.com/deckhouse/sds-common-lib v0.0.0-20250331104837-4ed70c9f1a83/go.mod h1:Ap+s6LamZwRMAuzhMVJkmsvQpI1O4yxgFgsTu7QQ5qI=
2422
github.com/docker/cli v28.0.2+incompatible h1:cRPZ77FK3/IXTAIQQj1vmhlxiLS5m+MIUDwS6f57lrE=
2523
github.com/docker/cli v28.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
2624
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
@@ -105,8 +103,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
105103
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
106104
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
107105
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
108-
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0 h1:Q3jQ1NkFqv5o+F8dMmHd8SfEmlcwNeo1immFApntEwE=
109-
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0/go.mod h1:E3vdYxHj2C2q6qo8/Da4g7P+IcwqRZyy3gJBzYybV9Y=
110106
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
111107
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
112108
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=

hooks/go/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package main
1818

1919
import (
2020
"github.com/deckhouse/module-sdk/pkg/app"
21-
_ "github.com/deckhouse/snapshot-controller/hooks/go/020-webhook-certs"
21+
_ "github.com/deckhouse/snapshot-controller/hooks/go/030-snapshot-validation-webhook-certs"
2222
)
2323

2424
func main() {

images/go-hooks/werf.inc.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
image: {{ $.ImageName }}-artifact
3+
fromImage: builder/golang-alpine
4+
final: false
5+
6+
git:
7+
- add: /hooks/go
8+
to: /usr/src/app/hooks/go
9+
stageDependencies:
10+
install:
11+
- '**/go.mod'
12+
- '**/go.sum'
13+
beforeSetup:
14+
- '**/*.go'
15+
16+
mount:
17+
- fromPath: ~/go-pkg-cache
18+
to: /go/pkg
19+
20+
shell:
21+
install:
22+
- cd /usr/src/app/hooks/go
23+
- go mod download
24+
beforeSetup:
25+
- |
26+
cd /usr/src/app/hooks/go;
27+
CGO_ENABLED=0 go build -a -gcflags=all="-l -B" -ldflags="-w -s" -o /usr/local/bin/go-hooks *.go;
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
diff --git a/go.mod b/go.mod
2+
index 459123086..575dc5706 100644
3+
--- a/go.mod
4+
+++ b/go.mod
5+
@@ -60,11 +60,11 @@ require (
6+
go.opentelemetry.io/otel v1.29.0 // indirect
7+
go.opentelemetry.io/otel/metric v1.29.0 // indirect
8+
go.opentelemetry.io/otel/trace v1.29.0 // indirect
9+
- golang.org/x/net v0.28.0 // indirect
10+
+ golang.org/x/net v0.33.0 // indirect
11+
golang.org/x/oauth2 v0.22.0 // indirect
12+
- golang.org/x/sys v0.24.0 // indirect
13+
- golang.org/x/term v0.23.0 // indirect
14+
- golang.org/x/text v0.17.0 // indirect
15+
+ golang.org/x/sys v0.28.0 // indirect
16+
+ golang.org/x/term v0.27.0 // indirect
17+
+ golang.org/x/text v0.21.0 // indirect
18+
golang.org/x/time v0.6.0 // indirect
19+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect
20+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
21+
diff --git a/go.sum b/go.sum
22+
index dcae10efe..af07cd6b2 100644
23+
--- a/go.sum
24+
+++ b/go.sum
25+
@@ -138,8 +138,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
26+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
27+
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
28+
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
29+
-golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
30+
-golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
31+
+golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
32+
+golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
33+
golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
34+
golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
35+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
36+
@@ -152,15 +152,15 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w
37+
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
38+
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
39+
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
40+
-golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
41+
-golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
42+
+golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
43+
+golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
44+
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
45+
-golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
46+
-golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
47+
+golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
48+
+golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
49+
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
50+
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
51+
-golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
52+
-golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
53+
+golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
54+
+golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
55+
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
56+
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
57+
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# 001-go-mod.patch
2+
3+
This patch fixes CVE in original CSI

images/snapshot-controller/werf.inc.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ git:
1616

1717
shell:
1818
install:
19-
- cd /src
20-
- git clone --depth 1 --branch {{ $.Versions.SNAPSHOT_CONTROLLER }} {{ env "SOURCE_REPO" }}/kubernetes-csi/external-snapshotter.git .
21-
- for patchfile in /patches/*.patch ; do echo -n "Apply ${patchfile} ... "; git apply ${patchfile}; done
22-
- rm -rf vendor
23-
- rm -rf .git
19+
- git clone --depth 1 --branch {{ $.Versions.SNAPSHOT_CONTROLLER }} {{ env "SOURCE_REPO" }}/kubernetes-csi/external-snapshotter.git /src/snapshot-controller
20+
- cd /src/snapshot-controller
21+
- for patchfile in /src/images/{{ $.ImageName }}/patches/*.patch ; do echo -n "Apply ${patchfile} ... "; git apply ${patchfile}; done
22+
- rm -rf /src/images/{{ $.ImageName }}/patches
23+
- rm -rf /src/snapshot-controller/vendor
24+
- rm -rf /src/snapshot-controller/.git
2425

2526
---
2627
image: {{ $.ImageName }}-golang-artifact
@@ -43,7 +44,7 @@ shell:
4344
install:
4445
- export GO_VERSION={{ env "GOLANG_VERSION" }} CGO_ENABLED=0 GOOS=linux GOARCH=amd64
4546
- export GOPROXY={{ env "GOPROXY" }}
46-
- cd /src
47+
- cd /src/snapshot-controller
4748
- make build
4849
- cp bin/snapshot-controller bin/csi-snapshotter bin/snapshot-validation-webhook /
4950
- chown 64535:64535 /snapshot-controller /csi-snapshotter /snapshot-validation-webhook

0 commit comments

Comments
 (0)