Skip to content

Commit 7dc2f08

Browse files
authored
Merge pull request #4244 from camilamacedo86/doc-metrics-fix-not-prod
📖 Correct misleading information in production note for metrics config
2 parents c813602 + 43cf1dd commit 7dc2f08

File tree

1 file changed

+9
-32
lines changed

1 file changed

+9
-32
lines changed

docs/book/src/reference/metrics.md

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -136,42 +136,19 @@ spec:
136136
<aside class="warning">
137137
<h1>Changes Recommended for Production</h1>
138138

139-
The default scaffold to configure the metrics server in `cmd/main.go` uses `TLSOpts` that rely on self-signed certificates
140-
(SelfCerts), which are generated automatically. However, self-signed certificates are **not** recommended for production
141-
environments as they do not offer the same level of trust and security as certificates issued by a trusted
142-
Certificate Authority (CA).
139+
The default scaffold in `cmd/main.go` uses a **controller-runtime feature**
140+
to generate a certificate for securing the metrics server. While convenient
141+
for development and testing, this setup is **not recommended for production**.
143142

144-
While self-signed certificates are convenient for development and testing, they are unsuitable for production
145-
because they do not establish a chain of trust, making them vulnerable to security threats.
143+
Additionally, review the configuration file at `config/prometheus/monitor.yaml`
144+
to ensure secure integration with Prometheus. If `insecureSkipVerify: true` is
145+
enabled, certificate verification is turned off. **This is not recommended for production**
146+
as it exposes the system to man-in-the-middle attacks, potentially allowing
147+
unauthorized access to metrics data.
146148

147-
Furthermore, check the configuration file located at `config/prometheus/monitor.yaml` to
148-
ensure secure integration with Prometheus. If the `insecureSkipVerify: true` option is enabled,
149-
it means that certificate verification is turned off. This is **not** recommended for production as
150-
it poses a significant security risk by making the system vulnerable to man-in-the-middle attacks,
151-
where an attacker could intercept and manipulate the communication between Prometheus and the monitored services.
152-
This could lead to unauthorized access to metrics data, compromising the integrity and confidentiality of the information.
153-
154-
**In both cases, the primary risk is potentially allowing unauthorized access to sensitive metrics data.**
155-
156-
### Recommended Actions for a Secure Production Setup
157-
158-
1. **Replace Self-Signed Certificates:**
159-
- Instead of using `TLSOpts`, configure the `CertDir`, `CertName`, and `KeyName` options to use your own certificates.
160-
This ensures that your server communicates using trusted and secure certificates.
161-
162-
2. **Configure Prometheus Monitoring Securely:**
163-
- Check and update your Prometheus configuration file (`config/prometheus/monitor.yaml`) to ensure secure settings.
164-
- Replace `insecureSkipVerify: true` with the following secure options:
165-
166-
```yaml
167-
caFile: The path to the CA certificate file, e.g., /etc/metrics-certs/ca.crt.
168-
certFile: The path to the client certificate file, e.g., /etc/metrics-certs/tls.crt.
169-
keyFile: The path to the client key file, e.g., /etc/metrics-certs/tls.key.
170-
```
171-
172-
These settings ensure encrypted and authenticated communication between Prometheus and the monitored services, providing a secure monitoring setup.
173149
</aside>
174150

151+
175152
<aside class="note">
176153
<h1>Controller-Runtime Auth/Authz Feature Current Known Limitations and Considerations</h1>
177154

0 commit comments

Comments
 (0)