package flag import ( "github.com/lestrrat-go/jwx/v2/jwa" "github.com/urfave/cli/v2" ) const PrivateKeyFlagName = "private-key" var PrivateKey = &cli.StringFlag{ Name: PrivateKeyFlagName, EnvVars: []string{"STORAGE_SERVER_PRIVATE_KEY"}, Value: "storage-server.key", TakesFile: true, } func GetPrivateKey(ctx *cli.Context) string { return ctx.String(PrivateKeyFlagName) } const SigningAlgorithmFlagName = "signing-algorithm" var PrivateKeySigningAlgorithm = &cli.StringFlag{ Name: SigningAlgorithmFlagName, EnvVars: []string{"STORAGE_SERVER_SIGNING_ALGORITHM"}, Value: jwa.RS256.String(), } func GetSigningAlgorithm(ctx *cli.Context) string { return ctx.String(SigningAlgorithmFlagName) } const PrivateKeyDefaultSizeFlagName = "private-key-default-size" var PrivateKeyDefaultSize = &cli.IntFlag{ Name: PrivateKeyDefaultSizeFlagName, EnvVars: []string{"STORAGE_SERVER_PRIVATE_KEY_DEFAULT_SIZE"}, Value: 2048, } func GetPrivateKeyDefaultSize(ctx *cli.Context) int { return ctx.Int(PrivateKeyDefaultSizeFlagName) }