Skip to content

Commit

Permalink
Fix examples
Browse files Browse the repository at this point in the history
  • Loading branch information
plar committed Feb 16, 2024
1 parent 79168d0 commit a0627c4
Showing 1 changed file with 69 additions and 106 deletions.
175 changes: 69 additions & 106 deletions examples/kopia/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,134 +16,97 @@ package main

import (
"fmt"
"time"

"github.com/kanisterio/safecli/examples/kopia/args"
"github.com/kanisterio/safecli/examples/kopia/repository"
)

func main() {
args := repository.CreateArgs{
func fsCreateArgs() repository.CreateArgs {
return repository.CreateArgs{
Common: args.Common{
ConfigFilePath: "/path/to/config",
LogDirectory: "/path/to/log",
LogLevel: "error",
RepoPassword: "123456",
RepoPassword: "password",
},
Location: repository.Location{
Provider: "filesystem",
Provider: repository.ProviderFilesystem,
MetaData: map[string][]byte{
"repoPath": []byte("/tmp/my-repository"),
},
},
Hostname: "localhost",
Username: "user",
}
cmd, err := repository.Create(args)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("exec=", cmd)
// exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user filesystem --path=/tmp/my-repository
fmt.Printf("exec=%#v", cmd.Build())
// exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user filesystem --path=/tmp/my-repository
}

// package main

// import (
// "fmt"
// "time"

// "github.com/kanisterio/safecli/examples/kopia/args"
// "github.com/kanisterio/safecli/examples/kopia/repository"
// )

// func fsCreateArgs() repository.CreateArgs {
// return repository.CreateArgs{
// Common: args.Common{
// ConfigFilePath: "/path/to/config",
// LogDirectory: "/path/to/log",
// LogLevel: "error",
// RepoPassword: "password",
// },
// Location: repository.Location{
// Provider: repository.ProviderFilesystem,
// MetaData: map[string][]byte{
// "repoPath": []byte("/tmp/my-repository"),
// },
// },
// Hostname: "localhost",
// Username: "user",
// }
// }

// func fsConnectArgs() repository.ConnectArgs {
// return repository.ConnectArgs{
// Common: args.Common{
// ConfigFilePath: "/path/to/config",
// LogDirectory: "/path/to/log",
// LogLevel: "error",
// RepoPassword: "password",
// },
// Location: repository.Location{
// Provider: repository.ProviderFilesystem,
// MetaData: map[string][]byte{
// "repoPath": []byte("/tmp/my-repository"),
// },
// },
// Hostname: "localhost",
// Username: "user",
// ReadOnly: true,
// PointInTime: time.Date(2024, 2, 15, 14, 30, 0, 0, time.FixedZone("PST", -8*60*60)),
// }
// }
func fsConnectArgs() repository.ConnectArgs {
return repository.ConnectArgs{
Common: args.Common{
ConfigFilePath: "/path/to/config",
LogDirectory: "/path/to/log",
LogLevel: "error",
RepoPassword: "password",
},
Location: repository.Location{
Provider: repository.ProviderFilesystem,
MetaData: map[string][]byte{
"repoPath": []byte("/tmp/my-repository"),
},
},
Hostname: "localhost",
Username: "user",
ReadOnly: true,
PointInTime: time.Date(2024, 2, 15, 14, 30, 0, 0, time.FixedZone("PST", -8*60*60)),
}
}

// func s3CreateArgs() repository.CreateArgs {
// return repository.CreateArgs{
// Common: args.Common{
// ConfigFilePath: "/path/to/config",
// LogDirectory: "/path/to/log",
// LogLevel: "error",
// RepoPassword: "password",
// },
// Location: repository.Location{
// Provider: repository.ProviderS3,
// MetaData: map[string][]byte{
// "region": []byte("us-west-1"),
// "bucket": []byte("my-bucket"),
// "prefix": []byte("my-repository"),
// "endpoint": []byte("http://localhost:9000"),
// "skipSSLVerify": []byte("true"),
// },
// },
// Hostname: "localhost",
// Username: "user",
// }
// }
func s3CreateArgs() repository.CreateArgs {
return repository.CreateArgs{
Common: args.Common{
ConfigFilePath: "/path/to/config",
LogDirectory: "/path/to/log",
LogLevel: "error",
RepoPassword: "password",
},
Location: repository.Location{
Provider: repository.ProviderS3,
MetaData: map[string][]byte{
"region": []byte("us-west-1"),
"bucket": []byte("my-bucket"),
"prefix": []byte("my-repository"),
"endpoint": []byte("http://localhost:9000"),
"skipSSLVerify": []byte("true"),
},
},
Hostname: "localhost",
Username: "user",
}
}

// func RepoCreate(args repository.CreateArgs) {
// cmd, err := repository.Create(args)
// fmt.Println("exec=", cmd)
// fmt.Println("err=", err)
// }
func RepoCreate(args repository.CreateArgs) {
cmd, err := repository.Create(args)
fmt.Println("exec=", cmd)
fmt.Println("err=", err)
}

// func RepoConnect(args repository.ConnectArgs) {
// cmd, err := repository.Connect(args)
// fmt.Println("exec=", cmd)
// fmt.Println("err=", err)
// }
func RepoConnect(args repository.ConnectArgs) {
cmd, err := repository.Connect(args)
fmt.Println("exec=", cmd)
fmt.Println("err=", err)
}

// func main() {
// RepoCreate(fsCreateArgs())
// RepoCreate(s3CreateArgs())
// RepoConnect(fsConnectArgs())
// }
func main() {
RepoCreate(fsCreateArgs())
RepoCreate(s3CreateArgs())
RepoConnect(fsConnectArgs())
}

// // $ go run main.go
// // exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user filesystem --path=/tmp/my-repository
// // err= <nil>
// // exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user s3 --region=us-west-1 --bucket=my-bucket --endpoint=http://localhost:9000 --prefix=my-repository --disable-tls-verify
// // err= <nil>
// // exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository connect --override-hostname=localhost --override-username=user --read-only --point-in-time=2024-02-15T14:30:00-08:00 filesystem --path=/tmp/my-repository
// // err= <nil>
// $ go run main.go
// exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user filesystem --path=/tmp/my-repository
// err= <nil>
// exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository create --override-hostname=localhost --override-username=user s3 --region=us-west-1 --bucket=my-bucket --endpoint=http://localhost:9000 --prefix=my-repository --disable-tls-verify
// err= <nil>
// exec= kopia --config-file=/path/to/config --log-dir=/path/to/log --log-level=error --password=<****> repository connect --override-hostname=localhost --override-username=user --read-only --point-in-time=2024-02-15T14:30:00-08:00 filesystem --path=/tmp/my-repository
// err= <nil>

0 comments on commit a0627c4

Please sign in to comment.