Skip to content

Commit 825af9f

Browse files
committed
OSDOCS-14941 [NETOBSERV] Update API/CLI references
1 parent e248eff commit 825af9f

3 files changed

+70
-112
lines changed

modules/network-observability-flowcollector-api-specifications.adoc

Lines changed: 50 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ is set to `eBPF`.
154154
155155
| `type`
156156
| `string`
157-
| `type` [deprecated *] selects the flows tracing agent. Previously, this field allowed to select between `eBPF` or `IPFIX`.
157+
| `type` [deprecated (*)] selects the flows tracing agent. Previously, this field allowed to select between `eBPF` or `IPFIX`.
158158
Only `eBPF` is allowed now, so this field is deprecated and is planned for removal in a future version of the API.
159159

160160
|===
@@ -180,7 +180,8 @@ Type::
180180
| `object`
181181
| `advanced` allows setting some aspects of the internal configuration of the eBPF agent.
182182
This section is aimed mostly for debugging and fine-grained performance optimizations,
183-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
183+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk. You can also
184+
override the default Linux capabilities from there.
184185

185186
| `cacheActiveTimeout`
186187
| `string`
@@ -205,25 +206,28 @@ Otherwise it is matched as a case-sensitive string.
205206
| List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are: +
206207

207208
- `PacketDrop`: Enable the packets drop flows logging feature. This feature requires mounting
208-
the kernel debug filesystem, so the eBPF agent pods must run as privileged.
209-
If the `spec.agent.ebpf.privileged` parameter is not set, an error is reported. +
209+
the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`. +
210210
211211
- `DNSTracking`: Enable the DNS tracking feature. +
212212
213213
- `FlowRTT`: Enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic. +
214214
215215
- `NetworkEvents`: Enable the network events monitoring feature, such as correlating flows and network policies.
216-
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged.
217-
It requires using the OVN-Kubernetes network plugin with the Observability feature. +
218-
IMPORTANT: This feature is available as a Technology Preview.
216+
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`.
217+
It requires using the OVN-Kubernetes network plugin with the Observability feature.
218+
IMPORTANT: This feature is available as a Technology Preview. +
219219
220220
- `PacketTranslation`: Enable enriching flows with packet translation information, such as Service NAT. +
221221
222-
- `EbpfManager`: Unsupported * . Use eBPF Manager to manage Network Observability eBPF programs. Pre-requisite: the eBPF Manager operator (or upstream bpfman operator) must be installed. +
222+
- `EbpfManager`: [Unsupported (*)]. Use eBPF Manager to manage Network Observability eBPF programs. Pre-requisite: the eBPF Manager operator (or upstream bpfman operator) must be installed. +
223+
224+
- `UDNMapping`: Enable interfaces mapping to User Defined Networks (UDN). +
225+
226+
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`.
227+
It requires using the OVN-Kubernetes network plugin with the Observability feature. +
228+
229+
- `IPSec`, to track flows between nodes with IPsec encryption. +
223230
224-
- `UDNMapping`: Unsupported *. Enable interfaces mapping to User Defined Networks (UDN). +
225-
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged.
226-
It requires using the OVN-Kubernetes network plugin with the Observability feature.
227231
228232
| `flowFilter`
229233
| `object`
@@ -255,7 +259,7 @@ Otherwise it is matched as a case-sensitive string.
255259
| `privileged`
256260
| `boolean`
257261
| Privileged mode for the eBPF Agent container. When ignored or set to `false`, the operator sets
258-
granular capabilities (BPF, PERFMON, NET_ADMIN, SYS_RESOURCE) to the container.
262+
granular capabilities (BPF, PERFMON, NET_ADMIN) to the container.
259263
If for some reason these capabilities cannot be set, such as if an old kernel version not knowing CAP_BPF
260264
is in use, then you can turn on this mode for more global privileges.
261265
Some agent features require the privileged mode, such as packet drops tracking (see `features`) and SR-IOV support.
@@ -267,7 +271,7 @@ For more information, see https://kubernetes.io/docs/concepts/configuration/mana
267271
268272
| `sampling`
269273
| `integer`
270-
| Sampling rate of the flow reporter. 100 means one flow on 100 is sent. 0 or 1 means all flows are sampled.
274+
| Sampling ratio of the eBPF probe. 100 means one packet on 100 is sent. 0 or 1 means all packets are sampled.
271275
272276
|===
273277
== .spec.agent.ebpf.advanced
@@ -276,7 +280,8 @@ Description::
276280
--
277281
`advanced` allows setting some aspects of the internal configuration of the eBPF agent.
278282
This section is aimed mostly for debugging and fine-grained performance optimizations,
279-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
283+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk. You can also
284+
override the default Linux capabilities from there.
280285
--
281286
282287
Type::
@@ -289,6 +294,10 @@ Type::
289294
|===
290295
| Property | Type | Description
291296
297+
| `capOverride`
298+
| `array (string)`
299+
| Linux capabilities override, when not running as privileged. Default capabilities are BPF, PERFMON and NET_ADMIN.
300+
292301
| `env`
293302
| `object (string)`
294303
| `env` allows passing custom environment variables to underlying components. Useful for passing
@@ -448,7 +457,7 @@ Unsupported *.
448457
449458
| `sampling`
450459
| `integer`
451-
| `sampling` sampling rate for the matched flows, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
460+
| `sampling` is the sampling ratio for the matched packets, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
452461
453462
| `sourcePorts`
454463
| `integer-or-string`
@@ -551,7 +560,7 @@ To filter two ports, use a "port1,port2" in string format. For example, `ports:
551560
552561
| `sampling`
553562
| `integer`
554-
| `sampling` sampling rate for the matched flows, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
563+
| `sampling` is the sampling ratio for the matched packets, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
555564
556565
| `sourcePorts`
557566
| `integer-or-string`
@@ -663,7 +672,7 @@ If set to `true`, the `providedCaFile` field is ignored.
663672
| Select the type of TLS configuration: +
664673
665674
- `Disabled` (default) to not configure TLS for the endpoint.
666-
- `Provided` to manually provide cert file and a key file. Unsupported *.
675+
- `Provided` to manually provide cert file and a key file. [Unsupported (*)].
667676
- `Auto` to use {product-title} auto generated certificate using annotations.
668677
669678
|===
@@ -793,7 +802,7 @@ Type::
793802
| `object`
794803
| `advanced` allows setting some aspects of the internal configuration of the console plugin.
795804
This section is aimed mostly for debugging and fine-grained performance optimizations,
796-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
805+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
797806

798807
| `autoscaler`
799808
| `object`
@@ -835,7 +844,7 @@ Description::
835844
--
836845
`advanced` allows setting some aspects of the internal configuration of the console plugin.
837846
This section is aimed mostly for debugging and fine-grained performance optimizations,
838-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
847+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
839848
--
840849

841850
Type::
@@ -1167,7 +1176,7 @@ Required::
11671176

11681177
| `sasl`
11691178
| `object`
1170-
| SASL authentication configuration. Unsupported *.
1179+
| SASL authentication configuration. [Unsupported (*)].
11711180

11721181
| `tls`
11731182
| `object`
@@ -1182,7 +1191,7 @@ Required::
11821191
Description::
11831192
+
11841193
--
1185-
SASL authentication configuration. Unsupported *.
1194+
SASL authentication configuration. [Unsupported (*)].
11861195
--
11871196

11881197
Type::
@@ -1678,7 +1687,7 @@ Required::
16781687

16791688
| `sasl`
16801689
| `object`
1681-
| SASL authentication configuration. Unsupported *.
1690+
| SASL authentication configuration. [Unsupported (*)].
16821691

16831692
| `tls`
16841693
| `object`
@@ -1693,7 +1702,7 @@ Required::
16931702
Description::
16941703
+
16951704
--
1696-
SASL authentication configuration. Unsupported *.
1705+
SASL authentication configuration. [Unsupported (*)].
16971706
--
16981707

16991708
Type::
@@ -2079,7 +2088,7 @@ Type::
20792088

20802089
- `Forward` forwards the user token for authorization. +
20812090

2082-
- `Host` [deprecated *] - uses the local pod service account to authenticate to Loki. +
2091+
- `Host` [deprecated (*)] - uses the local pod service account to authenticate to Loki. +
20832092

20842093
When using the Loki Operator, this must be set to `Forward`.
20852094

@@ -2695,7 +2704,7 @@ This feature requires the "topology.kubernetes.io/zone" label to be set on nodes
26952704
| `object`
26962705
| `advanced` allows setting some aspects of the internal configuration of the flow processor.
26972706
This section is aimed mostly for debugging and fine-grained performance optimizations,
2698-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
2707+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
26992708

27002709
| `clusterName`
27012710
| `string`
@@ -2704,14 +2713,12 @@ such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
27042713
| `deduper`
27052714
| `object`
27062715
| `deduper` allows you to sample or drop flows identified as duplicates, in order to save on resource usage.
2707-
Unsupported *.
27082716

27092717
| `filters`
27102718
| `array`
27112719
| `filters` lets you define custom filters to limit the amount of generated flows.
27122720
These filters provide more flexibility than the eBPF Agent filters (in `spec.agent.ebpf.flowFilter`), such as allowing to filter by Kubernetes namespace,
27132721
but with a lesser improvement in performance.
2714-
Unsupported *.
27152722

27162723
| `imagePullPolicy`
27172724
| `string`
@@ -2745,9 +2752,9 @@ This setting is ignored when Kafka is disabled.
27452752

27462753
- `Flows` to export regular network flows. This is the default. +
27472754

2748-
- `Conversations` to generate events for started conversations, ended conversations as well as periodic "tick" updates. +
2755+
- `Conversations` to generate events for started conversations, ended conversations as well as periodic "tick" updates. Note that in this mode, Prometheus metrics are not accurate on long-standing conversations. +
27492756

2750-
- `EndedConversations` to generate only ended conversations events. +
2757+
- `EndedConversations` to generate only ended conversations events. Note that in this mode, Prometheus metrics are not accurate on long-standing conversations. +
27512758

27522759
- `All` to generate both network flows and all conversations events. It is not recommended due to the impact on resources footprint. +
27532760

@@ -2777,7 +2784,7 @@ Description::
27772784
--
27782785
`advanced` allows setting some aspects of the internal configuration of the flow processor.
27792786
This section is aimed mostly for debugging and fine-grained performance optimizations,
2780-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
2787+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
27812788
--
27822789

27832790
Type::
@@ -2805,7 +2812,7 @@ This delay is ignored when a FIN packet is collected for TCP flows (see `convers
28052812

28062813
| `dropUnusedFields`
28072814
| `boolean`
2808-
| `dropUnusedFields` [deprecated *] this setting is not used anymore.
2815+
| `dropUnusedFields` [deprecated (*)] this setting is not used anymore.
28092816

28102817
| `enableKubeProbes`
28112818
| `boolean`
@@ -2912,7 +2919,8 @@ Description::
29122919
+
29132920
--
29142921
Defines secondary networks to be checked for resources identification.
2915-
To guarantee a correct identification, indexed values must form an unique identifier across the cluster. If the same index is used by several resources, those resources might be incorrectly labeled.
2922+
To guarantee a correct identification, indexed values must form an unique identifier across the cluster.
2923+
If the same index is used by several resources, those resources might be incorrectly labeled.
29162924
--
29172925

29182926
Type::
@@ -2957,7 +2965,6 @@ Description::
29572965
+
29582966
--
29592967
`deduper` allows you to sample or drop flows identified as duplicates, in order to save on resource usage.
2960-
Unsupported *.
29612968
--
29622969

29632970
Type::
@@ -2972,7 +2979,7 @@ Type::
29722979

29732980
| `mode`
29742981
| `string`
2975-
| Set the Processor de-duplication mode. It comes in addition to the Agent-based deduplication because the Agent cannot de-duplicate same flows reported from different nodes. +
2982+
| Set the Processor de-duplication mode. It comes in addition to the Agent-based deduplication, since the Agent cannot de-duplicate same flows reported from different nodes. +
29762983

29772984
- Use `Drop` to drop every flow considered as duplicates, allowing saving more on resource usage but potentially losing some information such as the network interfaces used from peer, or network events. +
29782985

@@ -2983,7 +2990,7 @@ Type::
29832990

29842991
| `sampling`
29852992
| `integer`
2986-
| `sampling` is the sampling rate when deduper `mode` is `Sample`.
2993+
| `sampling` is the sampling ratio when deduper `mode` is `Sample`. For example, a value of `50` means that 1 flow in 50 is sampled.
29872994

29882995
|===
29892996
== .spec.processor.filters
@@ -2993,7 +3000,6 @@ Description::
29933000
`filters` lets you define custom filters to limit the amount of generated flows.
29943001
These filters provide more flexibility than the eBPF Agent filters (in `spec.agent.ebpf.flowFilter`), such as allowing to filter by Kubernetes namespace,
29953002
but with a lesser improvement in performance.
2996-
Unsupported *.
29973003
--
29983004

29993005
Type::
@@ -3019,64 +3025,17 @@ Type::
30193025
|===
30203026
| Property | Type | Description
30213027

3022-
| `allOf`
3023-
| `array`
3024-
| `filters` is a list of matches that must be all satisfied in order to remove a flow.
3025-
30263028
| `outputTarget`
30273029
| `string`
3028-
| If specified, these filters only target a single output: `Loki`, `Metrics` or `Exporters`. By default, all outputs are targeted.
3029-
3030-
| `sampling`
3031-
| `integer`
3032-
| `sampling` is an optional sampling rate to apply to this filter.
3033-
3034-
|===
3035-
== .spec.processor.filters[].allOf
3036-
Description::
3037-
+
3038-
--
3039-
`filters` is a list of matches that must be all satisfied in order to remove a flow.
3040-
--
3041-
3042-
Type::
3043-
`array`
3044-
3045-
3046-
3047-
3048-
== .spec.processor.filters[].allOf[]
3049-
Description::
3050-
+
3051-
--
3052-
`FLPSingleFilter` defines the desired configuration for a single FLP-based filter.
3053-
--
3054-
3055-
Type::
3056-
`object`
3057-
3058-
Required::
3059-
- `field`
3060-
- `matchType`
3061-
3062-
3063-
3064-
[cols="1,1,1",options="header"]
3065-
|===
3066-
| Property | Type | Description
3067-
3068-
| `field`
3069-
| `string`
3070-
| Name of the field to filter on.
3071-
Refer to the documentation for the list of available fields: https://github.com/netobserv/network-observability-operator/blob/main/docs/flows-format.adoc.
3030+
| If specified, these filters target a single output: `Loki`, `Metrics` or `Exporters`. By default, all outputs are targeted.
30723031

3073-
| `matchType`
3032+
| `query`
30743033
| `string`
3075-
| Type of matching to apply.
3034+
| A query that selects the network flows to keep. More information about this query language in https://github.com/netobserv/flowlogs-pipeline/blob/main/docs/filtering.md.
30763035

3077-
| `value`
3078-
| `string`
3079-
| Value to filter on. When `matchType` is `Equal` or `NotEqual`, you can use field injection with `$(SomeField)` to refer to any other field of the flow.
3036+
| `sampling`
3037+
| `integer`
3038+
| `sampling` is an optional sampling ratio to apply to this filter. For example, a value of `50` means that 1 matching flow in 50 is sampled.
30803039

30813040
|===
30823041
== .spec.processor.kafkaConsumerAutoscaler
@@ -3201,7 +3160,7 @@ If set to `true`, the `providedCaFile` field is ignored.
32013160
| Select the type of TLS configuration: +
32023161

32033162
- `Disabled` (default) to not configure TLS for the endpoint.
3204-
- `Provided` to manually provide cert file and a key file. Unsupported *.
3163+
- `Provided` to manually provide cert file and a key file. [Unsupported (*)].
32053164
- `Auto` to use {product-title} auto generated certificate using annotations.
32063165

32073166
|===
@@ -3595,4 +3554,4 @@ If the namespace is different, the config map or the secret is copied so that it
35953554
| `string`
35963555
| Type for the certificate reference: `configmap` or `secret`.
35973556

3598-
|===
3557+
|===

0 commit comments

Comments
 (0)