temporalio / samples-server

MIT License
39 stars 32 forks source link

[Bug] cannot stat ./config/dynamicconfig/development.yaml file #35

Open dgoldstein1 opened 2 years ago

dgoldstein1 commented 2 years ago

What are you really trying to do?

Start the authorizer example

Describe the bug

After following README to setup the authorizer plugin, the following error is thrown when running go run authorizer/main.go

 stat ./config/dynamicconfig/development.yaml: no such file or directory

Perhaps the file structure is out of date

Minimal Reproduction

~/dev/surprise-team/samples-server/extensibility (main) » go run authorizer/server/main.go                 Z008HBS@C02GC22QMD6R
go: downloading go.temporal.io/server v1.15.1-0.20220220200917-61b9b65744e4
go: downloading go.uber.org/fx v1.16.0
go: downloading github.com/gocql/gocql v0.0.0-20211222173705-d73e6b1002a7
go: downloading gopkg.in/validator.v2 v2.0.0-20210331031555-b37d688a7fb0
go: downloading go.temporal.io/api v1.7.1-0.20220211205804-a4f685c2448b
go: downloading github.com/golang-jwt/jwt/v4 v4.3.0
go: downloading github.com/uber/tchannel-go v1.22.2
go: downloading go.temporal.io/sdk v1.13.0
go: downloading github.com/uber-go/tally v3.3.17+incompatible
go: downloading github.com/aws/aws-sdk-go v1.42.52
go: downloading github.com/olivere/elastic/v7 v7.0.31
go: downloading go.temporal.io/version v0.3.0
go: downloading go.opentelemetry.io/otel v1.4.0
go: downloading go.opentelemetry.io/otel/exporters/prometheus v0.27.0
go: downloading go.opentelemetry.io/otel/metric v0.27.0
go: downloading go.opentelemetry.io/otel/sdk/export/metric v0.27.0
go: downloading go.opentelemetry.io/otel/sdk/metric v0.27.0
go: downloading go.opentelemetry.io/otel/sdk v1.4.0
go: downloading go.uber.org/multierr v1.7.0
go: downloading golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
go: downloading go.uber.org/dig v1.13.0
go: downloading github.com/jonboulle/clockwork v0.2.2
go: downloading cloud.google.com/go/storage v1.20.0
go: downloading google.golang.org/api v0.68.0
go: downloading github.com/prometheus/common v0.32.1
go: downloading go.opentelemetry.io/otel/internal/metric v0.27.0
go: downloading cloud.google.com/go/compute v1.2.0
go: downloading cloud.google.com/go/iam v0.1.1
go: downloading github.com/googleapis/gax-go/v2 v2.1.1
go: downloading github.com/go-logr/logr v1.2.2
go: downloading go.opentelemetry.io/otel/trace v1.4.0
2022/06/29 15:46:30 Loading config; env=development,zone=,configDir=./config
2022/06/29 15:46:30 Loading config files=[./config/base.yaml ./config/development.yaml]
2022/06/29 15:46:30 could not build arguments for function "go.temporal.io/server/temporal".ServerLifetimeHooks (/Users/Z008HBS/go/pkg/mod/go.temporal.io/server@v1.15.1-0.20220220200917-61b9b65744e4/temporal/fx.go:733): failed to build temporal.Server: could not build arguments for function "go.temporal.io/server/temporal".glob..func1 (/Users/Z008HBS/go/pkg/mod/go.temporal.io/server@v1.15.1-0.20220220200917-61b9b65744e4/temporal/server_impl.go:77): failed to build *temporal.ServerImpl: could not build arguments for function "go.temporal.io/server/temporal".NewServerFxImpl (/Users/Z008HBS/go/pkg/mod/go.temporal.io/server@v1.15.1-0.20220220200917-61b9b65744e4/temporal/server_impl.go:81): failed to build dynamicconfig.Client: received non-nil error from function "go.temporal.io/server/temporal".DynamicConfigClientProvider (/Users/Z008HBS/go/pkg/mod/go.temporal.io/server@v1.15.1-0.20220220200917-61b9b65744e4/temporal/fx.go:477): unable to create dynamic config client: unable to validate dynamic config: dynamic config: ./config/dynamicconfig/development.yaml: stat ./config/dynamicconfig/development.yaml: no such file or directory
exit status 1

directory structure:

~/dev/surprise-team/samples-server/extensibility (main) » tree .                                           Z008HBS@C02GC22QMD6R
.
├── authorizer
│   ├── README.md
│   ├── myAuthorizer.go
│   ├── myClaimMapper.go
│   └── server
│       └── main.go
├── config
│   ├── base.yaml
│   └── development.yaml
├── go.mod
├── go.sum
├── metrics-otel-reporter
│   ├── README.md
│   ├── config
│   │   ├── base.yaml
│   │   └── development.yaml
│   ├── myConsoleReporter.go
│   └── server
│       └── main.go
└── metrics-reporter
    ├── README.md
    ├── config
    │   ├── base.yaml
    │   └── development.yaml
    ├── myConsoleReporter.go
    └── server
        └── main.go

9 directories, 18 files

Environment/Versions

matlegit commented 1 year ago

I'm also running into this in 2023 on latest commit 639bf4a9d807737fe14f3178314120c3b4e81646

Got around it by creating an empty file at config/dynamicconfig/development.yaml. Afterwards, go run authorizer/server/main.go should work.

Environment/Versions