fly storage create -t "token" fails with gql conversion error

Creating a storage bucket works fine for normal auth, but when I use a token I get a stack trace (below). I have tried both org and app-scoped tokens.

flyctl v0.3.40 linux/amd64 Commit: 0a5966dcd8a4a7ae3a71623f9f04371a3e7f27ae BuildDate: 2024-11-19T20:46:55Z

Oops, something went wrong! Could you try that again?

interface conversion: gql.AgreedToProviderTosViewerPrincipal is *gql.AgreedToProviderTosViewerMacaroon, not *gql.AgreedToProviderTosViewerUser
goroutine 1 [running]:
runtime/debug.Stack()
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.9.linux-amd64/src/runtime/debug/stack.go:24 +0x5e
github.com/superfly/flyctl/internal/sentry.printError({0x24741a0, 0xc000a44660})
        /home/runner/work/flyctl/flyctl/internal/sentry/sentry.go:190 +0x16f
github.com/superfly/flyctl/internal/sentry.Recover({0x24741a0, 0xc000a44660})
        /home/runner/work/flyctl/flyctl/internal/sentry/sentry.go:180 +0xb4
main.run.func1()
        /home/runner/work/flyctl/flyctl/main.go:40 +0x2f
panic({0x24741a0?, 0xc000a44660?})
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.9.linux-amd64/src/runtime/panic.go:770 +0x132
github.com/superfly/flyctl/internal/command/extensions/core.AgreedToProviderTos({0x2d1e950, 0xc000d12ba0}, {0xc0000139b8, 0x6})
        /home/runner/work/flyctl/flyctl/internal/command/extensions/core/core.go:515 +0xc9
github.com/superfly/flyctl/internal/command/extensions/core.AgreeToProviderTos({0x2d1e950, 0xc000d12ba0}, {{0xc0004c1840, 0x1e}, {0xc0000139b8, 0x6}, {0xc0000139d0, 0x6}, {0xc0006eb890, 0x29}, ...})
        /home/runner/work/flyctl/flyctl/internal/command/extensions/core/core.go:260 +0xee
github.com/superfly/flyctl/internal/command/extensions/core.ProvisionExtension({0x2d1e950, 0xc000d12ba0}, {{0xc00003a1e0, 0x23}, 0x0, {0x27c6800, 0x6}, {0x0, 0x0}, {0x0, ...}, ...})
        /home/runner/work/flyctl/flyctl/internal/command/extensions/core/core.go:69 +0x248
github.com/superfly/flyctl/internal/command/extensions/tigris.runCreate({0x2d1e950, 0xc000d12ba0})
        /home/runner/work/flyctl/flyctl/internal/command/extensions/tigris/create.go:93 +0x7f4
github.com/superfly/flyctl/internal/command/extensions/tigris.create.New.newRunE.func1(0xc0009b3b08, {0x27bf104?, 0x4?, 0x27bef58?})
        /home/runner/work/flyctl/flyctl/internal/command/command.go:140 +0x1d9
github.com/spf13/cobra.(*Command).execute(0xc0009b3b08, {0xc00061d800, 0x8, 0x8})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:985 +0xaca
github.com/spf13/cobra.(*Command).ExecuteC(0xc000664908)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1117 +0x3ff
github.com/spf13/cobra.(*Command).ExecuteContextC(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1050
github.com/superfly/flyctl/internal/cli.Run({0x2d1ead8?, 0xc000629a00?}, 0xc00038c000, {0xc0000500c0, 0xa, 0xa})
        /home/runner/work/flyctl/flyctl/internal/cli/cli.go:94 +0x69a
main.run()
        /home/runner/work/flyctl/flyctl/main.go:47 +0x156
main.main()
        /home/runner/work/flyctl/flyctl/main.go:26 +0x18

Any ideas what I’m doing wrong or could try?

Hi there! Unfortunately it doesn’t look like this will work with a token created using fly tokens .... This is because an actual user needs to needs to agree to Tigris’ ToS.

A workaround would be to use the old fly auth token which is a personal access token—this will work provided your user has previously agreed to the ToS (or in combination with the --yes flag).

There is some more context about this in the following PR:

I’ll post back here if there is any word from the team about changing this beahviour.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.