Skip to content

Commit

Permalink
Fix Grafana obfuscation
Browse files Browse the repository at this point in the history
  • Loading branch information
Etourneau Gwenn committed Jan 18, 2024
1 parent 460d262 commit 2091edb
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 9 deletions.
36 changes: 28 additions & 8 deletions managed/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,13 +256,14 @@ type ApiKey struct {
}

type MetricsExporter struct {
AccountID types.String `tfsdk:"account_id"`
ProjectID types.String `tfsdk:"project_id"`
ConfigID types.String `tfsdk:"config_id"`
ConfigName types.String `tfsdk:"config_name"`
Type types.String `tfsdk:"type"`
DataDogSpec *DataDogSpec `tfsdk:"datadog_spec"`
GrafanaSpec *GrafanaSpec `tfsdk:"grafana_spec"`
AccountID types.String `tfsdk:"account_id"`
ProjectID types.String `tfsdk:"project_id"`
ConfigID types.String `tfsdk:"config_id"`
ConfigName types.String `tfsdk:"config_name"`
Type types.String `tfsdk:"type"`
DataDogSpec *DataDogSpec `tfsdk:"datadog_spec"`
GrafanaSpec *GrafanaSpec `tfsdk:"grafana_spec"`
SumoLogicSpec *SumoLogicSpec `tfsdk:"sumologic_spec"`
}

type DataDogSpec struct {
Expand All @@ -277,12 +278,31 @@ type GrafanaSpec struct {
OrgSlug types.String `tfsdk:"org_slug"`
}

type SumoLogicSpec struct {
AccessKey types.String `tfsdk:"access_key"`
AccessId types.String `tfsdk:"access_id"`
InstallationToken types.String `tfsdk:"installation_token"`
}

func (d DataDogSpec) EncryptedKey() string {
return obfuscateString(d.ApiKey.Value)
}

func (g GrafanaSpec) EncryptedKey() string {
return obfuscateString(g.AccessTokenPolicy.Value)
return obfuscateStringLenght(g.AccessTokenPolicy.Value, 5)
}

func (s SumoLogicSpec) EncryptedKey(key string) string {
switch key {

case "access_key":
return obfuscateString(s.AccessKey.Value)
case "access_id":
return obfuscateString(s.AccessId.Value)
case "installation_token":
return obfuscateString(s.InstallationToken.Value)
}
return ""
}

type AssociateMetricsExporterCluster struct {
Expand Down
6 changes: 5 additions & 1 deletion managed/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,14 @@ func SliceStringToSliceTypesString(slice []string) []types.String {
}

func obfuscateString(s string) string {
return obfuscateStringLenght(s, 2)
}

func obfuscateStringLenght(s string, l int) string {
if len(s) < 6 {
return "X"
}
substring := s[2 : len(s)-2]
substring := s[l : len(s)-l]
replaced := strings.Replace(s, substring, strings.Repeat("X", len(substring)), 1)
return replaced
}

0 comments on commit 2091edb

Please sign in to comment.