Skip to content

Commit 5bb252a

Browse files
authored
Merge branch 'main' into health-metric
2 parents 12b6c19 + 820ba74 commit 5bb252a

File tree

54 files changed

+404
-1425
lines changed

Some content is hidden

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

54 files changed

+404
-1425
lines changed

CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
/tests/fast-integration/monitoring @kyma-project/observability
7575
/tests/fast-integration/telemetry-test @kyma-project/observability
7676
/tests/fast-integration/tracing @kyma-project/observability
77-
77+
/tests/fast-integration/prow @kyma-project/Jellyfish
7878

7979
/tests/function-controller @kyma-project/Otters
8080
/tests/components/api-gateway @kyma-project/goat

components/eventing-controller/cmd/eventing-controller/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ func main() {
118118
// Start the backend manager.
119119
ctx := context.Background()
120120
recorder := mgr.GetEventRecorderFor("backend-controller")
121-
backendReconciler := backend.NewReconciler(ctx, natsSubMgr, natsConfig, envConfig, bebSubMgr,
121+
backendConfig := env.GetBackendConfig()
122+
backendReconciler := backend.NewReconciler(ctx, natsSubMgr, natsConfig, envConfig, backendConfig, bebSubMgr,
122123
mgr.GetClient(), ctrLogger, recorder)
123124
if err = backendReconciler.SetupWithManager(mgr); err != nil {
124125
setupLogger.Fatalw("Failed to start backend controller", "error", err)

components/eventing-controller/controllers/backend/reconciler.go

+31-6
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,16 @@ type Reconciler struct {
103103
credentials oauth2Credentials
104104
}
105105

106-
func NewReconciler(ctx context.Context, natsSubMgr subscriptionmanager.Manager, natsConfig env.NATSConfig,
107-
envCfg env.Config, bebSubMgr subscriptionmanager.Manager, client client.Client, logger *logger.Logger,
106+
func NewReconciler(
107+
ctx context.Context,
108+
natsSubMgr subscriptionmanager.Manager,
109+
natsConfig env.NATSConfig,
110+
envCfg env.Config,
111+
backendCfg env.BackendConfig,
112+
bebSubMgr subscriptionmanager.Manager,
113+
client client.Client,
114+
logger *logger.Logger,
108115
recorder record.EventRecorder) *Reconciler {
109-
cfg := env.GetBackendConfig()
110116
return &Reconciler{
111117
ctx: ctx,
112118
natsSubMgr: natsSubMgr,
@@ -116,10 +122,18 @@ func NewReconciler(ctx context.Context, natsSubMgr subscriptionmanager.Manager,
116122
Client: client,
117123
logger: logger,
118124
record: recorder,
119-
cfg: cfg,
125+
cfg: backendCfg,
120126
}
121127
}
122128

129+
func (r *Reconciler) SetNatsConfig(natsConfig env.NATSConfig) {
130+
r.natsConfig = natsConfig
131+
}
132+
133+
func (r *Reconciler) SetBackendConfig(backendCfg env.BackendConfig) {
134+
r.cfg = backendCfg
135+
}
136+
123137
// +kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch;update;patch;create;delete
124138
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;update;patch;create;delete
125139
// +kubebuilder:rbac:groups=eventing.kyma-project.io,resources=eventingbackends,verbs=get;list;watch;create;update;patch;delete
@@ -622,7 +636,16 @@ func getSecretStringData(clientID, clientSecret, tokenEndpoint, grantType, publi
622636
}
623637

624638
func (r *Reconciler) CreateOrUpdatePublisherProxy(ctx context.Context, backend eventingv1alpha1.BackendType) (*appsv1.Deployment, error) {
639+
return r.CreateOrUpdatePublisherProxyDeployment(ctx, backend, true)
640+
}
641+
642+
func (r *Reconciler) CreateOrUpdatePublisherProxyDeployment(
643+
ctx context.Context,
644+
backend eventingv1alpha1.BackendType,
645+
setOwnerReference bool) (*appsv1.Deployment, error) {
625646
var desiredPublisher *appsv1.Deployment
647+
// set backend type here so that the function can be used in eventing-manager
648+
r.backendType = backend
626649

627650
switch backend {
628651
case eventingv1alpha1.NatsBackendType:
@@ -633,8 +656,10 @@ func (r *Reconciler) CreateOrUpdatePublisherProxy(ctx context.Context, backend e
633656
return nil, fmt.Errorf("unknown EventingBackend type %q", backend)
634657
}
635658

636-
if err := r.setAsOwnerReference(ctx, desiredPublisher); err != nil {
637-
return nil, errors.Wrapf(err, "set owner reference for Event Publisher failed")
659+
if setOwnerReference {
660+
if err := r.setAsOwnerReference(ctx, desiredPublisher); err != nil {
661+
return nil, errors.Wrapf(err, "set owner reference for Event Publisher failed")
662+
}
638663
}
639664

640665
currentPublisher, err := r.getEPPDeployment(ctx)

components/eventing-controller/controllers/backend/reconciler_internal_integration_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,13 @@ var _ = BeforeSuite(func(done Done) {
169169
}
170170

171171
envConfig := env.Config{}
172+
backendConfig := env.GetBackendConfig()
172173
err = NewReconciler(
173174
context.Background(),
174175
natsSubMgr,
175176
natsConfig,
176177
envConfig,
178+
backendConfig,
177179
bebSubMgr,
178180
k8sManager.GetClient(),
179181
defaultLogger,

components/eventing-controller/pkg/backend/eventmesh/eventmesh.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ func (em *EventMesh) handleWebhookAuthChange(eventMeshSub *types.Subscription,
303303
}
304304

305305
// pause subscription
306-
em.namedLogger().Debugf("Pausing EventMmesh subscription: %s", eventMeshSub.Name)
306+
em.namedLogger().Debugf("Pausing EventMesh subscription: %s", eventMeshSub.Name)
307307
state := types.State{Action: types.StateActionPause}
308308
resp, err := em.client.UpdateState(eventMeshSub.Name, state)
309309
if err != nil {
@@ -319,7 +319,7 @@ func (em *EventMesh) handleWebhookAuthChange(eventMeshSub *types.Subscription,
319319
}
320320

321321
// update webhook auth config
322-
em.namedLogger().Debugf("Updating WebhookAuth config for EventMmesh subscription: %s", eventMeshSub.Name)
322+
em.namedLogger().Debugf("Updating WebhookAuth config for EventMesh subscription: %s", eventMeshSub.Name)
323323
updateResp, err := em.client.Update(eventMeshSub.Name, eventMeshSub.WebhookAuth)
324324
if err != nil {
325325
return fmt.Errorf("failed to update webhook auth config: %w", err)
@@ -334,7 +334,7 @@ func (em *EventMesh) handleWebhookAuthChange(eventMeshSub *types.Subscription,
334334
}
335335

336336
// resume subscription
337-
em.namedLogger().Debugf("Resuming EventMmesh subscription: %s", eventMeshSub.Name)
337+
em.namedLogger().Debugf("Resuming EventMesh subscription: %s", eventMeshSub.Name)
338338
state = types.State{Action: types.StateActionResume}
339339
resp, err = em.client.UpdateState(eventMeshSub.Name, state)
340340
if err != nil {
@@ -401,7 +401,7 @@ func (em *EventMesh) getSubscription(name string) (*types.Subscription, error) {
401401

402402
// deleteSubscription deletes the subscription on EventMesh.
403403
func (em *EventMesh) deleteSubscription(name string) error {
404-
em.namedLogger().Debugf("Deleting EventMmesh subscription: %s", name)
404+
em.namedLogger().Debugf("Deleting EventMesh subscription: %s", name)
405405
resp, err := em.client.Delete(name)
406406
if err != nil {
407407
return fmt.Errorf("delete subscription failed: %v", err)

components/eventing-controller/pkg/backend/jetstream/utils.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,14 @@ func getStreamConfig(natsConfig env.NATSConfig) (*nats.StreamConfig, error) {
148148
}
149149

150150
streamConfig := &nats.StreamConfig{
151-
Name: natsConfig.JSStreamName,
152-
Storage: storage,
153-
Replicas: natsConfig.JSStreamReplicas,
154-
Retention: retentionPolicy,
155-
MaxMsgs: natsConfig.JSStreamMaxMessages,
156-
MaxBytes: maxBytes.Value(),
157-
Discard: discardPolicy,
151+
Name: natsConfig.JSStreamName,
152+
Storage: storage,
153+
Replicas: natsConfig.JSStreamReplicas,
154+
Retention: retentionPolicy,
155+
MaxMsgs: natsConfig.JSStreamMaxMessages,
156+
MaxBytes: maxBytes.Value(),
157+
Discard: discardPolicy,
158+
MaxMsgsPerSubject: natsConfig.JSStreamMaxMsgsPerTopic,
158159
// Since one stream is used to store events of all types, the stream has to match all event types, and therefore
159160
// we use the wildcard char >. However, to avoid matching internal JetStream and non-Kyma-related subjects, we
160161
// use a prefix. This prefix is handled only on the JetStream level (i.e. JetStream handler

components/eventing-controller/pkg/env/nats_config.go

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ type NATSConfig struct {
3939
JSStreamRetentionPolicy string `envconfig:"JS_STREAM_RETENTION_POLICY" default:"interest"`
4040
JSStreamMaxMessages int64 `envconfig:"JS_STREAM_MAX_MSGS" default:"-1"`
4141
JSStreamMaxBytes string `envconfig:"JS_STREAM_MAX_BYTES" default:"-1"`
42+
JSStreamMaxMsgsPerTopic int64 `envconfig:"JS_STREAM_MAX_MSGS_PER_TOPIC" default:"-1"`
4243
// JSStreamDiscardPolicy specifies which events to discard from the stream in case limits are reached
4344
// new: reject new messages for the stream
4445
// old: discard old messages from the stream to make room for new messages
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#For local debugging
2+
function
3+
package.json
4+
package-lock.json
5+
node_modules
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
## How to locally run and debug the Node.js Function and runtime
2+
3+
* Copy `package.json` from the desired Node.js version
4+
* Create the `function` directory with `handler.js` and `package.json`
5+
* Install dependencies from the runtime and Function:
6+
```bash
7+
npm install
8+
npm install function/
9+
```
10+
* Run Function from the terminal.
11+
```bash
12+
npm start
13+
```

components/function-runtimes/nodejs/lib/helper.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,32 @@ function configureGracefulShutdown(server) {
66
let nextConnectionId = 0;
77
const connections = [];
88
let terminating = false;
9-
9+
1010
server.on('connection', connection => {
1111
const connectionId = nextConnectionId++;
1212
connection.$$isIdle = true;
1313
connections[connectionId] = connection;
1414
connection.on('close', () => delete connections[connectionId]);
1515
});
16-
16+
1717
server.on('request', (request, response) => {
1818
const connection = request.connection;
1919
connection.$$isIdle = false;
20-
20+
2121
response.on('finish', () => {
2222
connection.$$isIdle = true;
2323
if (terminating) {
2424
connection.destroy();
2525
}
2626
});
2727
});
28-
28+
2929
const handleShutdown = () => {
3030
console.log("Shutting down..");
31-
31+
3232
terminating = true;
3333
server.close(() => console.log("Server stopped"));
34-
34+
3535
for (const connectionId in connections) {
3636
if (connections.hasOwnProperty(connectionId)) {
3737
const connection = connections[connectionId];
@@ -41,7 +41,7 @@ function configureGracefulShutdown(server) {
4141
}
4242
}
4343
};
44-
44+
4545
process.on('SIGINT', handleShutdown);
4646
process.on('SIGTERM', handleShutdown);
4747
}
@@ -64,8 +64,8 @@ const isPromise = (promise) => {
6464

6565

6666
function handleError(err, span, sendResponse) {
67+
console.error(err);
6768
const errTxt = resolveErrorMsg(err);
68-
console.error(errTxt);
6969
span.setStatus({ code: SpanStatusCode.ERROR, message: errTxt });
7070
span.setAttribute("error", errTxt);
7171
sendResponse(errTxt, 500);
@@ -76,7 +76,7 @@ function resolveErrorMsg(err) {
7676
if (typeof err == "string") {
7777
errText = err
7878
} else {
79-
errText = err.msg || "Internal server error"
79+
errText = "Internal server error"
8080
}
8181
return errText
8282
}

resources/istio/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
name: istio
3-
version: 1.18.0
4-
appVersion: 1.18.0
3+
version: 1.18.1
4+
appVersion: 1.18.1
55
tillerVersion: ">=2.7.2-0"
66
description: Kyma 2.0 Helm chart for Istio Operator resource
77
keywords:

resources/istio/values.yaml

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ helmValues:
44
priorityClassName: "kyma-system-priority"
55
imagePullPolicy: IfNotPresent
66
proxy:
7+
tracer: none
78
readinessFailureThreshold: 40
89
readinessInitialDelaySeconds: 5
910
readinessPeriodSeconds: 5
@@ -43,6 +44,8 @@ meshConfig:
4344
tracing: []
4445
defaultConfig:
4546
holdApplicationUntilProxyStarts: true
47+
proxyMetadata:
48+
BOOTSTRAP_XDS_AGENT: "true"
4649
enablePrometheusMerge: false
4750
enableTracing: false
4851
extensionProviders:
@@ -176,15 +179,15 @@ global:
176179
# these definitions aren't used by the chart, but they are required by external tool for list generation
177180
istio_proxyv2:
178181
name: "proxyv2"
179-
version: "1.18.0-distroless"
182+
version: "1.18.1-distroless"
180183
directory: "prod/external/istio"
181184
istio_pilot:
182185
name: "pilot"
183-
version: "1.18.0-distroless"
186+
version: "1.18.1-distroless"
184187
directory: "prod/external/istio"
185188
istio_install-cni:
186189
name: "install-cni"
187-
version: "1.18.0-distroless"
190+
version: "1.18.1-distroless"
188191
directory: "prod/external/istio"
189192

190193
# This configuration is only temporary and will be removed in kyma version 2.7.x.

resources/keda-manager/values.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ global:
44
images:
55
keda_manager:
66
name: "keda-manager"
7-
version: "v20230621-a32a09b8"
7+
version: "v20230719-22acef2b"
88
directory: "prod"
99
keda:
1010
name: "keda"
11-
version: "2.10.1"
11+
version: "2.11.1"
1212
directory: "prod/external/ghcr.io/kedacore"
1313
keda_admission_webhooks:
1414
name: "keda-admission-webhooks"
15-
version: "2.10.1"
15+
version: "2.11.1"
1616
directory: "prod/external/ghcr.io/kedacore"
1717
keda_metrics_apiserver:
1818
name: "keda-metrics-apiserver"
19-
version: "2.10.1"
19+
version: "2.11.1"
2020
directory: "prod/external/ghcr.io/kedacore"

resources/serverless/values.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@ global:
9797
directory: "prod"
9898
function_runtime_nodejs16:
9999
name: "function-runtime-nodejs16"
100-
version: "PR-17818"
100+
version: "PR-17824"
101101
directory: "dev"
102102
function_runtime_nodejs18:
103103
name: "function-runtime-nodejs18"
104-
version: "PR-17818"
104+
version: "PR-17824"
105105
directory: "dev"
106106
function_runtime_python39:
107107
name: "function-runtime-python39"

resources/telemetry/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ global:
88
directory: "prod"
99
telemetry_operator:
1010
name: "telemetry-manager"
11-
version: "v20230707-612ab16b"
11+
version: "v20230719-8dfcbbe8"
1212
directory: "prod"
1313
telemetry_otel_collector:
1414
name: "otel-collector"

0 commit comments

Comments
 (0)