Skip to content

Commit 4e3cf07

Browse files
authored
Merge pull request #778 from ydb-platform/secret
Added internal package secret
2 parents b267295 + c34fec3 commit 4e3cf07

File tree

23 files changed

+139
-204
lines changed

23 files changed

+139
-204
lines changed

examples/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ require (
77
github.com/gorilla/mux v1.8.0
88
github.com/lib/pq v1.10.2
99
github.com/prometheus/client_golang v1.13.0
10-
github.com/rs/zerolog v1.27.0
1110
github.com/ydb-platform/gorm-driver v0.0.5
1211
github.com/ydb-platform/ydb-go-sdk-auth-environ v0.1.2
1312
github.com/ydb-platform/ydb-go-sdk-prometheus v0.11.10
@@ -50,6 +49,7 @@ require (
5049
github.com/prometheus/common v0.37.0 // indirect
5150
github.com/prometheus/procfs v0.8.0 // indirect
5251
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
52+
github.com/rs/zerolog v1.27.0 // indirect
5353
github.com/syndtr/goleveldb v1.0.0 // indirect
5454
github.com/yandex-cloud/go-genproto v0.0.0-20220815090733-4c139c0154e2 // indirect
5555
github.com/ydb-platform/ydb-go-genproto v0.0.0-20230528143953-42c825ace222 // indirect

examples/serverless/url_shortener/main.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"strconv"
1010
"time"
1111

12-
"github.com/rs/zerolog"
1312
environ "github.com/ydb-platform/ydb-go-sdk-auth-environ"
1413
)
1514

@@ -20,8 +19,6 @@ var (
2019
sessionPoolLimit int
2120
shutdownAfter time.Duration
2221
logLevel string
23-
24-
log = zerolog.New(os.Stdout).With().Timestamp().Logger()
2522
)
2623

2724
func init() {
@@ -73,11 +70,6 @@ func init() {
7370
flagSet.Usage()
7471
os.Exit(1)
7572
}
76-
if l, err := zerolog.ParseLevel(logLevel); err == nil {
77-
zerolog.SetGlobalLevel(l)
78-
} else {
79-
panic(err)
80-
}
8173
}
8274

8375
func main() {

examples/serverless/url_shortener/service.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/prometheus/client_golang/prometheus/promhttp"
2323
environ "github.com/ydb-platform/ydb-go-sdk-auth-environ"
2424
ydbMetrics "github.com/ydb-platform/ydb-go-sdk-prometheus"
25-
ydbZerolog "github.com/ydb-platform/ydb-go-sdk-zerolog"
2625

2726
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
2827
"github.com/ydb-platform/ydb-go-sdk/v3/table"
@@ -133,10 +132,6 @@ func getService(ctx context.Context, dsn string, opts ...ydb.Option) (s *service
133132
trace.DetailsAll,
134133
),
135134
),
136-
ydbZerolog.WithTraces(
137-
&log,
138-
trace.DetailsAll,
139-
),
140135
)
141136

142137
s = &service{

internal/secret/password.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package secret
2+
3+
func Password(password string) string {
4+
var (
5+
bytes = []byte(password)
6+
startPosition = 3
7+
endPosition = len(bytes) - 2
8+
)
9+
if startPosition > endPosition {
10+
for i := range bytes {
11+
bytes[i] = '*'
12+
}
13+
} else {
14+
for i := startPosition; i < endPosition; i++ {
15+
bytes[i] = '*'
16+
}
17+
}
18+
return string(bytes)
19+
}

internal/secret/password_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package secret
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestPassword(t *testing.T) {
10+
for _, tt := range []struct {
11+
password string
12+
exp string
13+
}{
14+
{
15+
password: "test",
16+
exp: "****",
17+
},
18+
{
19+
password: "test-long-password",
20+
exp: "tes*************rd",
21+
},
22+
} {
23+
t.Run("", func(t *testing.T) {
24+
require.Equal(t, tt.exp, Password(tt.password))
25+
})
26+
}
27+
}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
package log
1+
package secret
22

33
import (
44
"bytes"
55
"fmt"
66
"hash/crc32"
77
)
88

9-
func Secret(secret string) string {
9+
func Token(token string) string {
1010
var mask bytes.Buffer
11-
if len(secret) > 16 {
12-
mask.WriteString(secret[:4])
11+
if len(token) > 16 {
12+
mask.WriteString(token[:4])
1313
mask.WriteString("****")
14-
mask.WriteString(secret[len(secret)-4:])
14+
mask.WriteString(token[len(token)-4:])
1515
} else {
1616
mask.WriteString("****")
1717
}
18-
mask.WriteString(fmt.Sprintf("(CRC-32c: %08X)", crc32.Checksum([]byte(secret), crc32.IEEETable)))
18+
mask.WriteString(fmt.Sprintf("(CRC-32c: %08X)", crc32.Checksum([]byte(token), crc32.IEEETable)))
1919
return mask.String()
2020
}

internal/secret/token_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package secret
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestToken(t *testing.T) {
10+
for _, tt := range []struct {
11+
token string
12+
exp string
13+
}{
14+
{
15+
token: "t1.9euelZqOnJiKlcuPzciQyJjNyZ6OzO3rnpWaj53JlZKcy8aTyoyYm8-Uz8ABguCyAUPnxXz391GzzByWXoOxBT7krgydRAkaqyL7G4VVZCQDN1lZ8Lxk_sKbBMpbRn51r8dxNJNzr80ai5AQ", //nolint:lll
16+
exp: "t1.9****i5AQ(CRC-32c: B83EA6E4)",
17+
},
18+
} {
19+
t.Run("", func(t *testing.T) {
20+
require.Equal(t, tt.exp, Token(tt.token))
21+
})
22+
}
23+
}

log/driver.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"time"
66

7+
"github.com/ydb-platform/ydb-go-sdk/v3/internal/secret"
78
"github.com/ydb-platform/ydb-go-sdk/v3/trace"
89
)
910

@@ -444,13 +445,13 @@ func internalDriver(l *wrapper, d trace.Detailer) (t trace.Driver) { //nolint:go
444445
if info.Error == nil {
445446
l.Log(ctx, "done",
446447
latency(start),
447-
String("token", Secret(info.Token)),
448+
String("token", secret.Token(info.Token)),
448449
)
449450
} else {
450451
l.Log(WithLevel(ctx, ERROR), "done",
451452
Error(info.Error),
452453
latency(start),
453-
String("token", Secret(info.Token)),
454+
String("token", secret.Token(info.Token)),
454455
version(),
455456
)
456457
}

tests/slo/database/sql/main.go

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"syscall"
99
"time"
1010

11-
"go.uber.org/zap"
12-
"go.uber.org/zap/zapcore"
1311
"golang.org/x/sync/errgroup"
1412
"golang.org/x/time/rate"
1513

@@ -18,34 +16,22 @@ import (
1816
"slo/internal/workers"
1917
)
2018

21-
var logger *zap.Logger
22-
2319
var (
2420
label string
2521
jobName string
2622
)
2723

28-
func init() {
29-
var err error
30-
logger, err = zap.NewProduction(zap.AddStacktrace(zapcore.PanicLevel))
31-
if err != nil {
32-
panic(fmt.Errorf("error create logger: %w", err))
33-
}
34-
}
35-
3624
func main() {
3725
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT)
3826
defer cancel()
3927

40-
defer func() { _ = logger.Sync() }()
41-
4228
cfg, err := config.New()
4329
if err != nil {
4430
panic(fmt.Errorf("create config failed: %w", err))
4531
}
4632

47-
logger.Info("program started")
48-
defer logger.Info("program finished")
33+
fmt.Println("program started")
34+
defer fmt.Println("program finished")
4935

5036
ctx, cancel = context.WithTimeout(ctx, time.Duration(cfg.Time)*time.Second)
5137
defer cancel()
@@ -62,15 +48,15 @@ func main() {
6248
_ = s.close(shutdownCtx)
6349
}()
6450

65-
logger.Info("db init ok")
51+
fmt.Println("db init ok")
6652

6753
switch cfg.Mode {
6854
case config.CreateMode:
6955
err = s.createTable(ctx)
7056
if err != nil {
7157
panic(fmt.Errorf("create table failed: %w", err))
7258
}
73-
logger.Info("create table ok")
59+
fmt.Println("create table ok")
7460

7561
gen := generator.New(0)
7662

@@ -97,18 +83,18 @@ func main() {
9783
panic(err)
9884
}
9985

100-
logger.Info("entries write ok")
86+
fmt.Println("entries write ok")
10187
case config.CleanupMode:
10288
err = s.dropTable(ctx)
10389
if err != nil {
10490
panic(fmt.Errorf("drop table failed: %w", err))
10591
}
10692

107-
logger.Info("cleanup table ok")
93+
fmt.Println("cleanup table ok")
10894
case config.RunMode:
10995
gen := generator.New(cfg.InitialDataCount)
11096

111-
w, err := workers.New(cfg, s, logger, label, jobName)
97+
w, err := workers.New(cfg, s, label, jobName)
11298
if err != nil {
11399
panic(fmt.Errorf("create workers failed: %w", err))
114100
}
@@ -117,7 +103,7 @@ func main() {
117103
if err != nil {
118104
panic(fmt.Errorf("workers close failed: %w", err))
119105
}
120-
logger.Info("workers close ok")
106+
fmt.Println("workers close ok")
121107
}()
122108

123109
wg := sync.WaitGroup{}

tests/slo/database/sql/storage.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"path"
88
"time"
99

10-
env "github.com/ydb-platform/ydb-go-sdk-auth-environ"
11-
ydbZap "github.com/ydb-platform/ydb-go-sdk-zap"
1210
"github.com/ydb-platform/ydb-go-sdk/v3"
1311
"github.com/ydb-platform/ydb-go-sdk/v3/retry"
1412
"github.com/ydb-platform/ydb-go-sdk/v3/table"
@@ -93,11 +91,6 @@ func NewStorage(ctx context.Context, cfg *config.Config, poolSize int) (s *Stora
9391
s.cc, err = ydb.Open(
9492
ctx,
9593
s.cfg.Endpoint+s.cfg.DB,
96-
env.WithEnvironCredentials(ctx),
97-
ydbZap.WithTraces(
98-
logger,
99-
trace.DetailsAll,
100-
),
10194
)
10295
if err != nil {
10396
return nil, fmt.Errorf("ydb.Open error: %w", err)

0 commit comments

Comments
 (0)