Repository navigation
Add the missing usage report keys for the primary instance, its storage and its transport - #5945
Conversation
… the usage report Expands the environment data collected for the usage report to cover transport authentication and options (ASBS, SQS, RabbitMQ, SQL Server, PostgreSQL), storage authentication and tuning (RavenDB, SQL Server, PostgreSQL, EF Core), and error instance settings (ingestion tuning, heartbeats, recoverability, security posture, ServicePulse integration, logging, and OTLP metrics). Values are reported as fixed labels rather than raw configuration values, so customer-specific details (queue names, endpoints, secrets, hostnames, claim names) are never exposed.
warwickschroeder
left a comment
There was a problem hiding this comment.
Looks good. Confirmed no real data is being collected, only fixed words to indicate use.
I noticed that some transports dont have overrides - IBM MQ, ASQ, MSMQ. Looks like ASQ is feature complete, and MSMQ is suset so thats probably why. IBM MQ is active though.
|
|
||
| protected virtual string GetAuthenticationMode(TransportSettings transportSettings) => "NotApplicable"; | ||
|
|
||
| protected virtual bool RelaxesCertificateValidation(TransportSettings transportSettings) => false; |
There was a problem hiding this comment.
Looks like only Rabbit overrides this? SqlServerTransportCustomization could override this to look for TrustServerCertificate=True, and postgres to look for SslMode=Require. I think the other transports probably also have a ssl switch that could be parsed potentially.
…eport Drops the Transport.Auth, Transport.CertificateValidation, Storage.Auth, Storage.BodyStorage.Auth, and Security.* environment data keys (and their providers/tests) that reported authentication modes and security hardening posture. Simplifies TransportCustomization by replacing the GetAuthenticationMode/RelaxesCertificateValidation/GetEnvironmentDataCore template method with a single overridable GetEnvironmentData method. Also fixes SQL Server and PostgreSQL version reporting to return a reliable numeric major version instead of the raw version string, and adds coverage for the SqlVersion query data.
Revises the 2026-10-01 coverage decision: security settings (authentication, HTTPS, CORS, forwarded headers, transport/database auth and encryption) are no longer reported, since a security reviewer could otherwise block the whole signed report and licensing has no need for the data. Also narrows scope further: `SqlVersion` now reports only the major version (or `AzureSql`), and email notification details and licensed endpoint details are dropped as out of scope. Updates `docs/usage-report.md` to match, adding the "Security configuration" exclusion reason and removing the Security key table. Links PR #5945 as the first implementation PR.
@warwickschroeder I reviewed this, and as far as I can see, there is nothing we need to collect here, since we are not collecting anything related to security settings. |
Revises the 2026-10-01 coverage decision: security settings (authentication, HTTPS, CORS, forwarded headers, transport/database auth and encryption) are no longer reported, since a security reviewer could otherwise block the whole signed report and licensing has no need for the data. Also narrows scope further: `SqlVersion` now reports only the major version (or `AzureSql`), and email notification details and licensed endpoint details are dropped as out of scope. Updates `docs/usage-report.md` to match, adding the "Security configuration" exclusion reason and removing the Security key table. Links PR #5945 as the first implementation PR.
* Document the usage report contents and add a coverage decision Adds a catalog (`docs/usage-report.md`) that lists every key the usage report carries, every setting deliberately left out, and the reason for each exclusion. Also adds an architectural decision record explaining why the report should cover every setting or runtime choice rather than adding keys on demand. The catalog is the authoritative reference for analysis and the enforcement point for review: a pull request that adds a setting must either add a key or add an exclusion row, or it gets a review finding. * Exclude security configuration from the usage report Revises the 2026-10-01 coverage decision: security settings (authentication, HTTPS, CORS, forwarded headers, transport/database auth and encryption) are no longer reported, since a security reviewer could otherwise block the whole signed report and licensing has no need for the data. Also narrows scope further: `SqlVersion` now reports only the major version (or `AzureSql`), and email notification details and licensed endpoint details are dropped as out of scope. Updates `docs/usage-report.md` to match, adding the "Security configuration" exclusion reason and removing the Security key table. Links PR #5945 as the first implementation PR. * Update usage report documentation for version changes and key renaming * Enhance usage report documentation with new audit endpoint details and clarify key combinations * Apply suggestion from @rbev Co-authored-by: Rhys Bevilaqua <rhys.bevilaqua@particular.net> --------- Co-authored-by: Warwick Schroeder <warwick.schroeder@particular.net> Co-authored-by: Rhys Bevilaqua <rhys.bevilaqua@particular.net>
This PR just adds all the missing settings that the user can customise.