Skip to content

Commit 719b30b

Browse files
authored
NETOBSERV-2503: use TLS by default in Service mode; make Service the default mode (#2204)
* NETOBSERV-2503: use TLS by default in Service mode * Back to a single Service mode Always use TLS, except if SERVER_NOTLS env is set on FLP * bump FLP * Update default mode in alm example
1 parent b3f03d0 commit 719b30b

File tree

158 files changed

+21641
-12284
lines changed

Some content is hidden

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

158 files changed

+21641
-12284
lines changed

api/flowcollector/v1beta2/flowcollector_types.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,14 @@ type FlowCollectorSpec struct {
7070
ConsolePlugin FlowCollectorConsolePlugin `json:"consolePlugin,omitempty"`
7171

7272
// `deploymentModel` defines the desired type of deployment for flow processing. Possible values are:<br>
73-
// - `Direct` (default) to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
74-
// - `Service` to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
73+
// - `Service` (default) to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
7574
// - `Kafka` to make flows sent to a Kafka pipeline before consumption by the processor.<br>
75+
// - `Direct` to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
7676
// Kafka can provide better scalability, resiliency, and high availability (for more details, see https://www.redhat.com/en/topics/integration/what-is-apache-kafka).<br>
7777
// `Direct` is not recommended on large clusters as it is less memory efficient.
7878
// +unionDiscriminator
79-
// +kubebuilder:validation:Enum:="Direct";"Service";"Kafka"
80-
// +kubebuilder:default:=Direct
79+
// +kubebuilder:validation:Enum:="Service";"Direct";"Kafka"
80+
// +kubebuilder:default:=Service
8181
DeploymentModel FlowCollectorDeploymentModel `json:"deploymentModel,omitempty"`
8282

8383
// Kafka configuration, allowing to use Kafka as a broker as part of the flow collection pipeline. Available when the `spec.deploymentModel` is `Kafka`.

api/flowcollector/v1beta2/helper.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,7 @@ func (spec *FlowCollectorSpec) UseConsolePlugin() bool {
5555

5656
func (spec *FlowCollectorSpec) UseTestConsolePlugin() bool {
5757
if spec.ConsolePlugin.Advanced != nil {
58-
env := spec.ConsolePlugin.Advanced.Env[constants.EnvTestConsole]
59-
// Use ParseBool to allow common variants ("true", "True", "1"...) and ignore non-bools
60-
b, err := strconv.ParseBool(env)
61-
return err == nil && b
58+
return IsEnvEnabled(spec.ConsolePlugin.Advanced.Env, constants.EnvTestConsole)
6259
}
6360
return false
6461
}
@@ -221,3 +218,10 @@ func (spec *FlowCollectorConsolePlugin) IsUnmanagedConsolePluginReplicas() bool
221218
func (spec *FlowCollectorSpec) IsSliceEnabled() bool {
222219
return spec.Processor.SlicesConfig != nil && spec.Processor.SlicesConfig.Enable
223220
}
221+
222+
func IsEnvEnabled(vars map[string]string, key string) bool {
223+
env := vars[key]
224+
// Use ParseBool to allow common variants ("true", "True", "1"...) and ignore non-bools
225+
b, err := strconv.ParseBool(env)
226+
return err == nil && b
227+
}

bundle/manifests/flows.netobserv.io_flowcollectors.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3217,17 +3217,17 @@ spec:
32173217
type: boolean
32183218
type: object
32193219
deploymentModel:
3220-
default: Direct
3220+
default: Service
32213221
description: |-
32223222
`deploymentModel` defines the desired type of deployment for flow processing. Possible values are:<br>
3223-
- `Direct` (default) to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
3224-
- `Service` to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
3223+
- `Service` (default) to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
32253224
- `Kafka` to make flows sent to a Kafka pipeline before consumption by the processor.<br>
3225+
- `Direct` to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
32263226
Kafka can provide better scalability, resiliency, and high availability (for more details, see https://www.redhat.com/en/topics/integration/what-is-apache-kafka).<br>
32273227
`Direct` is not recommended on large clusters as it is less memory efficient.
32283228
enum:
3229-
- Direct
32303229
- Service
3230+
- Direct
32313231
- Kafka
32323232
type: string
32333233
exporters:

bundle/manifests/netobserv-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ metadata:
134134
}
135135
}
136136
},
137-
"deploymentModel": "Direct",
137+
"deploymentModel": "Service",
138138
"exporters": [],
139139
"kafka": {
140140
"address": "kafka-cluster-kafka-bootstrap.netobserv",

config/crd/bases/flows.netobserv.io_flowcollectors.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3011,17 +3011,17 @@ spec:
30113011
type: boolean
30123012
type: object
30133013
deploymentModel:
3014-
default: Direct
3014+
default: Service
30153015
description: |-
30163016
`deploymentModel` defines the desired type of deployment for flow processing. Possible values are:<br>
3017-
- `Direct` (default) to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
3018-
- `Service` to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
3017+
- `Service` (default) to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
30193018
- `Kafka` to make flows sent to a Kafka pipeline before consumption by the processor.<br>
3019+
- `Direct` to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
30203020
Kafka can provide better scalability, resiliency, and high availability (for more details, see https://www.redhat.com/en/topics/integration/what-is-apache-kafka).<br>
30213021
`Direct` is not recommended on large clusters as it is less memory efficient.
30223022
enum:
3023-
- Direct
30243023
- Service
3024+
- Direct
30253025
- Kafka
30263026
type: string
30273027
exporters:

config/samples/flows_v1beta2_flowcollector.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
name: cluster
55
spec:
66
namespace: netobserv
7-
deploymentModel: Direct
7+
deploymentModel: Service
88
networkPolicy:
99
enable: true
1010
additionalNamespaces: []

docs/FlowCollector.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,14 @@ for these features as a best effort only.
112112
<td>enum</td>
113113
<td>
114114
`deploymentModel` defines the desired type of deployment for flow processing. Possible values are:<br>
115-
- `Direct` (default) to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
116-
- `Service` to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
115+
- `Service` (default) to make the flow processor listen as a Kubernetes Service, backed by a scalable Deployment.<br>
117116
- `Kafka` to make flows sent to a Kafka pipeline before consumption by the processor.<br>
117+
- `Direct` to make the flow processor listen directly from the agents using the host network, backed by a DaemonSet. Only recommended on small clusters, below 15 nodes.<br>
118118
Kafka can provide better scalability, resiliency, and high availability (for more details, see https://www.redhat.com/en/topics/integration/what-is-apache-kafka).<br>
119119
`Direct` is not recommended on large clusters as it is less memory efficient.<br/>
120120
<br/>
121-
<i>Enum</i>: Direct, Service, Kafka<br/>
122-
<i>Default</i>: Direct<br/>
121+
<i>Enum</i>: Service, Direct, Kafka<br/>
122+
<i>Default</i>: Service<br/>
123123
</td>
124124
<td>false</td>
125125
</tr><tr>

go.mod

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ require (
99
github.com/coreos/go-semver v0.3.1
1010
github.com/google/go-cmp v0.7.0
1111
github.com/grafana/loki/operator/apis/loki v0.0.0-20241021105923-5e970e50b166
12-
github.com/netobserv/flowlogs-pipeline v1.10.0-community
13-
github.com/netobserv/netobserv-ebpf-agent v1.10.0-community
12+
github.com/netobserv/flowlogs-pipeline v1.10.0-community.0.20251205170812-75a990e42a64
13+
github.com/netobserv/netobserv-ebpf-agent v1.10.0-community.0.20251125162210-4be10c36721e
1414
github.com/onsi/ginkgo/v2 v2.27.3
1515
github.com/onsi/gomega v1.38.3
1616
github.com/openshift/api v0.0.0-20250707164913-2cd5821c9080
@@ -80,32 +80,32 @@ require (
8080
github.com/stoewer/go-strcase v1.3.1 // indirect
8181
github.com/stretchr/objx v0.5.2 // indirect
8282
github.com/x448/float16 v0.8.4 // indirect
83-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
83+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
8484
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
85-
go.opentelemetry.io/otel v1.37.0 // indirect
85+
go.opentelemetry.io/otel v1.38.0 // indirect
8686
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect
8787
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 // indirect
88-
go.opentelemetry.io/otel/metric v1.37.0 // indirect
89-
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
90-
go.opentelemetry.io/otel/trace v1.37.0 // indirect
88+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
89+
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
90+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
9191
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
9292
go.uber.org/multierr v1.11.0 // indirect
9393
go.yaml.in/yaml/v2 v2.4.3 // indirect
9494
go.yaml.in/yaml/v3 v3.0.4 // indirect
9595
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
96-
golang.org/x/mod v0.28.0 // indirect
97-
golang.org/x/net v0.46.0 // indirect
96+
golang.org/x/mod v0.29.0 // indirect
97+
golang.org/x/net v0.47.0 // indirect
9898
golang.org/x/oauth2 v0.32.0 // indirect
99-
golang.org/x/sync v0.17.0 // indirect
100-
golang.org/x/sys v0.37.0 // indirect
101-
golang.org/x/term v0.36.0 // indirect
102-
golang.org/x/text v0.30.0 // indirect
99+
golang.org/x/sync v0.18.0 // indirect
100+
golang.org/x/sys v0.38.0 // indirect
101+
golang.org/x/term v0.37.0 // indirect
102+
golang.org/x/text v0.31.0 // indirect
103103
golang.org/x/time v0.12.0 // indirect
104-
golang.org/x/tools v0.37.0 // indirect
104+
golang.org/x/tools v0.38.0 // indirect
105105
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
106-
google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b // indirect
107-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b // indirect
108-
google.golang.org/grpc v1.76.0 // indirect
106+
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
107+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 // indirect
108+
google.golang.org/grpc v1.77.0 // indirect
109109
google.golang.org/protobuf v1.36.10 // indirect
110110
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
111111
gopkg.in/inf.v0 v0.9.1 // indirect

0 commit comments

Comments
 (0)