-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[chore] Clarify configopaque expectations (#9295)
Documents `configopaque` expectations. The intention is that it is clear that we can add interface implementations after 1.0 if not doing so would leak opaque values. Fixes #9274
- Loading branch information
Showing
2 changed files
with
14 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,21 @@ | ||
// Copyright The OpenTelemetry Authors | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
// Package configopaque implements String type alias to mask sensitive information. | ||
// Package configopaque implements a String type alias to mask sensitive information. | ||
// Use configopaque.String on the type of sensitive fields, to mask the | ||
// opaque string as `[REDACTED]`. | ||
// | ||
// This ensures that no sensitive information is leaked when printing the | ||
// This ensures that no sensitive information is leaked in logs or when printing the | ||
// full Collector configurations. | ||
// | ||
// The only way to view the value stored in a configopaque.String is to first convert | ||
// it to a string by casting with the builtin `string` function. | ||
// | ||
// To achieve this, configopaque.String implements standard library interfaces | ||
// like fmt.Stringer, encoding.TextMarshaler and others to ensure that the | ||
// underlying value is masked when printed or serialized. | ||
// | ||
// If new interfaces that would leak opaque values are added to the standard library | ||
// or become widely used in the Go ecosystem, these will eventually be implemented | ||
// by configopaque.String as well. This is not considered a breaking change. | ||
package configopaque // import "go.opentelemetry.io/collector/config/configopaque" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters