handlers

package
v0.7.18 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 76 Imported by: 0

Documentation

Overview

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers Meshery API.

the purpose of this application is to provide an application that is using plain go code to define an API

This should demonstrate all the possible comment annotations that are available to turn go code into a fully compliant swagger 2.0 spec

Schemes: http
BasePath: /
Version: 0.4.27
License: Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0.txt

Consumes:
- application/json
- multipart/form-data

Produces:
- application/json

Security:
- token: []

SecurityDefinitions:
token:
     type: apiKey
     name: token
     in: cookie

swagger:meta

Package handlers :collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Package handlers : collection of handlers (aka "HTTP middleware")

Index

Constants

View Source
const (
	ErrInvalidK8SConfigNilCode             = "1014"
	ErrNilClientCode                       = "1015"
	ErrRecordPreferencesCode               = "1018"
	ErrGrafanaConfigCode                   = "1019"
	ErrPrometheusConfigCode                = "1020"
	ErrGrafanaQueryCode                    = "1021"
	ErrPrometheusQueryCode                 = "1022"
	ErrPrometheusBoardsCode                = "1024"
	ErrStaticBoardsCode                    = "1025"
	ErrRequestBodyCode                     = "1026"
	ErrParseBoolCode                       = "1030"
	ErrStreamEventsCode                    = "1031"
	ErrStreamClientCode                    = "1032"
	ErrPublishSmiResultsCode               = "1033"
	ErrPluginOpenCode                      = "1034"
	ErrPluginLookupCode                    = "1035"
	ErrPluginRunCode                       = "1036"
	ErrParseFormCode                       = "1037"
	ErrQueryGetCode                        = "1038"
	ErrGetResultCode                       = "1039"
	ErrConvertToSpecCode                   = "1040"
	ErrFetchSMIResultsCode                 = "1041"
	ErrFormFileCode                        = "1042"
	ErrReadConfigCode                      = "1043"
	ErrLoadConfigCode                      = "1044"
	ErrOpenFileCode                        = "1045"
	ErrKubeVersionCode                     = "1046"
	ErrAddAdapterCode                      = "1047"
	ErrRetrieveDataCode                    = "1048"
	ErrValidAdapterCode                    = "1049"
	ErrOperationIDCode                     = "1050"
	ErrMeshClientCode                      = "1051"
	ErrApplyChangeCode                     = "1052"
	ErrRetrieveMeshDataCode                = "1053"
	ErrApplicationFailureCode              = "1054"
	ErrDecodingCode                        = "1055"
	ErrRetrieveUserTokenCode               = "1056"
	ErrFailToSaveCode                      = "1057"
	ErrFailToDeleteCode                    = "1058"
	ErrWriteResponseCode                   = "1059"
	ErrTestConfigsCode                     = "1060"
	ErrInvalidGenValueCode                 = "1061"
	ErrFailToLoadExtensionsCode            = "1062"
	ErrConversionCode                      = "1063"
	ErrParseDurationCode                   = "1064"
	ErrLoadTestCode                        = "1065"
	ErrFetchKubernetesCode                 = "1066"
	ErrPanicRecoveryCode                   = "1067"
	ErrBlankNameCode                       = "1068"
	ErrInvalidLTURLCode                    = "1069"
	ErrVersionCompareCode                  = "1070"
	ErrSaveSessionCode                     = "1071"
	ErrKubeClientCode                      = "1072"
	ErrWorkloadDefinitionCode              = "1073"
	ErrTraitDefinitionCode                 = "1074"
	ErrScopeDefinitionCode                 = "1075"
	ErrPatternFileCode                     = "1076"
	ErrExecutionPlanCode                   = "1077"
	ErrInvalidPatternCode                  = "1078"
	ErrCompConfigPairsCode                 = "1079"
	ErrCreateDirCode                       = "1080"
	ErrInvalidRequestObjectCode            = "1081"
	ErrChangeK8sContextCode                = "1082"
	ErrSavingUserPreferenceCode            = "1083"
	ErrGetFilterCode                       = "1084"
	ErrSaveFilterCode                      = "1085"
	ErrDecodeFilterCode                    = "1086"
	ErrEncodeFilterCode                    = "1087"
	ErrImportFilterCode                    = "1088"
	ErrFetchFilterCode                     = "1089"
	ErrDeleteFilterCode                    = "1090"
	ErrSavePatternCode                     = "1091"
	ErrSaveApplicationCode                 = "1092"
	ErrGetPatternCode                      = "1093"
	ErrDeletePatternCode                   = "1094"
	ErrFetchPatternCode                    = "1095"
	ErrImportPatternCode                   = "1096"
	ErrEncodePatternCode                   = "1097"
	ErrDecodePatternCode                   = "1098"
	ErrParsePatternCode                    = "1099"
	ErrConvertPatternCode                  = "1100"
	ErrInvalidKubeConfigCode               = "1102"
	ErrInvalidKubeHandlerCode              = "1103"
	ErrInvalidKubeContextCode              = "1104"
	ErrValidateCode                        = "1106"
	ErrApplicationContentCode              = "1107"
	ErrRemoteApplicationURL                = "1108"
	ErrClonePatternCode                    = "1109"
	ErrCloneFilterCode                     = "1110"
	ErrGenerateComponentsCode              = "1111"
	ErrPublishCatalogPatternCode           = "1112"
	ErrPublishCatalogFilterCode            = "1113"
	ErrGetMeshModelsCode                   = "1114"
	ErrGetUserDetailsCode                  = "1115"
	ErrResolvingRelationship               = "1116"
	ErrGetLatestVersionCode                = "1117"
	ErrCreateFileCode                      = "1118"
	ErrLoadCertificateCode                 = "1119"
	ErrCleanupCertificateCode              = "1120"
	ErrDownlaodWASMFileCode                = "1121"
	ErrFetchProfileCode                    = "1122"
	ErrPerformanceTestCode                 = "1123"
	ErrFetchApplicationCode                = "1124"
	ErrDeleteApplicationCode               = "1125"
	ErrGetEventsCode                       = "1126"
	ErrUpdateEventCode                     = "1127"
	ErrDeleteEventCode                     = "1128"
	ErrUnsupportedEventStatusCode          = "1129"
	ErrBulkUpdateEventCode                 = "1537"
	ErrBulkDeleteEventCode                 = "1538"
	ErrFetchMeshSyncResourcesCode          = "1539"
	ErrDesignSourceContentCode             = "1554"
	ErrGetConnectionsCode                  = "1555"
	ErrWritingIntoFileCode                 = "1566"
	ErrBuildOCIImgCode                     = "1567"
	ErrSaveOCIArtifactCode                 = "1558"
	ErrIOReaderCode                        = "1559"
	ErrUnCompressOCIArtifactCode           = "1560"
	ErrWaklingLocalDirectoryCode           = "1561"
	ErrConvertingK8sManifestToDesignCode   = "1562"
	ErrConvertingDockerComposeToDesignCode = "1563"
	ErrMarshallingDesignIntoYAMLCode       = "1564"
	ErrConvertingHelmChartToDesignCode     = "1565"
	ErrInvalidUUIDCode                     = "1568"
)

Please reference the following before contributing an error code: https://docs.meshery.io/project/contributing/contributing-error https://github.com/meshery/meshkit/blob/master/errors/errors.go

View Source
const DefaultPageSizeForMeshModelComponents = 25

*Meshmodel endpoints *

Variables

View Source
var (
	ErrInvalidK8SConfigNil = errors.New(ErrInvalidK8SConfigNilCode, errors.Alert, []string{"No valid kubernetes config found. Make sure to pass contextIDs in query parameters."}, []string{"Kubernetes config is not initialized with Meshery"}, []string{"Kubernetes config is not accessible to meshery or not valid"}, []string{"Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized"})
	ErrNilClient           = errors.New(ErrNilClientCode, errors.Alert, []string{"Kubernetes client not initialized"}, []string{"Kubernetes config is not initialized with Meshery"}, []string{"Kubernetes config is not accessible to meshery or not valid"}, []string{"Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized"})
	ErrPrometheusConfig    = errors.New(ErrPrometheusConfigCode, errors.Alert, []string{"Prometheus endpoint not configured"}, []string{"Cannot find valid Prometheus endpoint in user pref"}, []string{"Prometheus endpoint might not be reachable from meshery"}, []string{"Setup your Prometheus Endpoint via the settings dashboard"})
	ErrGrafanaConfig       = errors.New(ErrGrafanaConfigCode, errors.Alert, []string{"Grafana endpoint not configured"}, []string{"Cannot find valid grafana endpoint in user pref"}, []string{"Grafana endpoint might not be reachable from meshery"}, []string{"Setup your Grafana Endpoint via the settings dashboard"})
	ErrStaticBoards        = errors.New(ErrStaticBoardsCode, errors.Alert, []string{"unable to get static board"}, []string{"unable to get static board"}, []string{"No boards could be available in grafana"}, []string{})
	ErrValidAdapter        = errors.New(ErrValidAdapterCode, errors.Alert, []string{"Unable to find valid Adapter URL"}, []string{"unable to find a valid adapter for the given adapter URL"}, []string{"Given adapter URL is not valid"}, []string{"Please provide a valid Adapter URL"})
	ErrAddAdapter          = errors.New(ErrAddAdapterCode, errors.Alert, []string{"meshLocationURL is empty"}, []string{"meshLocationURL is empty to add an adapter"}, []string{"meshLocationURL cannot be empty to add an adapter"}, []string{"please provide the meshLocationURL"})
	ErrMeshClient          = errors.New(ErrMeshClientCode, errors.Alert, []string{"Error creating a mesh client", "Error pinging the mesh adapter"}, []string{"Unable to create a mesh client", "Unable to ping the mesh adapter"}, []string{"Adapter could not be pinged"}, []string{"Unable to connect to the Mesh adapter using the given config, please try again"})
	ErrWriteResponse       = errors.New(ErrWriteResponseCode, errors.Alert, []string{"Error writing response"}, []string{}, []string{}, []string{})
	ErrTestConfigs         = errors.New(ErrTestConfigsCode, errors.Alert, []string{"Error fetching test configs"}, []string{}, []string{}, []string{})
	ErrInvalidGenValue     = errors.New(ErrInvalidGenValueCode, errors.Alert, []string{"Invalid value for gen"}, []string{}, []string{}, []string{"please provide a valid value for gen (load generator)"})
	ErrParseDuration       = errors.New(ErrParseDurationCode, errors.Alert, []string{"error parsing test duration"}, []string{}, []string{"The format of the duration passed could be incorrect"}, []string{"please refer to:  https://docs.meshery.io/guides/mesheryctl#performance-management"})
	ErrPerformanceTest     = errors.New(ErrPerformanceTestCode, errors.Alert, []string{"Load test error"}, []string{}, []string{"Load test endpoint could be not reachable"}, []string{"Make sure load test endpoint is reachable"})
)

Functions

func CheckLatestVersion

func CheckLatestVersion(serverVersion string) (*bool, string, error)

CheckLatestVersion takes in the current server version compares it with the target and returns the (isOutdated, latestVersion, error)

func ErrApplicationFailure

func ErrApplicationFailure(err error, obj string) error

func ErrApplicationSourceContent

func ErrApplicationSourceContent(err error, obj string) error

func ErrApplyChange

func ErrApplyChange(err error) error

func ErrBlankName

func ErrBlankName(err error) error

func ErrBuildOCIImg added in v0.7.11

func ErrBuildOCIImg(err error) error

func ErrBulkDeleteEvent added in v0.6.154

func ErrBulkDeleteEvent(err error) error

func ErrBulkUpdateEvent added in v0.6.154

func ErrBulkUpdateEvent(err error) error

func ErrChangeK8sContext

func ErrChangeK8sContext(err error) error

func ErrCleanupCertificate added in v0.6.105

func ErrCleanupCertificate(err error, obj string) error

func ErrCloneFilter added in v0.6.4

func ErrCloneFilter(err error) error

func ErrClonePattern added in v0.6.4

func ErrClonePattern(err error) error

func ErrCompConfigPairs

func ErrCompConfigPairs(err error) error

func ErrConversion

func ErrConversion(err error) error

func ErrConvertPattern

func ErrConvertPattern(err error) error

func ErrConvertToSpec

func ErrConvertToSpec(err error) error

func ErrConvertingDockerComposeToDesign added in v0.7.11

func ErrConvertingDockerComposeToDesign(err error) error

func ErrConvertingHelmChartToDesign added in v0.7.11

func ErrConvertingHelmChartToDesign(err error) error

func ErrConvertingK8sManifestToDesign added in v0.7.11

func ErrConvertingK8sManifestToDesign(err error) error

func ErrCreateDir

func ErrCreateDir(err error, obj string) error

func ErrCreateFile added in v0.6.105

func ErrCreateFile(err error, obj string) error

func ErrDecodeFilter

func ErrDecodeFilter(err error) error

func ErrDecodePattern

func ErrDecodePattern(err error) error

func ErrDecoding

func ErrDecoding(err error, obj string) error

func ErrDeleteApplication added in v0.6.135

func ErrDeleteApplication(err error) error

func ErrDeleteEvent added in v0.6.135

func ErrDeleteEvent(err error, id string) error

func ErrDeleteFilter

func ErrDeleteFilter(err error) error

func ErrDeletePattern

func ErrDeletePattern(err error) error

func ErrDesignSourceContent added in v0.7.5

func ErrDesignSourceContent(err error, obj string) error

func ErrDownloadWASMFile added in v0.6.105

func ErrDownloadWASMFile(err error, obj string) error

func ErrEncodeFilter

func ErrEncodeFilter(err error) error

func ErrEncodePattern

func ErrEncodePattern(err error) error

func ErrExecutionPlan

func ErrExecutionPlan(err error) error

func ErrFailToDelete

func ErrFailToDelete(err error, obj string) error

func ErrFailToLoadExtensions

func ErrFailToLoadExtensions(err error) error

func ErrFailToSave

func ErrFailToSave(err error, obj string) error

func ErrFetchApplication added in v0.6.135

func ErrFetchApplication(err error) error

func ErrFetchFilter

func ErrFetchFilter(err error) error

func ErrFetchKubernetes

func ErrFetchKubernetes(err error) error

func ErrFetchMeshSyncResources added in v0.6.163

func ErrFetchMeshSyncResources(err error) error

ErrFetchMeshSyncResources

func ErrFetchPattern

func ErrFetchPattern(err error) error

func ErrFetchProfile added in v0.6.115

func ErrFetchProfile(err error) error

func ErrFetchSMIResults

func ErrFetchSMIResults(err error) error

func ErrFormFile

func ErrFormFile(err error) error

func ErrGenerateComponents added in v0.6.7

func ErrGenerateComponents(err error) error

func ErrGetConnections added in v0.7.5

func ErrGetConnections(err error) error

func ErrGetEvents added in v0.6.135

func ErrGetEvents(err error) error

func ErrGetFilter

func ErrGetFilter(err error) error

func ErrGetLatestVersion

func ErrGetLatestVersion(err error) error

func ErrGetMeshModels added in v0.6.70

func ErrGetMeshModels(err error) error

func ErrGetPattern

func ErrGetPattern(err error) error

func ErrGetResult

func ErrGetResult(err error) error

func ErrGetUserDetails added in v0.6.70

func ErrGetUserDetails(err error) error

func ErrGrafanaQuery

func ErrGrafanaQuery(err error) error

func ErrIOReader added in v0.7.11

func ErrIOReader(err error) error

func ErrImportFilter

func ErrImportFilter(err error) error

func ErrImportPattern

func ErrImportPattern(err error) error

func ErrInvalidKubeConfig

func ErrInvalidKubeConfig(err error, content string) error

func ErrInvalidKubeContext

func ErrInvalidKubeContext(err error, content string) error

func ErrInvalidKubeHandler

func ErrInvalidKubeHandler(err error, content string) error

func ErrInvalidLTURL

func ErrInvalidLTURL(url string) error

func ErrInvalidPattern

func ErrInvalidPattern(err error) error

func ErrInvalidRequestObject

func ErrInvalidRequestObject(fields ...string) error

func ErrInvalidUUID added in v0.7.12

func ErrInvalidUUID(err error) error

func ErrKubeClient

func ErrKubeClient(err error) error

func ErrKubeVersion

func ErrKubeVersion(err error) error

func ErrLoadCertificate added in v0.6.105

func ErrLoadCertificate(err error) error

func ErrLoadConfig

func ErrLoadConfig(err error) error

func ErrLoadTest

func ErrLoadTest(err error, obj string) error

func ErrMarshallingDesignIntoYAML added in v0.7.11

func ErrMarshallingDesignIntoYAML(err error) error

func ErrOpenFile

func ErrOpenFile(file string) error

func ErrOperationID

func ErrOperationID(err error) error

func ErrPanicRecovery

func ErrPanicRecovery(r interface{}) error

func ErrParseBool

func ErrParseBool(err error, obj string) error

func ErrParseForm

func ErrParseForm(err error) error

func ErrParsePattern

func ErrParsePattern(err error) error

func ErrPatternFile

func ErrPatternFile(err error) error

func ErrPluginLookup

func ErrPluginLookup(err error) error

func ErrPluginOpen

func ErrPluginOpen(err error) error

func ErrPluginRun

func ErrPluginRun(err error) error

func ErrPrometheusBoards

func ErrPrometheusBoards(err error) error

func ErrPrometheusQuery

func ErrPrometheusQuery(err error) error

func ErrPublishCatalogFilter added in v0.6.17

func ErrPublishCatalogFilter(err error) error

func ErrPublishCatalogPattern added in v0.6.17

func ErrPublishCatalogPattern(err error) error

func ErrPublishSmiResults

func ErrPublishSmiResults(err error) error

func ErrQueryGet

func ErrQueryGet(obj string) error

func ErrReadConfig

func ErrReadConfig(err error) error

func ErrRecordPreferences

func ErrRecordPreferences(err error) error

func ErrRemoteApplication

func ErrRemoteApplication(err error) error

func ErrRequestBody

func ErrRequestBody(err error) error

func ErrResolvingRegoRelationship added in v0.6.88

func ErrResolvingRegoRelationship(err error) error

func ErrRetrieveData

func ErrRetrieveData(err error) error

func ErrRetrieveMeshData

func ErrRetrieveMeshData(err error) error

func ErrRetrieveUserToken

func ErrRetrieveUserToken(err error) error

func ErrSaveApplication added in v0.6.29

func ErrSaveApplication(err error) error

func ErrSaveFilter

func ErrSaveFilter(err error) error

func ErrSaveOCIArtifact added in v0.7.11

func ErrSaveOCIArtifact(err error) error

func ErrSavePattern

func ErrSavePattern(err error) error

func ErrSaveSession

func ErrSaveSession(err error) error

func ErrSavingUserPreference

func ErrSavingUserPreference(err error) error

func ErrScopeDefinition

func ErrScopeDefinition(err error) error

func ErrStreamClient

func ErrStreamClient(err error) error

func ErrStreamEvents

func ErrStreamEvents(err error) error

func ErrTraitDefinition

func ErrTraitDefinition(err error) error

func ErrUnCompressOCIArtifact added in v0.7.11

func ErrUnCompressOCIArtifact(err error) error

func ErrUnsupportedEventStatus added in v0.6.135

func ErrUnsupportedEventStatus(err error, status string) error

func ErrUpdateEvent added in v0.6.135

func ErrUpdateEvent(err error, id string) error

func ErrValidate

func ErrValidate(err error) error

func ErrVersionCompare

func ErrVersionCompare(err error) error

func ErrWaklingLocalDirectory added in v0.7.11

func ErrWaklingLocalDirectory(err error) error

func ErrWorkloadDefinition

func ErrWorkloadDefinition(err error) error

func ErrWritingIntoFile added in v0.7.11

func ErrWritingIntoFile(err error, obj string) error

func K8sFSMMiddleware added in v0.7.7

func K8sFSMMiddleware(ctx context.Context, h *Handler, provider models.Provider, user *models.User)

func KubernetesMiddleware added in v0.6.143

func KubernetesMiddleware(ctx context.Context, h *Handler, provider models.Provider, user *models.User, k8sContextIDs []string) (context.Context, error)

func NewHandlerInstance

func NewHandlerInstance(
	handlerConfig *models.HandlerConfig,
	meshSyncCh chan struct{},
	logger logger.Handler,
	brokerConn broker.Handler,
	compRegHelper *models.ComponentsRegistrationHelper,
	mctrlHelper *models.MesheryControllersHelper,
	dbHandler *database.Handler,
	eb *events.EventStreamer,
	regManager *meshmodel.RegistryManager,
	provider string,
	rego *policies.Rego,
	connToInstanceTracker *machines.ConnectionToStateMachineInstanceTracker,
) models.HandlerInterface

NewHandlerInstance returns a Handler instance

func ServeReactComponentFromPackage

func ServeReactComponentFromPackage(
	w http.ResponseWriter,
	r *http.Request,
	reqBasePath string,
	provider models.Provider,
)

ServeReactComponentFromPackage serves static assets from the package located at provider.PackageLocation()

func ServeUI

func ServeUI(w http.ResponseWriter, r *http.Request, reqBasePath, baseFolderPath string)

ServeUI - helps serve static files for both meshery ui and provider ui

Types

type ContentModifier

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

ContentModifier To be used while adding metadata to patterns,filters and applicationss

func NewContentModifier

func NewContentModifier(token string,
	provider models.Provider,
	prefObj *models.Preference,
	userID string) *ContentModifier

func (*ContentModifier) AddMetadataForPatterns

func (mc *ContentModifier) AddMetadataForPatterns(ctx context.Context, contentBytes *[]byte) error

TODO: Similar mechanisms for filters and applications AddMetadataForPatterns takes in response bytes, and add metadata to it based on some checks

type ExtensionVersion

type ExtensionVersion struct {
	Version string `json:"version,omitempty"`
}

Defines the version metadata for the extension

type Handler

type Handler struct {
	K8sCompRegHelper   *models.ComponentsRegistrationHelper
	MesheryCtrlsHelper *models.MesheryControllersHelper
	Provider           string // When set, all endpoints consider tokens / identities / capabilities valid from the single, designated provider.
	SystemID           *uuid.UUID

	EventsBuffer                            *events.EventStreamer
	Rego                                    *policies.Rego
	ConnectionToStateMachineInstanceTracker *machines.ConnectionToStateMachineInstanceTracker
	// contains filtered or unexported fields
}

Handler type is the bucket for configs and http handlers

func (*Handler) AdapterPingHandler

func (h *Handler) AdapterPingHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, _ models.Provider)

AdapterPingHandler is used to ping a given adapter

func (*Handler) AdaptersHandler

func (h *Handler) AdaptersHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

AdaptersHandler is used to fetch all the adapters

func (*Handler) AddConnectionToEnvironmentHandler added in v0.6.143

func (h *Handler) AddConnectionToEnvironmentHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) AddDesignToWorkspaceHandler added in v0.7.5

func (h *Handler) AddDesignToWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route POST /api/workspaces/{id}/designs/{designID} WorkspacesAPI idAddMesheryDesignToWorkspace Handle POST request for adding a meshery design to a workspace

Adds a meshery design to a workspace responses: 201: workspaceDesignsMappingResponseWrapper

func (*Handler) AddEnvironmentToWorkspaceHandler added in v0.7.5

func (h *Handler) AddEnvironmentToWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route POST /api/workspaces/{id}/environments/{environmentID} WorkspacesAPI idAddEnvironmentToWorkspace Handle POST request for adding an environment to a workspace

Adds an environment to a workspace responses: 201: workspaceEnvironmentsMappingResponseWrapper

func (*Handler) ApplicationFileHandler

func (h *Handler) ApplicationFileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

ApplicationFileHandler handles the requested related to application files

func (*Handler) ApplicationFileRequestHandler

func (h *Handler) ApplicationFileRequestHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

ApplicationFileRequestHandler will handle requests of both type GET and POST on the route /api/application

func (*Handler) AuthMiddleware

func (h *Handler) AuthMiddleware(next http.Handler, auth models.AuthenticationMechanism) http.Handler

AuthMiddleware is a middleware to validate if a user is authenticated

func (*Handler) AvailableAdaptersHandler added in v0.6.82

func (h *Handler) AvailableAdaptersHandler(w http.ResponseWriter, _ *http.Request)

AdaptersHandler is used to fetch all the adapters

func (*Handler) BulkDeleteEvent added in v0.6.154

func (h *Handler) BulkDeleteEvent(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) BulkUpdateEventStatus added in v0.6.154

func (h *Handler) BulkUpdateEventStatus(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) CloneMesheryFilterHandler added in v0.6.4

func (h *Handler) CloneMesheryFilterHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route POST /api/filter/clone/{id} FiltersAPI idCloneMesheryFilter Handle Clone for a Meshery Filter

Creates a local copy of a published filter with id: id responses:

200: noContentWrapper

CloneMesheryFilterHandler clones a filter with the given id

func (*Handler) CloneMesheryPatternHandler added in v0.6.4

func (h *Handler) CloneMesheryPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route POST /api/pattern/clone/{id} PatternsAPI idCloneMesheryPattern Handle Clone for a Meshery Pattern

Creates a local copy of a published pattern with id: id responses:

200 : noContentWrapper

CloneMesheryPatternHandler clones a pattern with the given id

func (*Handler) CollectStaticMetrics

func (h *Handler) CollectStaticMetrics(config *models.SubmitMetricsConfig) error

CollectStaticMetrics is used for collecting static metrics from prometheus and submitting it to Remote Provider

func (*Handler) DeleteConnection added in v0.6.91

func (h *Handler) DeleteConnection(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route DELETE /api/integrations/connections/{connectionId} DeleteConnection idDeleteConnection Handle DELETE request for deleting an existing connection by connection ID

Deletes existing connection responses: 200: noContentWrapper

func (*Handler) DeleteContext

func (h *Handler) DeleteContext(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) DeleteEnvironmentHandler added in v0.6.143

func (h *Handler) DeleteEnvironmentHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) DeleteEvent added in v0.6.135

func (h *Handler) DeleteEvent(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) DeleteMeshSyncResource added in v0.7.5

func (h *Handler) DeleteMeshSyncResource(rw http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) DeleteMesheryApplicationHandler

func (h *Handler) DeleteMesheryApplicationHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

DeleteMesheryApplicationHandler deletes a application with the given id

func (*Handler) DeleteMesheryFilterHandler

func (h *Handler) DeleteMesheryFilterHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route DELETE /api/filter/{id} FiltersAPI idDeleteMesheryFilter Handle Delete for a Meshery Filter

Deletes a meshery filter with ID: id responses:

200: noContentWrapper

DeleteMesheryFilterHandler deletes a filter with the given id

func (*Handler) DeleteMesheryPatternHandler

func (h *Handler) DeleteMesheryPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route DELETE /api/pattern/{id} PatternsAPI idDeleteMesheryPattern Handle Delete for a Meshery Pattern

Deletes a meshery pattern with ID: id responses:

200: noContentWrapper

DeleteMesheryPatternHandler deletes a pattern with the given id

func (*Handler) DeleteMultiMesheryPatternsHandler

func (h *Handler) DeleteMultiMesheryPatternsHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route DELETE /api/patterns PatternsAPI idDeleteMesheryPattern Handle Delete for multiple Meshery Patterns

DeleteMultiMesheryPatternsHandler deletes patterns with the given ids

func (*Handler) DeletePerformanceProfileHandler

func (h *Handler) DeletePerformanceProfileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

DeletePerformanceProfileHandler deletes a performance profile with the given id

func (*Handler) DeleteScheduleHandler

func (h *Handler) DeleteScheduleHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

DeleteScheduleHandler deletes a schedule with the given id

func (*Handler) DeleteUserCredential added in v0.6.79

func (h *Handler) DeleteUserCredential(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) DeleteWorkspaceHandler added in v0.7.5

func (h *Handler) DeleteWorkspaceHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route DELETE /api/workspaces/{id} WorkspaceAPI idDeleteWorkspaceHandler Handle DELETE for Workspace based on ID

Deletes a workspace responses: 201: workspaceResponseWrapper

func (*Handler) DesignFileRequestHandlerWithSourceType added in v0.6.169

func (h *Handler) DesignFileRequestHandlerWithSourceType(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

PatternFileRequestHandler will handle requests of both type GET and POST on the route /api/pattern

func (*Handler) DiscoverK8SContextFromKubeConfig added in v0.6.181

func (h *Handler) DiscoverK8SContextFromKubeConfig(userID string, token string, prov models.Provider) ([]*models.K8sContext, error)

func (*Handler) DownloadMesheryPatternHandler added in v0.6.90

func (h *Handler) DownloadMesheryPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

func (*Handler) EvaluateRelationshipPolicy added in v0.7.1

func (h *Handler) EvaluateRelationshipPolicy(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route POST /api/meshmodels/relationships/evaluate EvaluateRelationshipPolicy relationshipPolicyEvalPayloadWrapper Handle POST request for evaluating relationships in the provided design file by running a set of provided evaluation queries on the design file

responses: 200

func (*Handler) EventStreamHandler

func (h *Handler) EventStreamHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, p models.Provider)

EventStreamHandler endpoint is used for streaming events to the frontend

func (*Handler) ExtensionsEndpointHandler

func (h *Handler) ExtensionsEndpointHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, _ models.Provider)

func (*Handler) ExtensionsHandler

func (h *Handler) ExtensionsHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

* ExtensionsHandler is a handler function which works as a proxy to resolve the * request of any extension point to its remote provider

func (*Handler) ExtensionsVersionHandler

func (h *Handler) ExtensionsVersionHandler(w http.ResponseWriter, _ *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) FetchAllResultsHandler

func (h *Handler) FetchAllResultsHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, p models.Provider)

FetchAllResultsHandler fetchs pages of results from Remote Provider and presents it to the UI

func (*Handler) FetchResultsHandler

func (h *Handler) FetchResultsHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, p models.Provider)

FetchResultsHandler fetchs pages of results from Remote Provider and presents it to the UI

func (*Handler) FetchSingleSmiResultHandler

func (h *Handler) FetchSingleSmiResultHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, p models.Provider)

FetchSingleSmiResultHandler gets the result of single smi conformance test

func (*Handler) FetchSmiResultsHandler

func (h *Handler) FetchSmiResultsHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, p models.Provider)

swagger:route GET /api/smi/results Smi idFetchSmiResults Handle GET request for the results of all the smi conformance tests

Results can be further filtered through query parameter

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10

```?search={status|mesh_version|mesh_name|date|id}``` If search is non empty then a greedy search is performed responses:

200: smiResultsResponseWrapper

func (*Handler) FilterFileHandler

func (h *Handler) FilterFileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

FilterFileHandler handles the requested related to filter files

func (*Handler) FilterFileRequestHandler

func (h *Handler) FilterFileRequestHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

FilterFileRequestHandler will handle requests of both type GET and POST on the route /api/filter

func (*Handler) GetAllContexts

func (h *Handler) GetAllContexts(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route GET /api/system/kubernetes/contexts GetAllContexts idGetAllContexts Handle GET request for all kubernetes contexts.

Contexts can be further filtered through query parameter

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10

```?search={contextname}``` If search is non empty then a greedy search is performed responses:

200: systemK8sContextsResponseWrapper

func (*Handler) GetAllEvents added in v0.6.135

func (h *Handler) GetAllEvents(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) GetAllMeshmodelComponents added in v0.6.10

func (h *Handler) GetAllMeshmodelComponents(rw http.ResponseWriter, r *http.Request)

func (*Handler) GetAllMeshmodelComponentsByName added in v0.6.70

func (h *Handler) GetAllMeshmodelComponentsByName(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/components/{name} GetAllMeshmodelComponentsByName idGetAllMeshmodelComponentsByName Handle GET request for getting meshmodel components of a specific type by name across all models and categories

Example: ```/api/meshmodels/components/Namespace``` Components can be further filtered through query parameter

```?model={model}``` If model is unspecified then all models are returned

```?version={version}``` If version is unspecified then all model versions are returned

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities

```?search={true/false}``` If search is true then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses: 200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetAllMeshmodelPolicies added in v0.6.129

func (h *Handler) GetAllMeshmodelPolicies(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/policies/ GetMeshmodelPolicies idGetMeshmodelPolicies Handle GET request for getting meshmodel policies of a specific model by name.

Example: ```/api/meshmodels/models/kubernetes/policies```

// ```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?search={true/false}``` If search is true then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses:

200: []meshmodelPoliciesResponseWrapper

func (*Handler) GetAllMeshmodelPoliciesByName added in v0.6.129

func (h *Handler) GetAllMeshmodelPoliciesByName(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/policies/{name} GetMeshmodelPoliciesByName idGetMeshmodelPoliciesByName Handle GET request for getting meshmodel policies of a specific model by name.

Example: ```/api/meshmodels/models/kubernetes/policies/{name}```

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?search={true/false}``` If search is true then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses:

200: []meshmodelPoliciesResponseWrapper

func (*Handler) GetAllMeshmodelRelationships added in v0.6.36

func (h *Handler) GetAllMeshmodelRelationships(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/relationships GetAllMeshmodelRelationships idGetAllMeshmodelRelationshipsByModel Handle GET request for getting meshmodel relationships of a specific model

Example: ```/api/meshmodel/model/kubernetes/relationship```

Relationships can be further filtered through query parameter

```?version={version}```

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses:

200: meshmodelRelationshipsResponseWrapper

func (*Handler) GetCatalogMesheryFiltersHandler added in v0.6.4

func (h *Handler) GetCatalogMesheryFiltersHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/filter/catalog FiltersAPI idGetCatalogMesheryFiltersHandler Handle GET request for catalog filters

Filters can be further filtered through query parameter

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10.

```?search={filtername}``` If search is non empty then a greedy search is performed responses:

200: mesheryFiltersResponseWrapper

func (*Handler) GetCatalogMesheryPatternsHandler added in v0.6.4

func (h *Handler) GetCatalogMesheryPatternsHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/pattern/catalog PatternsAPI idGetCatalogMesheryPatternsHandler Handle GET request for catalog patterns

Patterns can be further filtered through query parameter

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10.

```?search={patternname}``` If search is non empty then a greedy search is performed responses:

200: mesheryPatternsResponseWrapper

func (*Handler) GetConnections added in v0.6.91

func (h *Handler) GetConnections(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

swagger:route GET /api/integrations/connections GetConnections idGetConnections Handle GET request for getting all connections

```?order={field}``` orders on the passed field

```?search={}``` If search is non empty then a greedy search is performed

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10

```?filter={filter}``` Filter connections with type or sub_type, eg /api/integrations/connections?filter=type%20platform or /api/integrations/connections?filter=sub_type%20management

```?status={status}``` Status takes array as param to filter connections based on status, eg /api/integrations/connections?status=["connected", "deleted"]

```?kind={kind}``` Kind takes array as param to filter connections based on kind, eg /api/integrations/connections?kind=["meshery", "kubernetes"] responses: 200: mesheryConnectionsResponseWrapper

func (*Handler) GetConnectionsByKind added in v0.6.117

func (h *Handler) GetConnectionsByKind(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route GET /api/integrations/connections/{connectionKind} GetConnectionsByKind idGetConnectionsByKind Handle GET request for getting all connections for a given kind.

```?order={field}``` orders on the passed field

```?search={}``` If search is non empty then a greedy search is performed

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10 responses: 200: ConnectionPage

func (*Handler) GetConnectionsOfEnvironmentHandler added in v0.7.3

func (h *Handler) GetConnectionsOfEnvironmentHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route GET /api/environments/{environmentID}/connections EnvironmentAPI idGetConnectionsOfEnvironmentHandler Handle GET for all Connections of Environment

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 20

```?search={environments_name}``` If search is non empty then a greedy search is performed

```?filter={{"assigned": true/false, "deleted_at": true/false}}``` defaults to assigned: false, deleted_at: false

Returns all connections of environment responses:

200: mesheryConnectionsResponseWrapper

func (*Handler) GetConnectionsStatus added in v0.6.113

func (h *Handler) GetConnectionsStatus(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route GET /api/integrations/connections/status GetConnectionsStatus idGetConnectionsStatus Handle GET request for getting all connections status

Get all connections status responses: 200: mesheryConnectionsStatusPage

func (*Handler) GetContext

func (h *Handler) GetContext(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

not being used....

func (*Handler) GetContextsFromK8SConfig

func (h *Handler) GetContextsFromK8SConfig(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

GetContextsFromK8SConfig returns the context list for a given k8s config

func (*Handler) GetDesignsOfWorkspaceHandler added in v0.7.5

func (h *Handler) GetDesignsOfWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route GET /api/workspaces/{id}/designs WorkspacesAPI idGetWorkspaceMesheryDesigns Handles GET for all Meshery Designs in a Workspace

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 20

```?search={name}``` If search is non empty then a greedy search is performed

```?filter={{"assigned": true/false, "deleted_at": true/false}}``` defaults to assigned: false, deleted_at: false responses:

200: mesheryPatternsResponseWrapper

func (*Handler) GetEnvironmentByIDHandler added in v0.6.143

func (h *Handler) GetEnvironmentByIDHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetEnvironments added in v0.6.143

func (h *Handler) GetEnvironments(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetEnvironmentsOfWorkspaceHandler added in v0.7.5

func (h *Handler) GetEnvironmentsOfWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route GET /api/workspaces/{id}/environments WorkspacesAPI idGetWorkspaceEnvironments Handles GET for all Environments in a Workspace

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 20

```?search={name}``` If search is non empty then a greedy search is performed

```?orgID={orgid}``` orgID is used to retrieve workspaces belonging to a particular org *required*

```?filter={{"assigned": true/false, "deleted_at": true/false}}``` defaults to assigned: false, deleted_at: false responses:

200: environmentsResponseWrapper

func (*Handler) GetEventTypes added in v0.6.139

func (h *Handler) GetEventTypes(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

swagger:route GET /api/events/types EventsAPI idGetEventStreamer Handle GET request for available event categories and actions. responses: 200:

func (*Handler) GetMeshSyncResources added in v0.6.163

func (h *Handler) GetMeshSyncResources(rw http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetMeshSyncResourcesKinds added in v0.7.5

func (h *Handler) GetMeshSyncResourcesKinds(rw http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetMesheryApplicationFile added in v0.6.90

func (h *Handler) GetMesheryApplicationFile(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryApplicationFile returns the application file with the given id

func (*Handler) GetMesheryApplicationHandler

func (h *Handler) GetMesheryApplicationHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryApplicationHandler fetched the application with the given id

func (*Handler) GetMesheryApplicationSourceHandler

func (h *Handler) GetMesheryApplicationSourceHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryApplicationHandler fetched the application with the given id

func (*Handler) GetMesheryApplicationTypesHandler

func (h *Handler) GetMesheryApplicationTypesHandler(
	rw http.ResponseWriter,
	_ *http.Request,
	_ *models.Preference,
	_ *models.User,
	_ models.Provider,
)

swagger:route GET /api/application/types ApplicationsAPI typeGetMesheryApplication Handle GET request for Meshery Application types

Get application file types responses:

200: mesheryApplicationTypesResponseWrapper

func (*Handler) GetMesheryApplicationsHandler

func (h *Handler) GetMesheryApplicationsHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

GetMesheryApplicationsHandler returns the list of all the applications saved by the current user

func (*Handler) GetMesheryDesignTypesHandler added in v0.6.169

func (h *Handler) GetMesheryDesignTypesHandler(
	rw http.ResponseWriter,
	_ *http.Request,
	_ *models.Preference,
	_ *models.User,
	_ models.Provider,
)

swagger:route GET /api/pattern/types PatternsAPI typeGetMesheryPatternTypesHandler Handle GET request for Meshery Pattern types

Get pattern file types responses:

200: mesheryApplicationTypesResponseWrapper

func (*Handler) GetMesheryFilterFileHandler

func (h *Handler) GetMesheryFilterFileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/filter/file/{id} FiltersAPI idGetFilterFile Handle GET request for filter file with given id

Returns the Meshery Filter file saved by the current user with the given id responses:

200: mesheryFilterResponseWrapper

func (*Handler) GetMesheryFilterHandler

func (h *Handler) GetMesheryFilterHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryFilterHandler fetched the filter with the given id

func (*Handler) GetMesheryFiltersHandler

func (h *Handler) GetMesheryFiltersHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/filter FiltersAPI idGetFilterFiles Handle GET request for filters

Returns the list of all the filters saved by the current user

```?order={field}``` orders on the passed field

```?search=<filter name>``` A string matching is done on the specified filter name

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10

```?visibility={[visibility]}``` Default visibility is public + private; Mulitple visibility filters can be passed as an array Eg: ```?visibility=["public", "published"]``` will return public and published filters

responses:

200: mesheryFiltersResponseWrapper

func (*Handler) GetMesheryPatternHandler

func (h *Handler) GetMesheryPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryPatternHandler fetched the pattern with the given id

func (*Handler) GetMesheryPatternSourceHandler added in v0.6.169

func (h *Handler) GetMesheryPatternSourceHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetMesheryPatternHandler fetched the design using the given id and sourcetype

func (*Handler) GetMesheryPatternsHandler

func (h *Handler) GetMesheryPatternsHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/pattern PatternsAPI idGetPatternFiles Handle GET request for patterns

Returns the list of all the patterns saved by the current user This will return all the patterns with their details

```?order={field}``` orders on the passed field

```?search=<design name>``` A string matching is done on the specified design name

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 10

```?visibility={[visibility]}``` Default visibility is public + private; Mulitple visibility filters can be passed as an array Eg: ```?visibility=["public", "published"]``` will return public and published designs

responses:

200: mesheryPatternsResponseWrapper

func (*Handler) GetMeshmodelCategories added in v0.6.70

func (h *Handler) GetMeshmodelCategories(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories GetMeshmodelCategories idGetMeshmodelCategories Handle GET request for getting all meshmodel categories

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?search={categoryName}``` If search is non empty then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses:

200: []meshmodelCategoriesResponseWrapper

func (*Handler) GetMeshmodelCategoriesByName added in v0.6.70

func (h *Handler) GetMeshmodelCategoriesByName(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category} GetMeshmodelCategoriesByName idGetMeshmodelCategoriesByName Handle GET request for getting all meshmodel categories of a given name

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?search={true/false}``` If search is true then a greedy search is performed responses:

200: []meshmodelCategoriesResponseWrapper

func (*Handler) GetMeshmodelComponentByCategory added in v0.6.70

func (h *Handler) GetMeshmodelComponentByCategory(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/components GetMeshmodelComponentByCategory idGetMeshmodelComponentByCategory Handle GET request for getting meshmodel components of a specific model and category.

Components can be further filtered through query parameter

```?version={version}```

```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={componentname}``` If search is non empty then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses:

200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelComponentByModel added in v0.6.42

func (h *Handler) GetMeshmodelComponentByModel(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/components GetMeshmodelComponentByModel idGetMeshmodelComponentByModel Handle GET request for getting meshmodel components of a specific model. The component type/model name should be lowercase like "kubernetes", "istio"

Example: ```/api/meshmodels/models/kubernetes/components``` Components can be further filtered through query parameter

```?version={version}```

```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned

```?search={componentname}``` If search is non empty then a greedy search is performed

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses: 200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelComponentByModelByCategory added in v0.6.70

func (h *Handler) GetMeshmodelComponentByModelByCategory(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/models/{model}/components GetMeshmodelComponentByModelByCategory idGetMeshmodelComponentByModelByCategory

Handle GET request for getting meshmodel components of a specific model and category. The component type/model name should be lowercase like "kubernetes", "istio"

Example: ```/api/meshmodels/categories/Orchestration``` and Management/models/kubernetes/components Components can be further filtered through query parameter

```?version={version}```

```?trim={[true]}``` When trim is set to true, the underlying schemas are not returned for entities

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={componentname}``` If search is non empty then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses: 200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelComponentsByNameByCategory added in v0.6.70

func (h *Handler) GetMeshmodelComponentsByNameByCategory(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/components/{name} GetMeshmodelComponentsByNameByCategory idGetMeshmodelComponentsByNameByCategory Handle GET request for getting meshmodel components of a specific type category.

Example: ```/api/meshmodels/categories/Orchestration``` and Management/components/Namespace Components can be further filtered through query parameter

```?model={model}``` If model is unspecified then all models are returned

```?version={version}``` If version is unspecified then all model versions are returned

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned

```?order={field}``` orders on the passed field

```?search={true/false}``` If search is true then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses:

200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelComponentsByNameByModel added in v0.6.70

func (h *Handler) GetMeshmodelComponentsByNameByModel(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/components/{name} GetMeshmodelComponentsByNameByModel idGetMeshmodelComponentsByNameByModel Handle GET request for getting meshmodel components of a specific model.

Example: ```/api/meshmodels/models/kubernetes/components/Namespace``` Components can be further filtered through query parameter

```?version={version}``` If version is unspecified then all model versions are returned

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?search={true/false}``` If search is true then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. returned. responses:

200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelComponentsByNameByModelByCategory added in v0.6.70

func (h *Handler) GetMeshmodelComponentsByNameByModelByCategory(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/models/{model}/components/{name} GetMeshmodelComponentsByNameByModelByCategory idGetMeshmodelComponentsByNameByModelByCategory Handle GET request for getting meshmodel components of a specific type by model and category.

Example: ```/api/meshmodels/categories/Orchestration``` and Management/models/kubernetes/components/Namespace Components can be further filtered through query parameter

```?version={version}``` If version is unspecified then all model versions are returned

```?apiVersion={apiVersion}``` If apiVersion is unspecified then all components are returned

```?order={field}``` orders on the passed field

```?search={true/false}``` If search is true then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all```

```?annotations={["true"/"false"/]}``` If "true" components having "isAnnotation" property as true are "only" returned, If false all components except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation components being returned. responses: 200: []meshmodelComponentsDuplicateResponseWrapper

func (*Handler) GetMeshmodelModels added in v0.6.42

func (h *Handler) GetMeshmodelModels(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models GetMeshmodelModels idGetMeshmodelModels Handle GET request for getting all meshmodel models

Returns a list of registered models across all categories

```?version={version}``` If version is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={modelname}``` If search is non empty then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses: ```?annotations={["true"/"false"/]}``` If "true" models having "isAnnotation" property as true are "only" returned, If false all models except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned.

200: meshmodelModelsDuplicateResponseWrapper

func (*Handler) GetMeshmodelModelsByCategories added in v0.6.70

func (h *Handler) GetMeshmodelModelsByCategories(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/models GetMeshmodelModelsByCategories idGetMeshmodelModelsByCategories

Handle GET request for getting all meshmodel models for a given category. The component type/model name should be lowercase like "kubernetes", "istio"

```?version={version}``` If version is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={modelname}``` If search is non empty then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` ```?annotations={["true"/"false"/]}``` When this query parameter is "true", only models with the "isAnnotation" property set to true are returned. When this query parameter is "false", all models except those considered to be annotation models are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned. responses: ```?annotations={["true"/"false"/]}``` If "true" models having "isAnnotation" property as true are "only" returned, If false all models except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned.

200: []meshmodelModelsDuplicateResponseWrapper

func (*Handler) GetMeshmodelModelsByCategoriesByModel added in v0.6.70

func (h *Handler) GetMeshmodelModelsByCategoriesByModel(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/categories/{category}/models/{model} GetMeshmodelModelsByCategoriesByModel idGetMeshmodelModelsByCategoriesByModel

Handle GET request for getting all meshmodel models for a given category. The component type/model name should be lowercase like "kubernetes", "istio"

```?version={version}``` If version is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={true/false}``` If search is true then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses: ```?annotations={["true"/"false"/]}``` If "true" models having "isAnnotation" property as true are "only" returned, If false all models except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned.

200: []meshmodelModelsDuplicateResponseWrapper

func (*Handler) GetMeshmodelModelsByName added in v0.6.70

func (h *Handler) GetMeshmodelModelsByName(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model} GetMeshmodelModelsByName idGetMeshmodelModelsByName Handle GET request for getting all meshmodel models. The component type/model name should be lowercase like "kubernetes", "istio"

Returns a list of registered models across all categories

```?version={version}``` If version is unspecified then all models are returned

```?order={field}``` orders on the passed field

```?search={true/false}``` If search is true then a greedy search is performed

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses: ```?annotations={["true"/"false"/]}``` If "true" models having "isAnnotation" property as true are "only" returned, If false all models except "annotations" are returned. Any other value of the query parameter results in both annoations as well as non-annotation models being returned.

200: []meshmodelModelsDuplicateResponseWrapper

func (*Handler) GetMeshmodelRegistrants added in v0.6.162

func (h *Handler) GetMeshmodelRegistrants(rw http.ResponseWriter, r *http.Request)

func (*Handler) GetMeshmodelRelationshipByName added in v0.6.42

func (h *Handler) GetMeshmodelRelationshipByName(rw http.ResponseWriter, r *http.Request)

swagger:route GET /api/meshmodels/models/{model}/relationships/{name} GetMeshmodelRelationshipByName idGetMeshmodelRelationshipByName Handle GET request for getting meshmodel relationships of a specific model by name.

Example: ```/api/meshmodels/models/kubernetes/relationships/Edge```

Relationships can be further filtered through query parameter

```?version={version}```

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?search={true/false}``` If search is true then a greedy search is performed

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 25. To return all results: ```pagesize=all``` responses:

200: []meshmodelRelationshipsResponseWrapper

func (*Handler) GetOrganizations added in v0.7.3

func (h *Handler) GetOrganizations(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetPerformanceProfileHandler

func (h *Handler) GetPerformanceProfileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/user/performance/profiles/{id} PerformanceAPI idGetSinglePerformanceProfile Handle GET requests for performance results of a profile

Returns single performance profile with the given id responses:

200: performanceProfileResponseWrapper

GetPerformanceProfileHandler fetched the performance profile with the given id

func (*Handler) GetPerformanceProfilesHandler

func (h *Handler) GetPerformanceProfilesHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetPerformanceProfilesHandler returns the list of all the performance profiles saved by the current user TODO: make sure cert data is not passed along and used only when test are run add a flag to control this

func (*Handler) GetResultHandler

func (h *Handler) GetResultHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, p models.Provider)

GetResultHandler gets an individual result from provider

func (*Handler) GetSMPServiceMeshes

func (h *Handler) GetSMPServiceMeshes(w http.ResponseWriter, _ *http.Request, _ *models.Preference, _ *models.User, _ models.Provider)

GetSMPServiceMeshes handles the available meshes request

func (*Handler) GetScheduleHandler

func (h *Handler) GetScheduleHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

GetScheduleHandler fetches the schedule with the given id

func (*Handler) GetSchedulesHandler

func (h *Handler) GetSchedulesHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

swagger:route GET /api/user/schedules SchedulesAPI idGetSchedules Handle GET request for Schedules

Returns the list of all the schedules saved by the current user

```?order={field}``` orders on the passed field

```?page={page-number}``` Default page number is 0

```?pagesize={pagesize}``` Default pagesize is 10 responses:

200: schedulesResponseWrapper

func (*Handler) GetSystemDatabase added in v0.6.98

func (h *Handler) GetSystemDatabase(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route GET /api/system/database GetSystemDatabase idGetSystemDatabase Handle GET request for getting summary about the system database.

Tables can be further filtered through query parameter

```?order={field}``` orders on the passed field

```?sort={asc/desc}``` Default behavior is asc

```?page={page-number}``` Default page number is 1

```?pagesize={pagesize}``` Default pagesize is 10. To return all results: ```pagesize=all```

```?search={tablename}``` If search is non empty then a greedy search is performed responses:

200: systemDatabaseResponseWrapper

func (*Handler) GetUserByIDHandler added in v0.6.63

func (h *Handler) GetUserByIDHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetUserCredentialByID added in v0.7.11

func (h *Handler) GetUserCredentialByID(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) GetUserCredentials added in v0.6.79

func (h *Handler) GetUserCredentials(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) GetUsers added in v0.6.88

func (h *Handler) GetUsers(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetUsersKeys added in v0.6.124

func (h *Handler) GetUsersKeys(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetWorkspaceByIdHandler added in v0.7.5

func (h *Handler) GetWorkspaceByIdHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GetWorkspacesHandler added in v0.7.5

func (h *Handler) GetWorkspacesHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) GrafanaBoardImportForPrometheusHandler

func (h *Handler) GrafanaBoardImportForPrometheusHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, _ models.Provider)

GrafanaBoardImportForPrometheusHandler accepts a Grafana board json, parses it and returns the list of panels

func (*Handler) GrafanaBoardsHandler

func (h *Handler) GrafanaBoardsHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, p models.Provider)

GrafanaBoardsHandler is used for fetching Grafana boards and panels

func (*Handler) GrafanaConfigHandler

func (h *Handler) GrafanaConfigHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, p models.Provider)

GrafanaConfigHandler is used for fetching or persisting or removing Grafana configuration

func (*Handler) GrafanaPingHandler

func (h *Handler) GrafanaPingHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, p models.Provider)

GrafanaPingHandler - used to initiate a Grafana ping

func (*Handler) GrafanaQueryHandler

func (h *Handler) GrafanaQueryHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, p models.Provider)

GrafanaQueryHandler is used for handling Grafana queries

func (*Handler) GrafanaQueryRangeHandler

func (h *Handler) GrafanaQueryRangeHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

GrafanaQueryRangeHandler is used for handling Grafana Range queries

func (*Handler) GraphqlMiddleware

func (h *Handler) GraphqlMiddleware(next http.Handler) func(http.ResponseWriter, *http.Request, *models.Preference, *models.User, models.Provider)

GraphqlSessionInjectorMiddleware - is a middleware which injects user and session object

func (*Handler) HandleResourceSchemas added in v0.6.124

func (h *Handler) HandleResourceSchemas(rw http.ResponseWriter, r *http.Request)

HandleResourceSchemas handles the request to retrieve and merge resource schemas. swagger:route GET /api/schema/resource/{resourceName} HandleResourceSchemas

Handles the request to retrieve and merge resource JSON schema and UI schema.

Responses:

200
500

func (*Handler) K8SConfigHandler

func (h *Handler) K8SConfigHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

K8SConfigHandler is used for persisting kubernetes config and context info

func (*Handler) K8sFSMMiddleware added in v0.7.7

func (*Handler) K8sRegistrationHandler added in v0.6.108

func (h *Handler) K8sRegistrationHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route POST /api/system/kubernetes/register SystemAPI idPostK8SRegistration Handle registration request for Kubernetes components

Used to register Kubernetes components to Meshery from a kubeconfig file responses:

	202:
 400:
 500:

func (*Handler) KubernetesMiddleware

KubernetesMiddleware is a middleware that is responsible for handling kubernetes related stuff such as setting contexts, component generation etc.

func (*Handler) KubernetesPingHandler

func (h *Handler) KubernetesPingHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

KubernetesPingHandler - fetches server version to simulate ping

func (*Handler) LoadExtensionFromPackage

func (h *Handler) LoadExtensionFromPackage(_ http.ResponseWriter, _ *http.Request, provider models.Provider) error

func (*Handler) LoadTestHandler

func (h *Handler) LoadTestHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

LoadTestHandler runs the load test with the given parameters

func (*Handler) LoadTestUsingSMPHandler

func (h *Handler) LoadTestUsingSMPHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, provider models.Provider)

LoadTestUsingSMPHandler runs the load test with the given parameters and SMP

func (*Handler) LoginHandler

func (h *Handler) LoginHandler(w http.ResponseWriter, r *http.Request, p models.Provider, fromMiddleWare bool)

LoginHandler redirects user for auth or issues session

func (*Handler) LogoutHandler

func (h *Handler) LogoutHandler(w http.ResponseWriter, req *http.Request, p models.Provider)

LogoutHandler destroys the session and redirects to home.

func (*Handler) MeshAdapterConfigHandler

func (h *Handler) MeshAdapterConfigHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

MeshAdapterConfigHandler is used to persist adapter config

func (*Handler) MeshModelGenerationHandler added in v0.6.42

func (h *Handler) MeshModelGenerationHandler(rw http.ResponseWriter, r *http.Request)

request body should be json request body should be of format - {data: [{name: string, register: boolean}]} response format - {data: [{name: string, components: [component], errors: [string] }]}

func (*Handler) MeshOpsHandler

func (h *Handler) MeshOpsHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

MeshOpsHandler is used to send operations to the adapters

func (*Handler) PatternFileHandler

func (h *Handler) PatternFileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

PatternFileHandler handles the requested related to pattern files

func (*Handler) PatternFileRequestHandler

func (h *Handler) PatternFileRequestHandler(
	rw http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

PatternFileRequestHandler will handle requests of both type GET and POST on the route /api/pattern

func (*Handler) ProcessConnectionRegistration added in v0.6.182

func (h *Handler) ProcessConnectionRegistration(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) PrometheusConfigHandler

func (h *Handler) PrometheusConfigHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

PrometheusConfigHandler is used for persisting prometheus configuration

func (*Handler) PrometheusPingHandler

func (h *Handler) PrometheusPingHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, p models.Provider)

PrometheusPingHandler - fetches server version to simulate ping

func (*Handler) PrometheusQueryHandler

func (h *Handler) PrometheusQueryHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, p models.Provider)

PrometheusQueryHandler handles prometheus queries

func (*Handler) PrometheusQueryRangeHandler

func (h *Handler) PrometheusQueryRangeHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

PrometheusQueryRangeHandler handles prometheus range queries

func (*Handler) PrometheusStaticBoardHandler

func (h *Handler) PrometheusStaticBoardHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, _ *models.User, provider models.Provider)

PrometheusStaticBoardHandler returns the static board

func (*Handler) ProviderCapabilityHandler

func (h *Handler) ProviderCapabilityHandler(
	w http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

ProviderCapabilityHandler returns the capabilities.json for the provider

func (*Handler) ProviderComponentsHandler

func (h *Handler) ProviderComponentsHandler(
	w http.ResponseWriter,
	r *http.Request,
	prefObj *models.Preference,
	user *models.User,
	provider models.Provider,
)

ProviderComponentsHandler handlers the requests to serve react components from the provider package

func (*Handler) ProviderHandler

func (h *Handler) ProviderHandler(w http.ResponseWriter, r *http.Request)

ProviderHandler - handles the choice of provider

func (*Handler) ProviderMiddleware

func (h *Handler) ProviderMiddleware(next http.Handler) http.Handler

ProviderMiddleware is a middleware to validate if a provider is set

func (*Handler) ProviderUIHandler

func (h *Handler) ProviderUIHandler(w http.ResponseWriter, r *http.Request)

ProviderUIHandler - serves providers UI

func (*Handler) ProvidersHandler

func (h *Handler) ProvidersHandler(w http.ResponseWriter, _ *http.Request)

ProvidersHandler returns a list of providers

func (*Handler) PublishCatalogFilterHandler added in v0.6.17

func (h *Handler) PublishCatalogFilterHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route POST /api/filter/catalog/publish FiltersAPI idPublishCatalogFilterHandler Handle Publish for a Meshery Filter

Publishes filter to Meshery Catalog by setting visibility to published and setting catalog data responses:

202: noContentWrapper

PublishCatalogFilterHandler set visibility of filter with given id as published

func (*Handler) PublishCatalogPatternHandler added in v0.6.17

func (h *Handler) PublishCatalogPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route POST /api/pattern/catalog/publish PatternsAPI idPublishCatalogPatternHandler Handle Publish for a Meshery Pattern

Publishes pattern to Meshery Catalog by setting visibility to published and setting catalog data responses:

202: noContentWrapper

PublishCatalogPatternHandler sets visibility of pattern with given id as published

func (*Handler) RegisterMeshmodelComponents added in v0.6.23

func (h *Handler) RegisterMeshmodelComponents(rw http.ResponseWriter, r *http.Request)

request body should be json request body should be of ComponentCapability format

func (*Handler) RegisterMeshmodelRelationships added in v0.6.36

func (h *Handler) RegisterMeshmodelRelationships(rw http.ResponseWriter, r *http.Request)

func (*Handler) RemoveConnectionFromEnvironmentHandler added in v0.6.143

func (h *Handler) RemoveConnectionFromEnvironmentHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) RemoveDesignFromWorkspaceHandler added in v0.7.5

func (h *Handler) RemoveDesignFromWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route DELETE /api/workspaces/{id}/designs/{designID} WorkspacesAPI idRemoveMesheryDesignFromWorkspace Handle DELETE request for removing a meshery design from a workspace

Removes a meshery design from a workspace responses: 201: workspaceDesignsMappingResponseWrapper

func (*Handler) RemoveEnvironmentFromWorkspaceHandler added in v0.7.5

func (h *Handler) RemoveEnvironmentFromWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

swagger:route DELETE /api/workspaces/{id}/environments/{environmentID} WorkspacesAPI idRemoveEnvironmentFromWorkspace Handle DELETE request for removing an environment from a workspace

Removes an environment from a workspace responses: 201: workspaceEnvironmentsMappingResponseWrapper

func (*Handler) ResetSystemDatabase added in v0.6.124

func (h *Handler) ResetSystemDatabase(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

Reset the system database to its initial state.

func (*Handler) SaveConnection added in v0.6.91

func (h *Handler) SaveConnection(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route POST /api/integrations/connections PostConnection idPostConnection Handle POST request for creating a new connection

Creates a new connection responses: 201: noContentWrapper

func (*Handler) SaveEnvironment added in v0.6.143

func (h *Handler) SaveEnvironment(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route POST /api/environments PostEnvironment idSaveEnvironment Handle POST request for creating a new environment

Creates a new environment responses: 201: noContentWrapper

func (*Handler) SavePerformanceProfileHandler

func (h *Handler) SavePerformanceProfileHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

SavePerformanceProfileHandler will save performance profile using the current provider's persistence mechanism

func (*Handler) SaveScheduleHandler

func (h *Handler) SaveScheduleHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	_ *models.User,
	provider models.Provider,
)

SaveScheduleHandler will save schedule using the current provider's persistence mechanism

func (*Handler) SaveSelectedGrafanaBoardsHandler

func (h *Handler) SaveSelectedGrafanaBoardsHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, p models.Provider)

SaveSelectedGrafanaBoardsHandler is used to persist board and panel selection

func (*Handler) SaveSelectedPrometheusBoardsHandler

func (h *Handler) SaveSelectedPrometheusBoardsHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

SaveSelectedPrometheusBoardsHandler persists selected board and panels

func (*Handler) SaveUserCredential added in v0.6.79

func (h *Handler) SaveUserCredential(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) SaveWorkspaceHandler added in v0.7.5

func (h *Handler) SaveWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route POST /api/workspaces PostWorkspace idSaveWorkspace Handle POST request for creating a new workspace

Creates a new workspace responses: 201: workspaceResponseWrapper

func (*Handler) ServerVersionHandler

func (h *Handler) ServerVersionHandler(w http.ResponseWriter, _ *http.Request)

ServerVersionHandler handles the version api request for the server

func (*Handler) SessionInjectorMiddleware

func (h *Handler) SessionInjectorMiddleware(next func(http.ResponseWriter, *http.Request, *models.Preference, *models.User, models.Provider)) http.Handler

SessionInjectorMiddleware - is a middleware which injects user and session object

func (*Handler) SessionSyncHandler

func (h *Handler) SessionSyncHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

SessionSyncHandler is used to send session data to the UI for initial sync

func (*Handler) ShareDesignHandler added in v0.6.48

func (h *Handler) ShareDesignHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) ShareFilterHandler added in v0.6.127

func (h *Handler) ShareFilterHandler(w http.ResponseWriter, r *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

func (*Handler) TokenHandler

func (h *Handler) TokenHandler(w http.ResponseWriter, r *http.Request, p models.Provider, fromMiddleWare bool)

TokenHandler Receives token from the actual provider

func (*Handler) UnPublishCatalogFilterHandler added in v0.6.100

func (h *Handler) UnPublishCatalogFilterHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route DELETE /api/filter/catalog/unpublish FiltersAPI idUnPublishCatalogFilterHandler Handle UnPublish for a Meshery Filter

Unpublishes filter from Meshery Catalog by setting visibility to private and removing catalog data from website responses:

200: noContentWrapper

UnPublishCatalogFilterHandler sets visibility of filter with given id as private

func (*Handler) UnPublishCatalogPatternHandler added in v0.6.92

func (h *Handler) UnPublishCatalogPatternHandler(
	rw http.ResponseWriter,
	r *http.Request,
	_ *models.Preference,
	user *models.User,
	provider models.Provider,
)

swagger:route DELETE /api/pattern/catalog/unpublish PatternsAPI idUnPublishCatalogPatternHandler Handle Publish for a Meshery Pattern

Unpublishes pattern from Meshery Catalog by setting visibility to private and removing catalog data from website responses:

200: noContentWrapper

UnPublishCatalogPatternHandler sets visibility of pattern with given id as private

func (*Handler) UpdateConnection added in v0.6.91

func (h *Handler) UpdateConnection(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route PUT /api/integrations/connections/{connectionKind} PutConnection idPutConnection Handle PUT request for updating an existing connection

Updates existing connection responses: 200: noContentWrapper

func (*Handler) UpdateConnectionById added in v0.6.120

func (h *Handler) UpdateConnectionById(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route PUT /api/integrations/connections/{connectionId} PutConnectionById idPutConnectionById Handle PUT request for updating an existing connection by connection ID

Updates existing connection using ID responses: 200: mesheryConnectionResponseWrapper

func (*Handler) UpdateConnectionStatus added in v0.6.176

func (h *Handler) UpdateConnectionStatus(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) UpdateEnvironmentHandler added in v0.6.143

func (h *Handler) UpdateEnvironmentHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route PUT /api/environments/{id} PostEnvironment idUpdateEnvironmentHandler Handle PUT request for updating a environment

Updates a environment responses:

200: environmentResponseWrapper

func (*Handler) UpdateEventStatus added in v0.6.135

func (h *Handler) UpdateEventStatus(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

func (*Handler) UpdateUserCredential added in v0.6.79

func (h *Handler) UpdateUserCredential(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

func (*Handler) UpdateWorkspaceHandler added in v0.7.5

func (h *Handler) UpdateWorkspaceHandler(w http.ResponseWriter, req *http.Request, _ *models.Preference, user *models.User, provider models.Provider)

swagger:route PUT /api/workspaces/{id} PostWorkspace idUpdateWorkspaceHandler Handle PUT request for updating a workspace

Updates a workspace responses:

200: workspaceResponseWrapper

func (*Handler) UserHandler

func (h *Handler) UserHandler(w http.ResponseWriter, _ *http.Request, _ *models.Preference, user *models.User, _ models.Provider)

UserHandler returns info about the logged in user

func (*Handler) UserPrefsHandler

func (h *Handler) UserPrefsHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

UserPrefsHandler updates anonymous stats for user or for persisting load test preferences

func (*Handler) UserTestPreferenceDelete

func (h *Handler) UserTestPreferenceDelete(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

UserTestPreferenceDelete deletes the PerformanceTestConfig object

func (*Handler) UserTestPreferenceGet

func (h *Handler) UserTestPreferenceGet(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

UserTestPreferenceGet gets the PerformanceTestConfig object

func (*Handler) UserTestPreferenceHandler

func (h *Handler) UserTestPreferenceHandler(w http.ResponseWriter, req *http.Request, prefObj *models.Preference, user *models.User, provider models.Provider)

UserTestPreferenceHandler is used for persisting load test preferences

func (*Handler) UserTestPreferenceStore

func (h *Handler) UserTestPreferenceStore(w http.ResponseWriter, req *http.Request, _ *models.Preference, _ *models.User, provider models.Provider)

UserTestPreferenceStore is used for persisting load test preferences

func (*Handler) ValidationHandler

func (h *Handler) ValidationHandler(rw http.ResponseWriter, r *http.Request)

request body should be json request body should be of format - {validationItems: {[id]:{schema: string, value: string, valueType: "JSON"|"YAML"|"CUE"}}} response format - {[id]: {isValid: bool, error: string}}

type IDParameterWrapper

type IDParameterWrapper struct {
	// id for a specific
	// in: path
	// required: true
	ID strfmt.UUID `json:"id"`
}

swagger:parameters idGetMesheryPattern idDeleteMesheryPattern idGetSinglePerformanceProfile idDeletePerformanceProfile idGETProfileResults idDeleteSchedules idGetSingleSchedule idDeleteMesheryApplicationFile idGetMesheryApplication idDeleteMesheryFilter idGetMesheryFilter

type MesheryApplicationRequestBody

type MesheryApplicationRequestBody struct {
	URL             string                     `json:"url,omitempty"`
	Path            string                     `json:"path,omitempty"`
	Save            bool                       `json:"save,omitempty"`
	ApplicationData *models.MesheryApplication `json:"application_data,omitempty"`
	CytoscapeJSON   string                     `json:"cytoscape_json,omitempty"`
	Name            string                     `json:"name,omitempty"`
}

MesheryApplicationRequestBody refers to the type of request body that SaveMesheryApplication would receive

type MesheryPatternPOSTRequestBody added in v0.7.11

type MesheryPatternPOSTRequestBody struct {
	Name          string                 `json:"name,omitempty"`
	URL           string                 `json:"url,omitempty"`
	Path          string                 `json:"path,omitempty"`
	Save          bool                   `json:"save,omitempty"`
	PatternData   *mesheryPatternPayload `json:"pattern_data,omitempty"`
	CytoscapeJSON string                 `json:"cytoscape_json,omitempty"`
}

MesheryPatternRequestBody refers to the type of request body that SaveMesheryPattern would receive

type MesheryPatternUPDATERequestBody added in v0.7.11

type MesheryPatternUPDATERequestBody struct {
	Name          string                 `json:"name,omitempty"`
	URL           string                 `json:"url,omitempty"`
	Path          string                 `json:"path,omitempty"`
	Save          bool                   `json:"save,omitempty"`
	PatternData   *models.MesheryPattern `json:"pattern_data,omitempty"`
	CytoscapeJSON string                 `json:"cytoscape_json,omitempty"`
}

type SMPMeshes

type SMPMeshes struct {
	AvailableMeshes []string `json:"available_meshes,omitempty"`
}

SMPMeshes defines the JSON payload structure for available meshes api

type SaveK8sContextResponse

type SaveK8sContextResponse struct {
	RegisteredContexts []models.K8sContext `json:"registered_contexts"`
	ConnectedContexts  []models.K8sContext `json:"connected_contexts"`
	IgnoredContexts    []models.K8sContext `json:"ignored_contexts"`
	ErroredContexts    []models.K8sContext `json:"errored_contexts"`
}

SaveK8sContextResponse - struct used as (json marshaled) response to requests for saving k8s contexts

type SessionSyncData

type SessionSyncData struct {
	*models.Preference `json:",inline"`
	K8sConfigs         []SessionSyncDataK8sConfig `json:"k8sConfig,omitempty"`
}

type SessionSyncDataK8sConfig

type SessionSyncDataK8sConfig struct {
	ContextID         string     `json:"id,omitempty"`
	ContextName       string     `json:"name,omitempty"`
	ClusterConfigured bool       `json:"clusterConfigured,omitempty"`
	ConfiguredServer  string     `json:"server,omitempty"`
	ClusterID         string     `json:"clusterID,omitempty"`
	CreatedAt         *time.Time `json:"created_at,omitempty"`
	UpdatedAt         *time.Time `json:"updated_at,omitempty"`
}

type UUIDParamsWrapper

type UUIDParamsWrapper struct {
	// in: query
	UUID strfmt.UUID `json:"uuid"`
}

Parameter swagger:parameters idDeleteLoadPreferences idGetLoadPreferences

type Version

type Version struct {
	Build          string `json:"build,omitempty"`
	Latest         string `json:"latest,omitempty"`
	Outdated       *bool  `json:"outdated,omitempty"`
	CommitSHA      string `json:"commitsha,omitempty"`
	ReleaseChannel string `json:"release_channel,omitempty"`
}

Version defines the Json payload structure for version api\

Jump to

Keyboard shortcuts

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