handler

package
v2.21.1 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2022 License: Apache-2.0 Imports: 52 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AsHTTPError added in v2.21.0

func AsHTTPError(err error) *utilerrors.HTTPError

func EncodeJSON

func EncodeJSON(c context.Context, w http.ResponseWriter, response interface{}) (err error)

EncodeJSON writes the JSON encoding of response to the http response writer.

func ErrorEncoder

func ErrorEncoder(ctx context.Context, err error, w http.ResponseWriter)

func NewRequestErrorHandler added in v2.21.0

func NewRequestErrorHandler(log *zap.SugaredLogger, reqProvider RequestProvider) transport.ErrorHandlerFunc

func SetStatusCreatedHeader

func SetStatusCreatedHeader(f func(context.Context, http.ResponseWriter, interface{}) error) func(context.Context, http.ResponseWriter, interface{}) error

Types

type EmptyResponse

type EmptyResponse struct{}

EmptyResponse is a empty response swagger:response empty

type ErrorDetails

type ErrorDetails struct {
	// The error code
	//
	// Required: true
	Code int `json:"code"`
	// The error message
	//
	// Required: true
	Message string `json:"message"`
	// Additional error messages
	//
	// Required: false
	Additional []string `json:"details,omitempty"`
}

ErrorDetails contains details about the error.

type ErrorResponse

type ErrorResponse struct {
	// The error details
	// in: body
	Error ErrorDetails `json:"error"`
}

ErrorResponse is the default representation of an error swagger:model errorResponse

type RequestProvider added in v2.21.0

type RequestProvider func() *http.Request

type Routing

type Routing struct {
	// contains filtered or unexported fields
}

Routing represents an object which binds endpoints to http handlers.

func NewRouting

func NewRouting(routingParams RoutingParams, masterClient ctrlruntimeclient.Client) Routing

NewRouting creates a new Routing.

func (Routing) CreateMeteringReportConfiguration added in v2.21.0

func (r Routing) CreateMeteringReportConfiguration() http.Handler

swagger:route POST /api/v1/admin/metering/configurations/reports/{name} admin createMeteringReportConfiguration

Creates report configuration for KKP metering tool. Only available in Kubermatic Enterprise Edition

Consumes:
- application/json

Produces:
- application/json

Responses:
  default: errorResponse
  201: empty
  401: empty
  403: empty

func (Routing) DeleteMeteringReportConfiguration added in v2.21.0

func (r Routing) DeleteMeteringReportConfiguration() http.Handler

swagger:route DELETE /api/v1/admin/metering/configurations/reports/{name} admin deleteMeteringReportConfiguration

Removes report configuration for KKP metering tool. Only available in Kubermatic Enterprise Edition

Produces:
- application/json

Responses:
  default: errorResponse
  200: empty
  401: empty
  403: empty

func (Routing) GetMeteringReportConfiguration added in v2.21.0

func (r Routing) GetMeteringReportConfiguration() http.Handler

swagger:route GET /api/v1/admin/metering/configurations/reports/{name} admin getMeteringReportConfiguration

Gets report configuration for KKP metering tool. Only available in Kubermatic Enterprise Edition

Produces:
- application/json

Responses:
  default: errorResponse
  200: MeteringReportConfiguration
  401: empty
  403: empty

func (Routing) ListMeteringReportConfigurations added in v2.21.0

func (r Routing) ListMeteringReportConfigurations() http.Handler

swagger:route GET /api/v1/admin/metering/configurations/reports admin listMeteringReportConfigurations

Lists report configurations for KKP metering tool. Only available in Kubermatic Enterprise Edition

Produces:
- application/json

Responses:
  default: errorResponse
  200: []MeteringReportConfiguration
  401: empty
  403: empty

func (Routing) RegisterV1

func (r Routing) RegisterV1(mux *mux.Router, metrics common.ServerMetrics)

RegisterV1 declares all router paths for v1.

func (Routing) RegisterV1Admin

func (r Routing) RegisterV1Admin(mux *mux.Router)

RegisterV1Admin declares all router paths for the admin users.

func (Routing) RegisterV1Legacy

func (r Routing) RegisterV1Legacy(mux *mux.Router)

RegisterV1Legacy declares legacy HTTP paths that can be deleted in the future At the time of this writing, there is no clear deprecation policy.

func (Routing) RegisterV1Optional

func (r Routing) RegisterV1Optional(mux *mux.Router, oidcKubeConfEndpoint bool, oidcCfg common.OIDCConfiguration, mainMux *mux.Router)

RegisterV1Optional declares all router paths for v1.

func (Routing) RegisterV1Websocket

func (r Routing) RegisterV1Websocket(mux *mux.Router)

func (Routing) UpdateMeteringReportConfiguration added in v2.21.0

func (r Routing) UpdateMeteringReportConfiguration() http.Handler

swagger:route PUT /api/v1/admin/metering/configurations/reports/{name} admin updateMeteringReportConfiguration

Updates existing report configuration for KKP metering tool. Only available in Kubermatic Enterprise Edition

Consumes:
- application/json

Produces:
- application/json

Responses:
  default: errorResponse
  201: empty
  401: empty
  403: empty

type RoutingParams

type RoutingParams struct {
	Log                                            *zap.SugaredLogger
	PresetProvider                                 provider.PresetProvider
	SeedsGetter                                    provider.SeedsGetter
	SeedsClientGetter                              provider.SeedClientGetter
	KubermaticConfigurationGetter                  provider.KubermaticConfigurationGetter
	SSHKeyProvider                                 provider.SSHKeyProvider
	PrivilegedSSHKeyProvider                       provider.PrivilegedSSHKeyProvider
	UserProvider                                   provider.UserProvider
	ServiceAccountProvider                         provider.ServiceAccountProvider
	PrivilegedServiceAccountProvider               provider.PrivilegedServiceAccountProvider
	ServiceAccountTokenProvider                    provider.ServiceAccountTokenProvider
	PrivilegedServiceAccountTokenProvider          provider.PrivilegedServiceAccountTokenProvider
	ProjectProvider                                provider.ProjectProvider
	PrivilegedProjectProvider                      provider.PrivilegedProjectProvider
	OIDCIssuerVerifier                             auth.OIDCIssuerVerifier
	TokenVerifiers                                 auth.TokenVerifier
	TokenExtractors                                auth.TokenExtractor
	ClusterProviderGetter                          provider.ClusterProviderGetter
	AddonProviderGetter                            provider.AddonProviderGetter
	AddonConfigProvider                            provider.AddonConfigProvider
	PrometheusClient                               prometheusapi.Client
	ProjectMemberProvider                          provider.ProjectMemberProvider
	PrivilegedProjectMemberProvider                provider.PrivilegedProjectMemberProvider
	UserProjectMapper                              provider.ProjectMemberMapper
	SATokenAuthenticator                           serviceaccount.TokenAuthenticator
	SATokenGenerator                               serviceaccount.TokenGenerator
	EventRecorderProvider                          provider.EventRecorderProvider
	ExposeStrategy                                 kubermaticv1.ExposeStrategy
	UserInfoGetter                                 provider.UserInfoGetter
	SettingsProvider                               provider.SettingsProvider
	AdminProvider                                  provider.AdminProvider
	AdmissionPluginProvider                        provider.AdmissionPluginsProvider
	SettingsWatcher                                watcher.SettingsWatcher
	UserWatcher                                    watcher.UserWatcher
	ExternalClusterProvider                        provider.ExternalClusterProvider
	PrivilegedExternalClusterProvider              provider.PrivilegedExternalClusterProvider
	FeatureGatesProvider                           provider.FeatureGatesProvider
	DefaultConstraintProvider                      provider.DefaultConstraintProvider
	ConstraintTemplateProvider                     provider.ConstraintTemplateProvider
	ConstraintProviderGetter                       provider.ConstraintProviderGetter
	AlertmanagerProviderGetter                     provider.AlertmanagerProviderGetter
	ClusterTemplateProvider                        provider.ClusterTemplateProvider
	ClusterTemplateInstanceProviderGetter          provider.ClusterTemplateInstanceProviderGetter
	RuleGroupProviderGetter                        provider.RuleGroupProviderGetter
	PrivilegedAllowedRegistryProvider              provider.PrivilegedAllowedRegistryProvider
	EtcdBackupConfigProviderGetter                 provider.EtcdBackupConfigProviderGetter
	EtcdRestoreProviderGetter                      provider.EtcdRestoreProviderGetter
	EtcdBackupConfigProjectProviderGetter          provider.EtcdBackupConfigProjectProviderGetter
	EtcdRestoreProjectProviderGetter               provider.EtcdRestoreProjectProviderGetter
	BackupCredentialsProviderGetter                provider.BackupCredentialsProviderGetter
	PrivilegedMLAAdminSettingProviderGetter        provider.PrivilegedMLAAdminSettingProviderGetter
	SeedProvider                                   provider.SeedProvider
	ResourceQuotaProvider                          provider.ResourceQuotaProvider
	GroupProjectBindingProvider                    provider.GroupProjectBindingProvider
	PrivilegedIPAMPoolProviderGetter               provider.PrivilegedIPAMPoolProviderGetter
	ApplicationDefinitionProvider                  provider.ApplicationDefinitionProvider
	PrivilegedOperatingSystemProfileProviderGetter provider.PrivilegedOperatingSystemProfileProviderGetter
	Versions                                       kubermatic.Versions
	CABundle                                       *x509.CertPool
	Features                                       features.FeatureGate
}

type WebsocketSettingsWriter

type WebsocketSettingsWriter func(ctx context.Context, providers watcher.Providers, ws *websocket.Conn)

type WebsocketTerminalWriter added in v2.21.0

type WebsocketTerminalWriter func(ctx context.Context, ws *websocket.Conn, client ctrlruntimeclient.Client, k8sClient kubernetes.Interface, cfg *rest.Config, userEmailID string)

type WebsocketUserWriter

type WebsocketUserWriter func(ctx context.Context, providers watcher.Providers, ws *websocket.Conn, userEmail string)

Jump to

Keyboard shortcuts

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