Skip to content

Commit 673c67b

Browse files
authored
Merge pull request #24 from openGemini/sp-https
chore: support https and username
2 parents 281e51b + 829d5dc commit 673c67b

File tree

3 files changed

+76
-9
lines changed

3 files changed

+76
-9
lines changed

build.sh

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
11
#!/bin/bash
22
go mod tidy
3-
go build .
3+
4+
num=$#
5+
6+
if [ "$num" -gt "0" ]; then
7+
GOOS=linux GOARCH=amd64 go build -mod=mod -o dataMigrate-linux-amd64 ./
8+
GOOS=linux GOARCH=arm64 go build -mod=mod -o dataMigrate-linux-arm64 ./
9+
GOOS=darwin GOARCH=amd64 go build -mod=mod -o dataMigrate-darwin-amd64 ./
10+
GOOS=darwin GOARCH=arm64 go build -mod=mod -o dataMigrate-darwin-arm64 ./
11+
GOOS=windows GOARCH=amd64 go build -mod=mod -o dataMigrate-windows-amd64.exe ./
12+
13+
version=0.4.0
14+
mv dataMigrate-linux-amd64 dataMigrate
15+
tar -cvzf dataMigrate-$version-linux-amd64.tar.gz ./dataMigrate
16+
rm -rf ./dataMigrate
17+
18+
mv dataMigrate-linux-arm64 dataMigrate
19+
tar -cvzf dataMigrate-$version-linux-arm64.tar.gz ./dataMigrate
20+
rm -rf ./dataMigrate
21+
22+
mv dataMigrate-darwin-arm64 dataMigrate
23+
tar -cvzf dataMigrate-$version-darwin-arm64.tar.gz ./dataMigrate
24+
rm -rf ./dataMigrate
25+
26+
mv dataMigrate-darwin-amd64 dataMigrate
27+
tar -cvzf dataMigrate-$version-darwin-amd64.tar.gz ./dataMigrate
28+
rm -rf ./dataMigrate
29+
30+
mv dataMigrate-windows-amd64.exe dataMigrate.exe
31+
zip -o dataMigrate-$version-windows-amd64.zip ./dataMigrate.exe
32+
rm -rf ./dataMigrate.exe
33+
else
34+
go build .
35+
fi

src/geminiservice.go

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package src
22

33
import (
4+
"fmt"
5+
"time"
6+
47
client "github.com/influxdata/influxdb1-client/v2"
58
"github.com/pkg/errors"
6-
"time"
79
)
810

911
type GeminiService interface {
@@ -13,18 +15,33 @@ type GeminiService interface {
1315
var _ GeminiService = (*geminiService)(nil)
1416

1517
type geminiService struct {
16-
out string
18+
out string
19+
username string
20+
password string
21+
useSsl bool
1722
}
1823

1924
func NewGeminiService(cmd *DataMigrateCommand) *geminiService {
2025
return &geminiService{
21-
out: cmd.opt.Out,
26+
out: cmd.opt.Out,
27+
username: cmd.opt.Username,
28+
password: cmd.opt.Password,
29+
useSsl: cmd.opt.Ssl,
30+
}
31+
}
32+
33+
func (g *geminiService) getUrl() string {
34+
url := fmt.Sprintf("http://%s", g.out)
35+
if g.useSsl {
36+
url = fmt.Sprintf("https://%s", g.out)
2237
}
38+
return url
2339
}
2440

2541
func (g *geminiService) GetShardGroupDuration(database string) (time.Duration, error) {
2642
c, err := client.NewHTTPClient(client.HTTPConfig{
27-
Addr: "http://" + g.out,
43+
Addr: g.getUrl(),
44+
InsecureSkipVerify: true,
2845
})
2946
if err != nil {
3047
return 0, errors.WithStack(err)

src/migrator.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ package src
22

33
import (
44
"fmt"
5-
"github.com/golang/groupcache/lru"
6-
"github.com/influxdata/influxdb/tsdb/engine/tsm1"
7-
client "github.com/influxdata/influxdb1-client/v2"
85
"os"
96
"sort"
107
"sync"
8+
9+
"github.com/golang/groupcache/lru"
10+
"github.com/influxdata/influxdb/tsdb/engine/tsm1"
11+
client "github.com/influxdata/influxdb1-client/v2"
1112
)
1213

1314
type Migrator interface {
@@ -65,6 +66,9 @@ type migrator struct {
6566
startTime int64
6667
endTime int64
6768
batchSize int
69+
userName string
70+
password string
71+
useSsl bool
6872

6973
files *[]tsm1.TSMFile
7074
// series to fields
@@ -124,6 +128,9 @@ func NewMigrator(cmd *DataMigrateCommand, info *shardGroupInfo) *migrator {
124128
batchSize: cmd.opt.BatchSize,
125129
mstCache: mstCachePool.Get().(*lru.Cache),
126130
tagsCache: tagsCachePool.Get().(*lru.Cache),
131+
userName: cmd.opt.Username,
132+
password: cmd.opt.Password,
133+
useSsl: cmd.opt.Ssl,
127134
}
128135
mig.stat.rowsRead = 0
129136
mig.stat.tagsRead = make(map[string]struct{})
@@ -195,11 +202,22 @@ func (m *migrator) releaseTSMReaders() {
195202
}
196203
}
197204

205+
func (m *migrator) getToAddr() string {
206+
addr := fmt.Sprintf("http://%s", m.out)
207+
if m.useSsl {
208+
addr = fmt.Sprintf("https://%s", m.out)
209+
}
210+
return addr
211+
}
212+
198213
func (m *migrator) writeCurrentFiles() error {
199214
defer m.releaseTSMReaders()
200215

201216
c, err := client.NewHTTPClient(client.HTTPConfig{
202-
Addr: "http://" + m.out,
217+
InsecureSkipVerify: true,
218+
Addr: m.getToAddr(),
219+
Username: m.userName,
220+
Password: m.password,
203221
})
204222
if err != nil {
205223
logger.LogString("Error creating openGemini Client: "+err.Error(), TOLOGFILE|TOCONSOLE, LEVEL_ERROR)

0 commit comments

Comments
 (0)