|
1 | | -## TLS and expected certificates |
| 1 | +# TLS and expected certificates |
2 | 2 |
|
3 | 3 | This document lists all required and optional TLS certificates for NetObserv. You can also refer to the [Helm chart templates](../helm/templates/certificates.yaml) for cert-manager. |
4 | 4 |
|
| 5 | +## Required certificates |
| 6 | + |
| 7 | +Those certificates are always required and are not configurable: |
| 8 | + |
5 | 9 | <table> |
6 | 10 | <thead> |
7 | 11 | <tr> |
8 | 12 | <th>Service name</th> |
9 | | - <th>Required</th> |
10 | 13 | <th>Resource kind</th> |
11 | 14 | <th>Resource name</th> |
12 | 15 | <th>Resource keys</th> |
13 | | - <th>Notes</th> |
14 | 16 | </tr> |
15 | 17 | </thead> |
16 | 18 | <tbody> |
17 | 19 | <tr> |
18 | 20 | <td>netobserv-webhook-service</td> |
19 | | - <td>yes</td> |
20 | 21 | <td>Secret</td> |
21 | 22 | <td>webhook-server-cert</td> |
22 | | - <td>ca.crt, tls.crt, tls.key</td> |
23 | | - <td></td> |
| 23 | + <td>tls.crt, tls.key</td> |
24 | 24 | </tr> |
25 | 25 | <tr> |
26 | 26 | <td>netobserv-metrics-service</td> |
27 | | - <td>yes</td> |
28 | 27 | <td>Secret</td> |
29 | 28 | <td>manager-metrics-tls</td> |
30 | | - <td>ca.crt, tls.crt, tls.key</td> |
| 29 | + <td>tls.crt, tls.key</td> |
| 30 | + </tr> |
| 31 | + </tbody> |
| 32 | +</table> |
| 33 | + |
| 34 | +## Agent to FLP certificates |
| 35 | + |
| 36 | +When `spec.deploymentModel` is "Service", the traffic from eBPF agents to flowlogs-pipeline pods uses TLS by default. It is possible to disable TLS, though not recommended in production-grade environments, as it decreases the security of the NetObserv deployments. |
| 37 | + |
| 38 | +In "Kafka" mode, the TLS/SASL configuration depends on your installation. The Kafka clients used in NetObserv support simple TLS, mTLS, SASL as well as no TLS. We recommend the use of mTLS for higher security standards. |
| 39 | + |
| 40 | +In "Direct" mode, the traffic doesn't leave the host and is not encrypted. |
| 41 | + |
| 42 | +The tables below apply to the "Service" mode. |
| 43 | + |
| 44 | +### Auto (TLS) |
| 45 | + |
| 46 | +When `spec.processor.service.tlsType` is "Auto": |
| 47 | + |
| 48 | +<table> |
| 49 | + <thead> |
| 50 | + <tr> |
| 51 | + <th>Needed by</th> |
| 52 | + <th>Resource kind</th> |
| 53 | + <th>Resource name</th> |
| 54 | + <th>Resource keys</th> |
| 55 | + <th>Notes</th> |
| 56 | + </tr> |
| 57 | + </thead> |
| 58 | + <tbody> |
| 59 | + <tr> |
| 60 | + <td>flowlogs-pipeline</td> |
| 61 | + <td>Secret</td> |
| 62 | + <td>flowlogs-pipeline-cert</td> |
| 63 | + <td>tls.crt, tls.key</td> |
31 | 64 | <td></td> |
32 | 65 | </tr> |
| 66 | + <tr> |
| 67 | + <td>eBPF Agents</td> |
| 68 | + <td>ConfigMap</td> |
| 69 | + <td>netobserv-ca</td> |
| 70 | + <td>service-ca.crt</td> |
| 71 | + <td>Must be installed in netobserv-privileged namespace.</td> |
| 72 | + </tr> |
| 73 | + </tbody> |
| 74 | +</table> |
| 75 | + |
| 76 | +### Auto (mTLS) |
| 77 | + |
| 78 | +When `spec.processor.service.tlsType` is "Auto-mTLS": |
| 79 | + |
| 80 | +<table> |
| 81 | + <thead> |
| 82 | + <tr> |
| 83 | + <th>Needed by</th> |
| 84 | + <th>Resource kind</th> |
| 85 | + <th>Resource name</th> |
| 86 | + <th>Resource keys</th> |
| 87 | + <th>Notes</th> |
| 88 | + </tr> |
| 89 | + </thead> |
| 90 | + <tbody> |
33 | 91 | <tr> |
34 | 92 | <td>flowlogs-pipeline</td> |
35 | | - <td>no</td> |
36 | 93 | <td>Secret</td> |
37 | 94 | <td>flowlogs-pipeline-cert</td> |
38 | | - <td>ca.crt, tls.crt, tls.key</td> |
39 | | - <td>Only used when spec.deploymentModel is "Service".</td> |
| 95 | + <td>tls.crt, tls.key</td> |
| 96 | + <td></td> |
40 | 97 | </tr> |
41 | 98 | <tr> |
42 | | - <td>flowlogs-pipeline CA</td> |
43 | | - <td>no</td> |
| 99 | + <td>flowlogs-pipeline</td> |
44 | 100 | <td>ConfigMap</td> |
45 | 101 | <td>netobserv-ca</td> |
46 | 102 | <td>service-ca.crt</td> |
47 | | - <td>Must be installed in netobserv-privileged namespace. Only used when spec.deploymentModel is "Service".</td> |
| 103 | + <td></td> |
| 104 | + </tr> |
| 105 | + <tr> |
| 106 | + <td>eBPF Agents</td> |
| 107 | + <td>Secret</td> |
| 108 | + <td>ebpf-agent-cert</td> |
| 109 | + <td>tls.crt, tls.key</td> |
| 110 | + <td>Must be installed in netobserv-privileged namespace.</td> |
| 111 | + </tr> |
| 112 | + <tr> |
| 113 | + <td>eBPF Agents</td> |
| 114 | + <td>ConfigMap</td> |
| 115 | + <td>netobserv-ca</td> |
| 116 | + <td>service-ca.crt</td> |
| 117 | + <td>Must be installed in netobserv-privileged namespace.</td> |
48 | 118 | </tr> |
49 | 119 | </tbody> |
50 | 120 | </table> |
| 121 | + |
| 122 | +### Provided |
| 123 | + |
| 124 | +When `spec.processor.service.tlsType` is "Provided", you can specify any Secret or ConfigMap for TLS or mTLS, via `spec.processor.service.providedCertificates`. |
| 125 | + |
| 126 | +For mTLS, configure `spec.processor.service.providedCertificates.clientCert`. For simple TLS, do not set the client cert config. |
0 commit comments