Skip to content

Commit 8f0dc57

Browse files
authored
Merge pull request #4 from wanjunlei/sourceimage
support to watch the source image
2 parents 26a1603 + c485c07 commit 8f0dc57

File tree

4 files changed

+352
-681
lines changed

4 files changed

+352
-681
lines changed

controllers/function_controller.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,30 @@ func (r *FunctionReconciler) addRevisionController(fn *openfunction.Function) er
118118
return nil
119119
}
120120

121+
if fn.Spec.Build.SrcRepo.Url == "" {
122+
r.log.V(1).Info("git url must be set for source revision controller")
123+
r.deleteRevisionController(fn, revisionControllerType)
124+
return nil
125+
}
126+
121127
if fn.Spec.Build.SrcRepo.Revision != nil {
122128
if commitShaRegEx.MatchString(*fn.Spec.Build.SrcRepo.Revision) {
123129
r.log.V(1).Info("source code point to a commit, no need to start revision controller")
124130
r.deleteRevisionController(fn, revisionControllerType)
125131
return nil
126132
}
127133
}
134+
case constants.RevisionControllerTypeSourceImage:
135+
if fn.Spec.Build == nil {
136+
r.deleteRevisionController(fn, revisionControllerType)
137+
return nil
138+
}
139+
140+
if fn.Spec.Build.SrcRepo.BundleContainer == nil {
141+
r.log.V(1).Info("bundle container must be set for source image revision controller")
142+
r.deleteRevisionController(fn, revisionControllerType)
143+
return nil
144+
}
128145
case constants.RevisionControllerTypeImage:
129146
if fn.Spec.Serving == nil {
130147
r.deleteRevisionController(fn, revisionControllerType)
@@ -188,7 +205,7 @@ func newRevisionController(c client.Client, fn *openfunction.Function, revisionC
188205
switch revisionControllerType {
189206
case constants.RevisionControllerTypeSource:
190207
return git.NewRevisionController(c, fn, revisionControllerType, config)
191-
case constants.RevisionControllerTypeImage:
208+
case constants.RevisionControllerTypeSourceImage, constants.RevisionControllerTypeImage:
192209
return image.NewRevisionController(c, fn, revisionControllerType, config)
193210
default:
194211
return nil, fmt.Errorf("unspported revision controller type, %s", revisionControllerType)

go.mod

Lines changed: 62 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,50 @@ go 1.19
44

55
require (
66
gitee.com/openeuler/go-gitee v0.0.0-20220530104019-3af895bc380c
7-
github.com/go-logr/logr v1.2.0
8-
github.com/google/go-containerregistry v0.6.0
7+
github.com/go-logr/logr v1.2.3
8+
github.com/google/go-containerregistry v0.11.0
99
github.com/google/go-containerregistry/pkg/authn/k8schain v0.0.0-20210624211700-ce35c99b3faf
1010
github.com/google/go-github/v49 v49.0.0
1111
github.com/openfunction v0.0.0-00010101000000-000000000000
1212
github.com/xanzy/go-gitlab v0.78.0
13-
go.uber.org/zap v1.19.0
13+
go.uber.org/zap v1.23.0
1414
gopkg.in/yaml.v3 v3.0.1
15-
k8s.io/api v0.22.1
16-
k8s.io/apimachinery v0.22.1
15+
k8s.io/api v0.25.0-alpha.0
16+
k8s.io/apimachinery v0.25.0-alpha.0
1717
k8s.io/client-go v11.0.1-0.20190805182717-6502b5e7b1b5+incompatible
18-
sigs.k8s.io/controller-runtime v0.9.7
18+
sigs.k8s.io/controller-runtime v0.12.1
1919
)
2020

2121
require (
22-
github.com/Azure/azure-sdk-for-go v55.6.0+incompatible // indirect
22+
cloud.google.com/go/compute v1.14.0 // indirect
23+
cloud.google.com/go/compute/metadata v0.2.3 // indirect
24+
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible // indirect
2325
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
2426
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
25-
github.com/aws/aws-sdk-go v1.39.4 // indirect
26-
github.com/docker/cli v20.10.7+incompatible // indirect
27-
github.com/docker/distribution v2.8.0+incompatible // indirect
28-
github.com/docker/docker v20.10.7+incompatible // indirect
29-
github.com/docker/docker-credential-helpers v0.6.3 // indirect
27+
github.com/aws/aws-sdk-go v1.41.7 // indirect
28+
github.com/docker/cli v20.10.17+incompatible // indirect
29+
github.com/docker/distribution v2.8.1+incompatible // indirect
30+
github.com/docker/docker v20.10.17+incompatible // indirect
31+
github.com/docker/docker-credential-helpers v0.6.4 // indirect
32+
github.com/emicklei/go-restful/v3 v3.8.0 // indirect
33+
github.com/go-openapi/jsonpointer v0.19.5 // indirect
34+
github.com/go-openapi/jsonreference v0.20.0 // indirect
35+
github.com/go-openapi/swag v0.21.1 // indirect
36+
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
37+
github.com/google/gnostic v0.5.7-v3refs // indirect
3038
github.com/jmespath/go-jmespath v0.4.0 // indirect
39+
github.com/josharian/intern v1.0.0 // indirect
40+
github.com/mailru/easyjson v0.7.7 // indirect
41+
github.com/mitchellh/go-homedir v1.1.0 // indirect
42+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
3143
github.com/opencontainers/go-digest v1.0.0 // indirect
32-
github.com/opencontainers/image-spec v1.0.2 // indirect
33-
github.com/sirupsen/logrus v1.8.1 // indirect
44+
github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1 // indirect
45+
github.com/sirupsen/logrus v1.9.0 // indirect
3446
github.com/vdemeester/k8s-pkg-credentialprovider v1.21.0-1 // indirect
35-
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
47+
golang.org/x/sync v0.1.0 // indirect
3648
k8s.io/cloud-provider v0.21.0 // indirect
3749
k8s.io/legacy-cloud-providers v0.21.0 // indirect
50+
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
3851
)
3952

4053
require (
@@ -44,48 +57,44 @@ require (
4457
)
4558

4659
require (
47-
cloud.google.com/go v0.86.0 // indirect
4860
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
49-
github.com/Azure/go-autorest/autorest v0.11.19 // indirect
50-
github.com/Azure/go-autorest/autorest/adal v0.9.13 // indirect
61+
github.com/Azure/go-autorest/autorest v0.11.27 // indirect
62+
github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect
5163
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
5264
github.com/Azure/go-autorest/logger v0.2.1 // indirect
5365
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
5466
github.com/beorn7/perks v1.0.1 // indirect
55-
github.com/cespare/xxhash/v2 v2.1.1 // indirect
56-
github.com/dapr/dapr v1.3.1 // indirect
67+
github.com/cespare/xxhash/v2 v2.1.2 // indirect
68+
github.com/dapr/dapr v1.8.3 // indirect
5769
github.com/davecgh/go-spew v1.1.1 // indirect
58-
github.com/evanphx/json-patch v4.11.0+incompatible // indirect
59-
github.com/evanphx/json-patch/v5 v5.5.0 // indirect
60-
github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect
61-
github.com/fsnotify/fsnotify v1.4.9 // indirect
62-
github.com/go-logr/zapr v0.4.0 // indirect
70+
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
71+
github.com/evanphx/json-patch/v5 v5.6.0 // indirect
72+
github.com/fsnotify/fsnotify v1.6.0 // indirect
73+
github.com/go-logr/zapr v1.2.3 // indirect
6374
github.com/gogo/protobuf v1.3.2 // indirect
6475
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
6576
github.com/golang/protobuf v1.5.2 // indirect
6677
github.com/google/go-cmp v0.5.9 // indirect
6778
github.com/google/go-querystring v1.1.0 // indirect
6879
github.com/google/gofuzz v1.2.0 // indirect
6980
github.com/google/uuid v1.3.0 // indirect
70-
github.com/googleapis/gnostic v0.5.5 // indirect
71-
github.com/hashicorp/golang-lru v0.5.4 // indirect
72-
github.com/imdario/mergo v0.3.12 // indirect
73-
github.com/json-iterator/go v1.1.11 // indirect
81+
github.com/imdario/mergo v0.3.13 // indirect
82+
github.com/json-iterator/go v1.1.12 // indirect
7483
github.com/kedacore/keda/v2 v2.4.0 // indirect
75-
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
84+
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
7685
github.com/mitchellh/hashstructure v1.1.0 // indirect
7786
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
78-
github.com/modern-go/reflect2 v1.0.1 // indirect
87+
github.com/modern-go/reflect2 v1.0.2 // indirect
7988
github.com/pkg/errors v0.9.1 // indirect
80-
github.com/prometheus/client_golang v1.11.0 // indirect
81-
github.com/prometheus/client_model v0.2.0 // indirect
82-
github.com/prometheus/common v0.30.0 // indirect
83-
github.com/prometheus/procfs v0.6.0 // indirect
84-
github.com/shipwright-io/build v0.6.0 // indirect
89+
github.com/prometheus/client_golang v1.14.0 // indirect
90+
github.com/prometheus/client_model v0.3.0 // indirect
91+
github.com/prometheus/common v0.37.0 // indirect
92+
github.com/prometheus/procfs v0.8.0 // indirect
93+
github.com/shipwright-io/build v0.11.0 // indirect
8594
github.com/spf13/pflag v1.0.5 // indirect
8695
go.uber.org/atomic v1.9.0 // indirect
87-
go.uber.org/multierr v1.7.0 // indirect
88-
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
96+
go.uber.org/multierr v1.8.0 // indirect
97+
golang.org/x/crypto v0.1.0 // indirect
8998
golang.org/x/net v0.4.0 // indirect
9099
golang.org/x/oauth2 v0.3.0
91100
golang.org/x/sys v0.3.0 // indirect
@@ -97,24 +106,23 @@ require (
97106
google.golang.org/protobuf v1.28.1 // indirect
98107
gopkg.in/inf.v0 v0.9.1 // indirect
99108
gopkg.in/yaml.v2 v2.4.0 // indirect
100-
k8s.io/apiextensions-apiserver v0.21.4 // indirect
101-
k8s.io/component-base v0.21.4 // indirect
102-
k8s.io/klog/v2 v2.10.0 // indirect
103-
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e // indirect
104-
k8s.io/utils v0.0.0-20210820185131-d34e5cb4466e // indirect
105-
knative.dev/pkg v0.0.0-20210919202233-5ae482141474 // indirect
109+
k8s.io/apiextensions-apiserver v0.25.0-alpha.0 // indirect
110+
k8s.io/component-base v0.25.0-alpha.0 // indirect
111+
k8s.io/klog/v2 v2.80.1 // indirect
112+
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
113+
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d // indirect
114+
knative.dev/pkg v0.0.0-20220524202603-19adf798efb8 // indirect
106115
sigs.k8s.io/gateway-api v0.4.0 // indirect
107-
sigs.k8s.io/structured-merge-diff/v4 v4.1.2 // indirect
108-
sigs.k8s.io/yaml v1.2.0 // indirect
116+
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
117+
sigs.k8s.io/yaml v1.3.0 // indirect
109118
)
110119

111120
replace (
112-
github.com/go-logr/logr => github.com/go-logr/logr v0.4.0
113-
github.com/openfunction => github.com/OpenFunction/OpenFunction v0.0.0-20230110075529-3c39e0541b2c
114-
k8s.io/api => k8s.io/api v0.21.4
115-
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.21.4
116-
k8s.io/apimachinery => k8s.io/apimachinery v0.21.4
117-
k8s.io/client-go => k8s.io/client-go v0.21.4
118-
k8s.io/klog/v2 => k8s.io/klog/v2 v2.9.0
119-
sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.9.7
121+
github.com/openfunction => github.com/OpenFunction/OpenFunction v0.0.0-20230131073250-a5da7ba1c99b
122+
k8s.io/api => k8s.io/api v0.24.10
123+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.10
124+
k8s.io/apimachinery => k8s.io/apimachinery v0.24.10
125+
k8s.io/client-go => k8s.io/client-go v0.24.10
126+
k8s.io/component-base => k8s.io/component-base v0.24.10
127+
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280
120128
)

0 commit comments

Comments
 (0)