Help us shape the future of Go! Take the 2026 Go Developer Survey

server

package
v1.108.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2026 License: Apache-2.0 Imports: 53 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

ProviderSet is server providers.

View Source
var Version = "dev"

Functions

func NewGRPCServer

func NewGRPCServer(opts *Opts) (*grpc.Server, error)

NewGRPCServer new a gRPC server.

func NewHTTPServer

func NewHTTPServer(opts *Opts, grpcSrv *grpc.Server) (*http.Server, error)

NewHTTPServer new an HTTP server.

func NewTracerProvider added in v1.95.2

func NewTracerProvider(c *conf.Bootstrap, logger log.Logger) (trace.TracerProvider, func(), error)

NewTracerProvider creates an OTel TracerProvider configured from the Bootstrap config. When tracing is disabled or not configured, it returns a noop TracerProvider.

Types

type HTTPMetricsServer

type HTTPMetricsServer struct {
	*http.Server
}

HTTPMetricsServer is a HTTP server that exposes the metrics endpoint

func NewHTTPMetricsServer

func NewHTTPMetricsServer(opts *Opts) (*HTTPMetricsServer, error)

NewHTTPMetricsServer exposes the metrics endpoint in another port

type HTTPProfilerServer added in v0.114.0

type HTTPProfilerServer struct {
	*http.Server
}

HTTPProfilerServer is an opt-in HTTP server that exposes the Go pprof endpoints on a dedicated port. It is only started when profiling is explicitly enabled via configuration (enable_profiler).

func NewHTTPProfilerServer added in v0.114.0

func NewHTTPProfilerServer(_ *Opts) (*HTTPProfilerServer, error)

NewHTTPProfilerServer exposes the pprof endpoints on a dedicated port.

The pprof handlers are registered explicitly on this server's own router, instead of relying on the process-wide http.DefaultServeMux. Combined with hardenedRouteOptions (which prevents every other kratos server from falling back to that default mux), this keeps the unauthenticated /debug/pprof/* endpoints off the public API and metrics listeners.

type Opts

type Opts struct {
	// UseCases
	AuthzUseCase        *biz.AuthzUseCase
	UserUseCase         *biz.UserUseCase
	RobotAccountUseCase *biz.RobotAccountUseCase
	CASBackendUseCase   *biz.CASBackendUseCase
	CASClientUseCase    *biz.CASClientUseCase
	IntegrationUseCase  *biz.IntegrationUseCase
	ReferrerUseCase     *biz.ReferrerUseCase
	APITokenUseCase     *biz.APITokenUseCase
	OrganizationUseCase *biz.OrganizationUseCase
	WorkflowUseCase     *biz.WorkflowUseCase
	MembershipUseCase   *biz.MembershipUseCase
	MembershipsCache    cache.Cache[*entities.Membership]
	ClaimsCache         cache.Cache[*jwt.MapClaims]
	// Services
	WorkflowSvc         *service.WorkflowService
	AuthSvc             *service.AuthService
	WorkflowRunSvc      *service.WorkflowRunService
	AttestationSvc      *service.AttestationService
	WorkflowContractSvc *service.WorkflowContractService
	ContextSvc          *service.ContextService
	CASCredsSvc         *service.CASCredentialsService
	OrgMetricsSvc       *service.OrgMetricsService
	IntegrationsSvc     *service.IntegrationsService
	OrganizationSvc     *service.OrganizationService
	CASBackendSvc       *service.CASBackendService
	CASRedirectSvc      *service.CASRedirectService
	OrgInvitationSvc    *service.OrgInvitationService
	ReferrerSvc         *service.ReferrerService
	APITokenSvc         *service.APITokenService
	AttestationStateSvc *service.AttestationStateService
	UserSvc             *service.UserService
	SigningSvc          *service.SigningService
	PrometheusSvc       *service.PrometheusService
	GroupSvc            *service.GroupService
	ProjectSvc          *service.ProjectService
	// Utils
	Logger              log.Logger
	ServerConfig        *conf.Server
	AuthConfig          *conf.Auth
	FederatedConfig     *conf.FederatedAuthentication
	OperationAuthConfig *conf.OperationAuthorizationProvider
	BootstrapConfig     *conf.Bootstrap
	Credentials         credentials.ReaderWriter
	Validator           protovalidate.Validator
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL