diff --git a/app/observatory/command/command.go b/app/observatory/command/command.go index 9049a7591..fb27b6076 100644 --- a/app/observatory/command/command.go +++ b/app/observatory/command/command.go @@ -13,11 +13,11 @@ type service struct { UnimplementedObservatoryServiceServer v *core.Instance - Observatory extension.Observatory + observatory extension.Observatory } func (s *service) GetOutboundStatus(ctx context.Context, request *GetOutboundStatusRequest) (*GetOutboundStatusResponse, error) { - resp, err := s.Observatory.GetObservation(ctx) + resp, err := s.observatory.GetObservation(ctx) if err != nil { return nil, err } @@ -34,6 +34,13 @@ func (s *service) Register(server *grpc.Server) { func init() { common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, cfg interface{}) (interface{}, error) { s := core.MustFromContext(ctx) - return &service{v: s}, nil + sv := &service{v: s} + err := s.RequireFeatures(func(Observatory extension.Observatory) { + sv.observatory = Observatory + }) + if err != nil { + return nil, err + } + return sv, nil })) } diff --git a/infra/conf/api.go b/infra/conf/api.go index c5a199c4d..4d47a2abf 100644 --- a/infra/conf/api.go +++ b/infra/conf/api.go @@ -37,7 +37,7 @@ func (c *APIConfig) Build() (*commander.Config, error) { if !strings.HasPrefix(s, "#") { continue } - message, err := desc.LoadMessageDescriptor(s[:]) + message, err := desc.LoadMessageDescriptor(s[1:]) if err != nil || message == nil { return nil, newError("Cannot find API", s, "").Base(err) }