added configuration
This commit is contained in:
parent
d8726a7e6e
commit
d8e42671ef
@ -1,7 +1,34 @@
|
||||
package main
|
||||
|
||||
import s3share "git.kapelle.org/niklas/s3share/internal"
|
||||
import (
|
||||
s3share "git.kapelle.org/niklas/s3share/internal"
|
||||
"git.kapelle.org/niklas/s3share/internal/types"
|
||||
"github.com/alexflint/go-arg"
|
||||
)
|
||||
|
||||
type args struct {
|
||||
S3Endpoint string `arg:"--s3-endpoint,required,env:S3_ENDPOINT" help:"host[:port]" placeholder:"ENDPOINT"`
|
||||
S3Bucket string `arg:"--s3-bucket,required,env:S3_BUCKET" help:"bucket to use" placeholder:"BUCKET"`
|
||||
S3AccessKey string `arg:"--s3-access-key,required,env:S3_ACCESS_KEY" placeholder:"ACCESS_KEY"`
|
||||
S3SecretKey string `arg:"--s3-secret-key,required,env:S3_SECRET_KEY" placeholder:"SECRET_KEY"`
|
||||
S3DisableSSL bool `arg:"--s3-disable-ssl,env:S3_DISABLE_SSL" default:"false"`
|
||||
Address string `arg:"--address,env:ADDRESS" default:":3000" help:"what address to listen on" placeholder:"ADDRESS"`
|
||||
}
|
||||
|
||||
func (args) Version() string {
|
||||
// TODO
|
||||
return "s3share 0.1"
|
||||
}
|
||||
|
||||
func main() {
|
||||
s3share.Start()
|
||||
var args args
|
||||
arg.MustParse(&args)
|
||||
|
||||
s3share.Start(&types.AppConfig{
|
||||
S3Endpoint: args.S3Endpoint,
|
||||
S3AccessKey: args.S3AccessKey,
|
||||
S3SecretKey: args.S3SecretKey,
|
||||
S3SSL: !args.S3DisableSSL,
|
||||
Address: args.Address,
|
||||
})
|
||||
}
|
||||
|
2
go.mod
2
go.mod
@ -8,6 +8,8 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/alexflint/go-arg v1.4.3 // indirect
|
||||
github.com/alexflint/go-scalar v1.1.0 // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/google/uuid v1.1.1 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
|
7
go.sum
7
go.sum
@ -1,3 +1,7 @@
|
||||
github.com/alexflint/go-arg v1.4.3 h1:9rwwEBpMXfKQKceuZfYcwuc/7YY7tWJbFsgG5cAU/uo=
|
||||
github.com/alexflint/go-arg v1.4.3/go.mod h1:3PZ/wp/8HuqRZMUUgu7I+e1qcpUbvmS258mRXkFH4IA=
|
||||
github.com/alexflint/go-scalar v1.1.0 h1:aaAouLLzI9TChcPXotr6gUhq+Scr8rl0P9P4PnltbhM=
|
||||
github.com/alexflint/go-scalar v1.1.0/go.mod h1:LoFvNMqS1CPrMVltza4LvnGKhaSpc3oyLEBUZVhhS2o=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||
@ -37,6 +41,7 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f h1:aZp0e2vLN4MToVqnjNEYEtrEA8RH8U8FN1CU7JgqsPU=
|
||||
@ -55,5 +60,7 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=
|
||||
gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
@ -4,16 +4,17 @@ import (
|
||||
"git.kapelle.org/niklas/s3share/internal/client"
|
||||
"git.kapelle.org/niklas/s3share/internal/db"
|
||||
"git.kapelle.org/niklas/s3share/internal/s3"
|
||||
"git.kapelle.org/niklas/s3share/internal/types"
|
||||
"git.kapelle.org/niklas/s3share/internal/web"
|
||||
)
|
||||
|
||||
func Start() {
|
||||
func Start(config *types.AppConfig) {
|
||||
db, err := db.NewSqlLiteDB("foo.db")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
s3Client, err := s3.NewMinio("localhost:9000", "testo", "testo", "hunter22", false)
|
||||
s3Client, err := s3.NewMinio(config.S3Endpoint, config.S3Bucket, config.S3AccessKey, config.S3SecretKey, config.S3SSL)
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@ -21,13 +22,7 @@ func Start() {
|
||||
|
||||
client := client.NewClient(db, s3Client)
|
||||
|
||||
// share, err := client.CreateShare(context.Background(), "/go.mod")
|
||||
// if err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
// logrus.Info(share.Slug)
|
||||
|
||||
err = web.StartWebserver("localhost:8080", *client)
|
||||
err = web.StartWebserver(config.Address, *client)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
@ -4,3 +4,12 @@ type Share struct {
|
||||
Slug string `json:"slug"`
|
||||
Key string `json:"key"`
|
||||
}
|
||||
|
||||
type AppConfig struct {
|
||||
S3Endpoint string
|
||||
S3AccessKey string
|
||||
S3SecretKey string
|
||||
S3SSL bool
|
||||
S3Bucket string
|
||||
Address string
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user