Skip to content

tetsuo/tar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github.com/tetsuo/tar

tar/untar extracted from golang/build's internals.

Usage

package main

import (
	"context"
	"log"

	"cloud.google.com/go/storage"
	"github.com/tetsuo/tar/gcs"
)

func main() {
	ctx := context.Background()

	// Initialize GCS client
	client, err := storage.NewClient(ctx)
	if err != nil {
		log.Fatalf("failed to create GCS client: %v", err)
	}
	defer client.Close()

	// Inputs
	workDir := "/tmp/my-app"           // full working directory path
	relDir := "data"                   // subdir inside workDir to pack/unpack
	bucketName := "my-bucket"          // replace with your GCS bucket name
	objectName := "archives/data.tar"  // target object path in GCS

	// Pack directory into GCS object
	if err := gcs.Pack(ctx, client, workDir, relDir, bucketName, objectName); err != nil {
		log.Fatalf("failed to pack: %v", err)
	}
	log.Println("Pack successful.")

	// Unpack the GCS object back into directory
	if err := gcs.Unpack(ctx, client, workDir, relDir, bucketName, objectName); err != nil {
		log.Fatalf("failed to unpack: %v", err)
	}
	log.Println("Unpack successful.")
}

About

tar/untar with GCS support, extracted from golang/build

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages