Skip to content

Commit 04f4a51

Browse files
authored
Merge branch 'main' into patch-1
2 parents 9d5c9f7 + 0b822d4 commit 04f4a51

File tree

63 files changed

+8783
-1358
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+8783
-1358
lines changed

components/central-application-gateway/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ Central Application Gateway exposes:
5454
- an external API implementing a health endpoint for liveness and readiness probes
5555
- 2 internal APIs implementing a proxy handler accessible via a service of type `ClusterIP`
5656

57+
Application Gateway also supports redirects for the request flows in which the URL host remains unchanged. For more details, see [Response rewriting](../../docs/05-technical-reference/ac-01-application-gateway-details.md#response-rewriting).
58+
5759
### Standalone mode
5860

5961
The proxy API exposes the following endpoint:

components/event-publisher-proxy/go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ require (
66
github.com/cloudevents/sdk-go/v2 v2.12.0
77
github.com/google/uuid v1.3.0
88
github.com/kelseyhightower/envconfig v1.4.0
9-
github.com/kyma-project/kyma/components/application-operator v0.0.0-20220930074158-ab54b86ee597
10-
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20220930074158-ab54b86ee597
11-
github.com/nats-io/nats-server/v2 v2.9.1
12-
github.com/nats-io/nats.go v1.16.1-0.20220906180156-a1017eec10b0
9+
github.com/kyma-project/kyma/components/application-operator v0.0.0-20221004144139-b69aea381b88
10+
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20221004144139-b69aea381b88
11+
github.com/nats-io/nats-server/v2 v2.9.2
12+
github.com/nats-io/nats.go v1.17.0
1313
github.com/onsi/gomega v1.20.2
1414
github.com/pkg/errors v0.9.1
1515
github.com/prometheus/client_golang v1.13.0
@@ -49,7 +49,7 @@ require (
4949
github.com/imdario/mergo v0.3.12 // indirect
5050
github.com/josharian/intern v1.0.0 // indirect
5151
github.com/json-iterator/go v1.1.12 // indirect
52-
github.com/klauspost/compress v1.15.10 // indirect
52+
github.com/klauspost/compress v1.15.11 // indirect
5353
github.com/kyma-project/kyma/common/logging v0.0.0-20220903121145-690b76935712 // indirect
5454
github.com/mailru/easyjson v0.7.6 // indirect
5555
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
@@ -68,12 +68,12 @@ require (
6868
github.com/spf13/pflag v1.0.5 // indirect
6969
go.uber.org/atomic v1.10.0 // indirect
7070
go.uber.org/multierr v1.8.0 // indirect
71-
golang.org/x/crypto v0.0.0-20220919173607-35f4265a4bc0 // indirect
71+
golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be // indirect
7272
golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect
73-
golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 // indirect
73+
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec // indirect
7474
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
7575
golang.org/x/text v0.3.7 // indirect
76-
golang.org/x/time v0.0.0-20220920022843-2ce7c2934d45 // indirect
76+
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect
7777
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
7878
google.golang.org/appengine v1.6.7 // indirect
7979
google.golang.org/protobuf v1.28.0 // indirect

components/event-publisher-proxy/go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dv
217217
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
218218
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
219219
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
220-
github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo=
221-
github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
220+
github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c=
221+
github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
222222
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
223223
github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=
224224
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@@ -229,10 +229,10 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
229229
github.com/kyma-incubator/api-gateway v0.0.0-20220819093753-296e6704d413 h1:Np4jOrlYMJcgklgrvVwXWfFMCtlg06SDAaxk9SIX7xE=
230230
github.com/kyma-project/kyma/common/logging v0.0.0-20220903121145-690b76935712 h1:f+GRwlfq/PFnvWcI5MNVOdaefTu88RwYMMigoFVFZDE=
231231
github.com/kyma-project/kyma/common/logging v0.0.0-20220903121145-690b76935712/go.mod h1:oXoP77o6Am2IWp8wDS3jaA1gGWLrcaO6gLWyDZbAkJs=
232-
github.com/kyma-project/kyma/components/application-operator v0.0.0-20220930074158-ab54b86ee597 h1:Oar+M7CAWZYb8mu+ISE74cU8XxKzRoiD9EBarLQ/mDE=
233-
github.com/kyma-project/kyma/components/application-operator v0.0.0-20220930074158-ab54b86ee597/go.mod h1:4jh1Qn1DLbQRdCHqEdHsV4Tk9b6L4i9nhgGdEc2XaIg=
234-
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20220930074158-ab54b86ee597 h1:unBQE6wCBia1GPuffpEHnZ/t6qstovB7r5r15z0KX44=
235-
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20220930074158-ab54b86ee597/go.mod h1:PfPweLv+tK/gI4dCyfXEd4V8Ebyb2/oXM1cDaYS3Jcg=
232+
github.com/kyma-project/kyma/components/application-operator v0.0.0-20221004144139-b69aea381b88 h1:BCjnfGDRolGbuKcX962OSZJfyEJzqhDb2yQIDdzH2nk=
233+
github.com/kyma-project/kyma/components/application-operator v0.0.0-20221004144139-b69aea381b88/go.mod h1:4jh1Qn1DLbQRdCHqEdHsV4Tk9b6L4i9nhgGdEc2XaIg=
234+
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20221004144139-b69aea381b88 h1:pehPxhpC28OpnLrWKgLTLv25/UFM8DcTZTBYOBziqok=
235+
github.com/kyma-project/kyma/components/eventing-controller v0.0.0-20221004144139-b69aea381b88/go.mod h1:PfPweLv+tK/gI4dCyfXEd4V8Ebyb2/oXM1cDaYS3Jcg=
236236
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
237237
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
238238
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
@@ -254,10 +254,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m
254254
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
255255
github.com/nats-io/jwt/v2 v2.3.0 h1:z2mA1a7tIf5ShggOFlR1oBPgd6hGqcDYsISxZByUzdI=
256256
github.com/nats-io/jwt/v2 v2.3.0/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k=
257-
github.com/nats-io/nats-server/v2 v2.9.1 h1:JaP6NpCVmSu0AXgbnOkGtJovOxuf8mjNjlX3H+tSpyI=
258-
github.com/nats-io/nats-server/v2 v2.9.1/go.mod h1:T5AEyzrnDGaseK/Y0G6e2IA5tLrHyjLOeGUALq+A8XE=
259-
github.com/nats-io/nats.go v1.16.1-0.20220906180156-a1017eec10b0 h1:dPUKD6Iv8M1y9MU8PK6H4a4/12yx5/CbaYWz/Z1arY8=
260-
github.com/nats-io/nats.go v1.16.1-0.20220906180156-a1017eec10b0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
257+
github.com/nats-io/nats-server/v2 v2.9.2 h1:XNDgJgOYYaYlquLdbSHI3xssLipfKUOq3EmYIMNCOsE=
258+
github.com/nats-io/nats-server/v2 v2.9.2/go.mod h1:4sq8wvrpbvSzL1n3ZfEYnH4qeUuIl5W990j3kw13rRk=
259+
github.com/nats-io/nats.go v1.17.0 h1:1jp5BThsdGlN91hW0k3YEfJbfACjiOYtUiLXG0RL4IE=
260+
github.com/nats-io/nats.go v1.17.0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
261261
github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8=
262262
github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
263263
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
@@ -480,8 +480,8 @@ golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBc
480480
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
481481
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
482482
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
483-
golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 h1:h+EGohizhe9XlX18rfpa8k8RAc5XyaeamM+0VHRd4lc=
484-
golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
483+
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI=
484+
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
485485
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
486486
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
487487
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -498,8 +498,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
498498
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
499499
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
500500
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
501-
golang.org/x/time v0.0.0-20220920022843-2ce7c2934d45 h1:yuLAip3bfURHClMG9VBdzPrQvCWjWiWUTBGV+/fCbUs=
502-
golang.org/x/time v0.0.0-20220920022843-2ce7c2934d45/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
501+
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af h1:Yx9k8YCG3dvF87UAn2tu2HQLf2dt/eR1bXxpLMWeH+Y=
502+
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
503503
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
504504
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
505505
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=

components/eventing-controller/api/v1alpha1/eventingbackend_types.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ import (
44
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
55
)
66

7+
// +kubebuilder:validation:Enum=BEB;NATS
8+
79
type BackendType string
810

9-
// +kubebuilder:validation:Enum=BEB;NATS
1011
const (
1112
BEBBackendType BackendType = "BEB"
1213
NatsBackendType BackendType = "NATS"

components/eventing-controller/config/crd/bases/eventing.kyma-project.io_eventingbackends.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ spec:
5555
backendType:
5656
description: Specifies the backend type used. Allowed values are "BEB"
5757
and "NATS"
58+
enum:
59+
- BEB
60+
- NATS
5861
type: string
5962
bebSecretName:
6063
description: The name of the secret containing BEB access tokens,
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Function templating
2+
To give user more control of workloads created by serverless controller, template concept was created.
3+
The following decision has been made to templating concept.
4+
5+
## Metadata templating
6+
This is the concept of dealing with metadata.
7+
``` yaml
8+
kind: Function
9+
metadata: #Isolated, standalone field
10+
...
11+
spec:
12+
template: #Old field that is being ignored
13+
labels
14+
annotations
15+
templates:
16+
functionPod:
17+
metadata: ...
18+
...
19+
buildPod:
20+
metadata: ...
21+
...
22+
```
23+
We concluded that Validation Webhook needs to check whether given labels or annotations are conflicting with our own and check if something overwrites our labels.
24+
25+
For example:
26+
``` yaml
27+
"serverless.kyma-project.io/function-name": "function-hello-world"
28+
"serverless.kyma-project.io/managed-by": "function-controller",
29+
"serverless.kyma-project.io/resource": "deployment",
30+
"serverless.kyma-project.io/uuid": "98f05b9d-ecd1-4a70-96d6-5848ec4ed3a7",
31+
```
32+
33+
### old field for function metadata
34+
In v1alpha2 version we have `spec.template` field on root level which configures function pod metadata.
35+
This field will be copied/moved to `spec.templates.functionPod.metadata`.
36+
37+
If we want to deal with Kubernetes Labels we should create a separate issue for implementing them and then decide if we want to allow overriding them.
38+
https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
39+
40+
## Resources
41+
After converting from "v1alpha1" we have duplicate fields and we have to decide how to handle them.
42+
We use the "profile" ("preset") fields: "spec/resourceConfiguration/[function|build]/profile" (*P1*) or "metadata/labels/serverless.kyma-project.io/[function|build]-resources-preset" (*P2*) (deprecated).
43+
For a custom (user defined) configuration we use the "resources" fields: "spec/templates/[functionPod|buildJob]/spec/resources" (*R1*) or "spec/resourceConfiguration/[function|build]/resources" (*R2*) (deprecated).
44+
When the user fills both *P1* and *P2* (or *R1* and *R2*) we only take *P1* (*R1*). Otherwise we take the filled one.
45+
The "profile" is propageted to the "resources". When we have both "profile" and "resources", the "profile" has a higher priority and overrides values in "resources".
46+
47+
Use cases:
48+
* no profile, no resources -> we use default function resources and empty build resources,
49+
* no profile, resources -> we use user definied resources,
50+
* no profile, incomplete resources -> we use user definied resources (we don't fill the missing resources from the default profile),
51+
* profile, no resources -> we use profile resources,
52+
* profile, resources -> we use profile resources (we overwrite custom resources),
53+
* profile, incomplete resources -> we use profile resources (we overwrite custom resources).
54+
55+
The `resourceConfiguration` object can be replaced by more specific object when we will create v1alpha3 to clean up deprecated fields.:
56+
```yaml
57+
resourceProfiles:
58+
build: L
59+
runtime: S
60+
```
61+
62+
## Env
63+
In v1alpha2 version we have `spec.env` field on root level which configures function pod envs.
64+
This field will be copied/moved to `spec.templates.functionPod.spec.env`.
65+
66+
## VolumeMounts
67+
This is new feature.

0 commit comments

Comments
 (0)