Skip to content

Commit c0f80e8

Browse files
committed
feat: add flag to prefix uploads, add height timestamp
1 parent 3ee6c90 commit c0f80e8

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

cmd/filecoin-chain-archiver/cmds/create.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ var cmdCreate = &cli.Command{
4949
An exact epoch height can also be supplied with the 'height' flag.
5050
`),
5151
Flags: []cli.Flag{
52+
&cli.StringFlag{
53+
Name: "name-prefix",
54+
Usage: "add a prefix to the snapshot name",
55+
Value: "default/",
56+
EnvVars: []string{"FCA_CREATE_NAME_PREFIX"},
57+
},
5258
&cli.StringFlag{
5359
Name: "nodelocker-api",
5460
Usage: "host and port of nodelocker api",
@@ -130,6 +136,7 @@ var cmdCreate = &cli.Command{
130136
flagBucketEndpoint := cctx.String("bucket-endpoint")
131137
flagBucketAccessKey := cctx.String("access-key")
132138
flagBucketSecretKey := cctx.String("secret-key")
139+
flagNamePrefix := cctx.String("name-prefix")
133140
flagBucket := cctx.String("bucket")
134141
flagDiscard := cctx.Bool("discard")
135142
flagProgressUpdate := cctx.Duration("progress-update")
@@ -304,7 +311,7 @@ var cmdCreate = &cli.Command{
304311
logger.Infow("discarding output")
305312
io.Copy(ioutil.Discard, r)
306313
} else {
307-
host := u.Host
314+
host := u.Hostname()
308315
port := u.Port()
309316
if port == "" {
310317
port = "80"
@@ -320,7 +327,13 @@ var cmdCreate = &cli.Command{
320327
Secure: u.Scheme == "https",
321328
})
322329

323-
info, err := minioClient.PutObject(ctx, flagBucket, fmt.Sprintf("%d.car", height), tr, -1, minio.PutObjectOptions{})
330+
t := export.TimeAtHeight(gtp, height, 30*time.Second)
331+
332+
name := fmt.Sprintf("%d_%s", height, t.Format("2006_01_02T15_04_05Z"))
333+
334+
logger.Infow("object", "name", name)
335+
336+
info, err := minioClient.PutObject(ctx, flagBucket, fmt.Sprintf("%s%s.car", flagNamePrefix, name), tr, -1, minio.PutObjectOptions{})
324337
if err != nil {
325338
return err
326339
}
@@ -336,7 +349,9 @@ var cmdCreate = &cli.Command{
336349
"expiration_rule_id", info.ExpirationRuleID,
337350
)
338351

339-
info, err = minioClient.PutObject(ctx, flagBucket, fmt.Sprintf("%s.sha256sum", info.Key), strings.NewReader(fmt.Sprintf("%x", h.Sum(nil))), -1, minio.PutObjectOptions{})
352+
sha256sum := fmt.Sprintf("%x *%s.car", h.Sum(nil), name)
353+
354+
info, err = minioClient.PutObject(ctx, flagBucket, fmt.Sprintf("%s%s.sha256sum", flagNamePrefix, name), strings.NewReader(sha256sum), -1, minio.PutObjectOptions{})
340355
if err != nil {
341356
logger.Errorw("failed to write sha256sum", "object", info.Key, "err", err)
342357
}

0 commit comments

Comments
 (0)