123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package detailed
- import (
- "github.com/weaveworks/scope/report"
- )
- func censorNodeSummary(s NodeSummary, cfg report.CensorConfig) NodeSummary {
- if cfg.HideCommandLineArguments && s.Metadata != nil {
- // Iterate through all the metadata rows and strip the
- // arguments from all the values containing a command
- // (while making sure everything is done in a non-mutable way).
- metadata := []report.MetadataRow{}
- for _, row := range s.Metadata {
- if report.IsCommandEntry(row.ID) {
- row.Value = report.StripCommandArgs(row.Value)
- }
- metadata = append(metadata, row)
- }
- s.Metadata = metadata
- }
- if cfg.HideEnvironmentVariables && s.Tables != nil {
- // Copy across all the tables except the environment
- // variable ones (ensuring the operation is non-mutable).
- tables := []report.Table{}
- for _, table := range s.Tables {
- if !report.IsEnvironmentVarsEntry(table.ID) {
- tables = append(tables, table)
- }
- }
- s.Tables = tables
- }
- return s
- }
- // CensorNode removes any sensitive data from a node.
- func CensorNode(node Node, cfg report.CensorConfig) Node {
- node.NodeSummary = censorNodeSummary(node.NodeSummary, cfg)
- return node
- }
- // CensorNodeSummaries removes any sensitive data from a list of node summaries.
- func CensorNodeSummaries(summaries NodeSummaries, cfg report.CensorConfig) NodeSummaries {
- censored := NodeSummaries{}
- for key := range summaries {
- censored[key] = censorNodeSummary(summaries[key], cfg)
- }
- return censored
- }
|