From 60e0a3b922c2294eeb80fb00c954999858ee97c0 Mon Sep 17 00:00:00 2001 From: RazenaSaleem Date: Sun, 9 Jun 2024 19:00:43 +0530 Subject: [PATCH 1/6] fix: env variable rename Signed-off-by: RazenaSaleem --- server/app/app.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/app/app.go b/server/app/app.go index 585c022..d841826 100644 --- a/server/app/app.go +++ b/server/app/app.go @@ -356,8 +356,8 @@ func (app *App) Start(opts ...appOption) error { registerTestRunner(testRunnerRepo, apiRouter, provisioner, tracer) registerTestResource(testRepo, apiRouter, provisioner, tracer) - isQualitytraceDev := os.Getenv("QUALITYTRACE_DEV") != "" - registerSPAHandler(router, app.cfg, configFromDB.IsAnalyticsEnabled(), serverID, isQualitytraceDev) + isTracetestDev := os.Getenv("TRACETEST_DEV") != "" + registerSPAHandler(router, app.cfg, configFromDB.IsAnalyticsEnabled(), serverID, isTracetestDev) if isNewInstall { provision(provisioner, app.provisioningFile) @@ -379,7 +379,7 @@ func (app *App) Start(opts ...appOption) error { return nil } -func registerSPAHandler(router *mux.Router, cfg httpServerConfig, analyticsEnabled bool, serverID string, isQualitytraceDev bool) { +func registerSPAHandler(router *mux.Router, cfg httpServerConfig, analyticsEnabled bool, serverID string, isTracetestDev bool) { router. PathPrefix(cfg.ServerPathPrefix()). Handler( @@ -389,7 +389,7 @@ func registerSPAHandler(router *mux.Router, cfg httpServerConfig, analyticsEnabl serverID, version.Version, version.Env, - isQualitytraceDev, + isTracetestDev, ), ) } From 1e95459313b9c4ad841a5f014710c5d6d6a5da95 Mon Sep 17 00:00:00 2001 From: RazenaSaleem Date: Wed, 12 Jun 2024 20:29:38 +0530 Subject: [PATCH 2/6] feat: endpoint for health probes Signed-off-by: RazenaSaleem --- api/openapi.yaml | 25 ++++ charts/qualitytrace/templates/deployment.yaml | 16 +-- cli/openapi/api_default.go | 130 ++++++++++++++++++ cli/openapi/client.go | 3 + .../model__healthz_get_200_response.go | 124 +++++++++++++++++ .../model__healthz_get_500_response.go | 124 +++++++++++++++++ docker-compose.yaml | 2 +- server/app/app.go | 9 ++ server/app/test_pipeline.go | 2 +- server/executor/poller_executor_test.go | 10 +- server/openapi/api.go | 15 ++ server/openapi/api_default.go | 73 ++++++++++ server/openapi/api_default_service.go | 45 ++++++ .../model__healthz_get_200_response.go | 31 +++++ .../model__healthz_get_500_response.go | 31 +++++ server/test/test_repository.go | 2 +- server/testsuite/testsuite_run_repository.go | 4 +- 17 files changed, 628 insertions(+), 18 deletions(-) create mode 100644 cli/openapi/api_default.go create mode 100644 cli/openapi/model__healthz_get_200_response.go create mode 100644 cli/openapi/model__healthz_get_500_response.go create mode 100644 server/openapi/api_default.go create mode 100644 server/openapi/api_default_service.go create mode 100644 server/openapi/model__healthz_get_200_response.go create mode 100644 server/openapi/model__healthz_get_500_response.go diff --git a/api/openapi.yaml b/api/openapi.yaml index c414643..fe7456f 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -6,6 +6,31 @@ info: servers: - url: /api paths: + # Health + /healthz: + get: + summary: Health Check + responses: + '200': + description: Service is healthy + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: "ok" + '500': + description: Service is unhealthy + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: "unhealthy" # TestSuites /testsuites: get: diff --git a/charts/qualitytrace/templates/deployment.yaml b/charts/qualitytrace/templates/deployment.yaml index a0d07ac..d089a02 100644 --- a/charts/qualitytrace/templates/deployment.yaml +++ b/charts/qualitytrace/templates/deployment.yaml @@ -68,14 +68,14 @@ spec: - name: otlp-http containerPort: {{ .Values.server.otlpHttpPort }} protocol: TCP - # livenessProbe: - # httpGet: - # path: {{ include "qualitytrace.pathPrefix" . }} - # port: http - # readinessProbe: - # httpGet: - # path: {{ include "qualitytrace.pathPrefix" . }} - # port: http + livenessProbe: + httpGet: + path: {{ include "qualitytrace.pathPrefix" . }}/healthz + port: http + readinessProbe: + httpGet: + path: {{ include "qualitytrace.pathPrefix" . }}/healthz + port: http resources: {{- toYaml .Values.resources | nindent 12 }} volumeMounts: diff --git a/cli/openapi/api_default.go b/cli/openapi/api_default.go new file mode 100644 index 0000000..f50cee9 --- /dev/null +++ b/cli/openapi/api_default.go @@ -0,0 +1,130 @@ +/* +TraceTest + +OpenAPI definition for TraceTest endpoint and resources + +API version: 0.2.1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "bytes" + "context" + "io/ioutil" + "net/http" + "net/url" +) + +// DefaultApiService DefaultApi service +type DefaultApiService service + +type ApiHealthzGetRequest struct { + ctx context.Context + ApiService *DefaultApiService +} + +func (r ApiHealthzGetRequest) Execute() (*HealthzGet200Response, *http.Response, error) { + return r.ApiService.HealthzGetExecute(r) +} + +/* +HealthzGet Health Check + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @return ApiHealthzGetRequest +*/ +func (a *DefaultApiService) HealthzGet(ctx context.Context) ApiHealthzGetRequest { + return ApiHealthzGetRequest{ + ApiService: a, + ctx: ctx, + } +} + +// Execute executes the request +// +// @return HealthzGet200Response +func (a *DefaultApiService) HealthzGetExecute(r ApiHealthzGetRequest) (*HealthzGet200Response, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *HealthzGet200Response + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.HealthzGet") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/healthz" + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = ioutil.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 500 { + var v HealthzGet500Response + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHTTPResponse, newErr + } + newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.model = v + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} diff --git a/cli/openapi/client.go b/cli/openapi/client.go index f9a3836..1fdeeab 100644 --- a/cli/openapi/client.go +++ b/cli/openapi/client.go @@ -51,6 +51,8 @@ type APIClient struct { ApiApi *ApiApiService + DefaultApi *DefaultApiService + ResourceApiApi *ResourceApiApiService } @@ -71,6 +73,7 @@ func NewAPIClient(cfg *Configuration) *APIClient { // API Services c.ApiApi = (*ApiApiService)(&c.common) + c.DefaultApi = (*DefaultApiService)(&c.common) c.ResourceApiApi = (*ResourceApiApiService)(&c.common) return c diff --git a/cli/openapi/model__healthz_get_200_response.go b/cli/openapi/model__healthz_get_200_response.go new file mode 100644 index 0000000..358c5e5 --- /dev/null +++ b/cli/openapi/model__healthz_get_200_response.go @@ -0,0 +1,124 @@ +/* +TraceTest + +OpenAPI definition for TraceTest endpoint and resources + +API version: 0.2.1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "encoding/json" +) + +// checks if the HealthzGet200Response type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &HealthzGet200Response{} + +// HealthzGet200Response struct for HealthzGet200Response +type HealthzGet200Response struct { + Status *string `json:"status,omitempty"` +} + +// NewHealthzGet200Response instantiates a new HealthzGet200Response object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewHealthzGet200Response() *HealthzGet200Response { + this := HealthzGet200Response{} + return &this +} + +// NewHealthzGet200ResponseWithDefaults instantiates a new HealthzGet200Response object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewHealthzGet200ResponseWithDefaults() *HealthzGet200Response { + this := HealthzGet200Response{} + return &this +} + +// GetStatus returns the Status field value if set, zero value otherwise. +func (o *HealthzGet200Response) GetStatus() string { + if o == nil || isNil(o.Status) { + var ret string + return ret + } + return *o.Status +} + +// GetStatusOk returns a tuple with the Status field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *HealthzGet200Response) GetStatusOk() (*string, bool) { + if o == nil || isNil(o.Status) { + return nil, false + } + return o.Status, true +} + +// HasStatus returns a boolean if a field has been set. +func (o *HealthzGet200Response) HasStatus() bool { + if o != nil && !isNil(o.Status) { + return true + } + + return false +} + +// SetStatus gets a reference to the given string and assigns it to the Status field. +func (o *HealthzGet200Response) SetStatus(v string) { + o.Status = &v +} + +func (o HealthzGet200Response) MarshalJSON() ([]byte, error) { + toSerialize, err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o HealthzGet200Response) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !isNil(o.Status) { + toSerialize["status"] = o.Status + } + return toSerialize, nil +} + +type NullableHealthzGet200Response struct { + value *HealthzGet200Response + isSet bool +} + +func (v NullableHealthzGet200Response) Get() *HealthzGet200Response { + return v.value +} + +func (v *NullableHealthzGet200Response) Set(val *HealthzGet200Response) { + v.value = val + v.isSet = true +} + +func (v NullableHealthzGet200Response) IsSet() bool { + return v.isSet +} + +func (v *NullableHealthzGet200Response) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableHealthzGet200Response(val *HealthzGet200Response) *NullableHealthzGet200Response { + return &NullableHealthzGet200Response{value: val, isSet: true} +} + +func (v NullableHealthzGet200Response) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableHealthzGet200Response) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/cli/openapi/model__healthz_get_500_response.go b/cli/openapi/model__healthz_get_500_response.go new file mode 100644 index 0000000..3eac63b --- /dev/null +++ b/cli/openapi/model__healthz_get_500_response.go @@ -0,0 +1,124 @@ +/* +TraceTest + +OpenAPI definition for TraceTest endpoint and resources + +API version: 0.2.1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package openapi + +import ( + "encoding/json" +) + +// checks if the HealthzGet500Response type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &HealthzGet500Response{} + +// HealthzGet500Response struct for HealthzGet500Response +type HealthzGet500Response struct { + Status *string `json:"status,omitempty"` +} + +// NewHealthzGet500Response instantiates a new HealthzGet500Response object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewHealthzGet500Response() *HealthzGet500Response { + this := HealthzGet500Response{} + return &this +} + +// NewHealthzGet500ResponseWithDefaults instantiates a new HealthzGet500Response object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewHealthzGet500ResponseWithDefaults() *HealthzGet500Response { + this := HealthzGet500Response{} + return &this +} + +// GetStatus returns the Status field value if set, zero value otherwise. +func (o *HealthzGet500Response) GetStatus() string { + if o == nil || isNil(o.Status) { + var ret string + return ret + } + return *o.Status +} + +// GetStatusOk returns a tuple with the Status field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *HealthzGet500Response) GetStatusOk() (*string, bool) { + if o == nil || isNil(o.Status) { + return nil, false + } + return o.Status, true +} + +// HasStatus returns a boolean if a field has been set. +func (o *HealthzGet500Response) HasStatus() bool { + if o != nil && !isNil(o.Status) { + return true + } + + return false +} + +// SetStatus gets a reference to the given string and assigns it to the Status field. +func (o *HealthzGet500Response) SetStatus(v string) { + o.Status = &v +} + +func (o HealthzGet500Response) MarshalJSON() ([]byte, error) { + toSerialize, err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o HealthzGet500Response) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !isNil(o.Status) { + toSerialize["status"] = o.Status + } + return toSerialize, nil +} + +type NullableHealthzGet500Response struct { + value *HealthzGet500Response + isSet bool +} + +func (v NullableHealthzGet500Response) Get() *HealthzGet500Response { + return v.value +} + +func (v *NullableHealthzGet500Response) Set(val *HealthzGet500Response) { + v.value = val + v.isSet = true +} + +func (v NullableHealthzGet500Response) IsSet() bool { + return v.isSet +} + +func (v *NullableHealthzGet500Response) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableHealthzGet500Response(val *HealthzGet500Response) *NullableHealthzGet500Response { + return &NullableHealthzGet500Response{value: val, isSet: true} +} + +func (v NullableHealthzGet500Response) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableHealthzGet500Response) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/docker-compose.yaml b/docker-compose.yaml index 228c96b..7b7cd54 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -18,7 +18,7 @@ services: - 11633:11633 command: --provisioning-file /app/provisioning.yaml healthcheck: - test: ["CMD", "wget", "--spider", "localhost:11633"] + test: ["CMD", "wget", "--spider", "localhost:11633/healthz"] interval: 1s timeout: 3s retries: 60 diff --git a/server/app/app.go b/server/app/app.go index d841826..057f600 100644 --- a/server/app/app.go +++ b/server/app/app.go @@ -7,6 +7,7 @@ import ( "log" "net/http" "os" + "encoding/json" "github.com/gorilla/handlers" "github.com/gorilla/mux" @@ -551,6 +552,12 @@ func registerWSHandler(router *mux.Router, mappers mappings.Mappings, subscripti router.Handle("/ws", wsRouter.Handler()) } +func healthCheckHandler(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + response := map[string]string{"status": "ok"} + json.NewEncoder(w).Encode(response) +} + func controller( cfg httpServerConfig, @@ -596,6 +603,8 @@ func controller( mappers, )) + // Register the /healthz endpoint + router.HandleFunc("/healthz", healthCheckHandler).Methods("GET") return router, mappers } diff --git a/server/app/test_pipeline.go b/server/app/test_pipeline.go index 449584e..fb59959 100644 --- a/server/app/test_pipeline.go +++ b/server/app/test_pipeline.go @@ -1,7 +1,6 @@ package app import ( - "github.com/jackc/pgx/v5/pgxpool" "github.com/intelops/qualitytrace/agent/tracedb" "github.com/intelops/qualitytrace/server/config" "github.com/intelops/qualitytrace/server/datastore" @@ -16,6 +15,7 @@ import ( "github.com/intelops/qualitytrace/server/subscription" "github.com/intelops/qualitytrace/server/test" "github.com/intelops/qualitytrace/server/testconnection" + "github.com/jackc/pgx/v5/pgxpool" "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/trace" ) diff --git a/server/executor/poller_executor_test.go b/server/executor/poller_executor_test.go index e62d8b0..6ac15ef 100644 --- a/server/executor/poller_executor_test.go +++ b/server/executor/poller_executor_test.go @@ -152,7 +152,7 @@ func Test_PollerExecutor_ExecuteRequest_NoRootSpan_TwoSpansCase(t *testing.T) { StartTime: firstSpan.EndTime, EndTime: firstSpan.EndTime.Add(retryDelay), Attributes: traces.NewAttributes(map[string]string{ - "testSpan": "true", + "testSpan": "true", traces.QualitytraceMetadataFieldParentID: firstSpan.ID.String(), }), Children: []*traces.Span{}, @@ -268,7 +268,7 @@ func Test_PollerExecutor_ExecuteRequest_WithRootSpan_OneSpanCase(t *testing.T) { StartTime: time.Now(), EndTime: time.Now().Add(retryDelay), Attributes: traces.NewAttributes(map[string]string{ - "testSpan": "true", + "testSpan": "true", traces.QualitytraceMetadataFieldParentID: rootSpanID.String(), }), Children: []*traces.Span{}, @@ -329,7 +329,7 @@ func Test_PollerExecutor_ExecuteRequest_WithRootSpan_OneDelayedSpanCase(t *testi StartTime: time.Now(), EndTime: time.Now().Add(retryDelay), Attributes: traces.NewAttributes(map[string]string{ - "testSpan": "true", + "testSpan": "true", traces.QualitytraceMetadataFieldParentID: rootSpan.ID.String(), }), Children: []*traces.Span{}, @@ -398,7 +398,7 @@ func Test_PollerExecutor_ExecuteRequest_WithRootSpan_TwoSpansCase(t *testing.T) StartTime: time.Now(), EndTime: time.Now().Add(retryDelay), Attributes: traces.NewAttributes(map[string]string{ - "testSpan": "true", + "testSpan": "true", traces.QualitytraceMetadataFieldParentID: rootSpan.ID.String(), }), Children: []*traces.Span{}, @@ -410,7 +410,7 @@ func Test_PollerExecutor_ExecuteRequest_WithRootSpan_TwoSpansCase(t *testing.T) StartTime: firstSpan.EndTime, EndTime: firstSpan.EndTime.Add(retryDelay), Attributes: traces.NewAttributes(map[string]string{ - "testSpan": "true", + "testSpan": "true", traces.QualitytraceMetadataFieldParentID: firstSpan.ID.String(), }), Children: []*traces.Span{}, diff --git a/server/openapi/api.go b/server/openapi/api.go index 5a58865..d525224 100644 --- a/server/openapi/api.go +++ b/server/openapi/api.go @@ -54,6 +54,13 @@ type ApiApiRouter interface { UpdateWizard(http.ResponseWriter, *http.Request) } +// DefaultApiRouter defines the required methods for binding the api requests to a responses for the DefaultApi +// The DefaultApiRouter implementation should parse necessary information from the http request, +// pass the data to a DefaultApiServicer to perform the required actions, then write the service results to the http response. +type DefaultApiRouter interface { + HealthzGet(http.ResponseWriter, *http.Request) +} + // ResourceApiApiRouter defines the required methods for binding the api requests to a responses for the ResourceApiApi // The ResourceApiApiRouter implementation should parse necessary information from the http request, // pass the data to a ResourceApiApiServicer to perform the required actions, then write the service results to the http response. @@ -136,6 +143,14 @@ type ApiApiServicer interface { UpdateWizard(context.Context, Wizard) (ImplResponse, error) } +// DefaultApiServicer defines the api actions for the DefaultApi service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can be ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type DefaultApiServicer interface { + HealthzGet(context.Context) (ImplResponse, error) +} + // ResourceApiApiServicer defines the api actions for the ResourceApiApi service // This interface intended to stay up to date with the openapi yaml used to generate it, // while the service implementation can be ignored with the .openapi-generator-ignore file diff --git a/server/openapi/api_default.go b/server/openapi/api_default.go new file mode 100644 index 0000000..eb3827c --- /dev/null +++ b/server/openapi/api_default.go @@ -0,0 +1,73 @@ +/* + * TraceTest + * + * OpenAPI definition for TraceTest endpoint and resources + * + * API version: 0.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package openapi + +import ( + // "encoding/json" + "net/http" + "strings" + + // "github.com/gorilla/mux" +) + +// DefaultApiController binds http requests to an api service and writes the service results to the http response +type DefaultApiController struct { + service DefaultApiServicer + errorHandler ErrorHandler +} + +// DefaultApiOption for how the controller is set up. +type DefaultApiOption func(*DefaultApiController) + +// WithDefaultApiErrorHandler inject ErrorHandler into controller +func WithDefaultApiErrorHandler(h ErrorHandler) DefaultApiOption { + return func(c *DefaultApiController) { + c.errorHandler = h + } +} + +// NewDefaultApiController creates a default api controller +func NewDefaultApiController(s DefaultApiServicer, opts ...DefaultApiOption) Router { + controller := &DefaultApiController{ + service: s, + errorHandler: DefaultErrorHandler, + } + + for _, opt := range opts { + opt(controller) + } + + return controller +} + +// Routes returns all the api routes for the DefaultApiController +func (c *DefaultApiController) Routes() Routes { + return Routes{ + { + "HealthzGet", + strings.ToUpper("Get"), + "/api/healthz", + c.HealthzGet, + }, + } +} + +// HealthzGet - Health Check +func (c *DefaultApiController) HealthzGet(w http.ResponseWriter, r *http.Request) { + result, err := c.service.HealthzGet(r.Context()) + // If an error occurred, encode the error with the status code + if err != nil { + c.errorHandler(w, r, err, &result) + return + } + // If no error, encode the body and the result code + EncodeJSONResponse(result.Body, &result.Code, w) + +} diff --git a/server/openapi/api_default_service.go b/server/openapi/api_default_service.go new file mode 100644 index 0000000..9c60a7c --- /dev/null +++ b/server/openapi/api_default_service.go @@ -0,0 +1,45 @@ +/* + * TraceTest + * + * OpenAPI definition for TraceTest endpoint and resources + * + * API version: 0.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package openapi + +import ( + "context" + "encoding/json" + "net/http" +) + +// DefaultApiService is a service that implements the logic for the DefaultApiServicer +// This service should implement the business logic for every endpoint for the DefaultApi API. +// Include any external packages or services that will be required by this service. +type DefaultApiService struct { +} + +// NewDefaultApiService creates a default api service +func NewDefaultApiService() DefaultApiServicer { + return &DefaultApiService{} +} + +// HealthzGet - Health Check +func (s *DefaultApiService) HealthzGet(ctx context.Context) (ImplResponse, error) { + healthStatus := HealthzGet200Response{ + Status: "ok", + } + + responseBody, err := json.Marshal(healthStatus) + if err != nil { + errorStatus := HealthzGet500Response{ + Status: "error", + } + errorBody, _ := json.Marshal(errorStatus) + return Response(http.StatusInternalServerError, errorBody), err + } + + return Response(http.StatusOK, responseBody), nil +} \ No newline at end of file diff --git a/server/openapi/model__healthz_get_200_response.go b/server/openapi/model__healthz_get_200_response.go new file mode 100644 index 0000000..ce42a3b --- /dev/null +++ b/server/openapi/model__healthz_get_200_response.go @@ -0,0 +1,31 @@ +/* + * TraceTest + * + * OpenAPI definition for TraceTest endpoint and resources + * + * API version: 0.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package openapi + +type HealthzGet200Response struct { + Status string `json:"status,omitempty"` +} + +// AssertHealthzGet200ResponseRequired checks if the required fields are not zero-ed +func AssertHealthzGet200ResponseRequired(obj HealthzGet200Response) error { + return nil +} + +// AssertRecurseHealthzGet200ResponseRequired recursively checks if required fields are not zero-ed in a nested slice. +// Accepts only nested slice of HealthzGet200Response (e.g. [][]HealthzGet200Response), otherwise ErrTypeAssertionError is thrown. +func AssertRecurseHealthzGet200ResponseRequired(objSlice interface{}) error { + return AssertRecurseInterfaceRequired(objSlice, func(obj interface{}) error { + aHealthzGet200Response, ok := obj.(HealthzGet200Response) + if !ok { + return ErrTypeAssertionError + } + return AssertHealthzGet200ResponseRequired(aHealthzGet200Response) + }) +} diff --git a/server/openapi/model__healthz_get_500_response.go b/server/openapi/model__healthz_get_500_response.go new file mode 100644 index 0000000..8d4219d --- /dev/null +++ b/server/openapi/model__healthz_get_500_response.go @@ -0,0 +1,31 @@ +/* + * TraceTest + * + * OpenAPI definition for TraceTest endpoint and resources + * + * API version: 0.2.1 + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ + +package openapi + +type HealthzGet500Response struct { + Status string `json:"status,omitempty"` +} + +// AssertHealthzGet500ResponseRequired checks if the required fields are not zero-ed +func AssertHealthzGet500ResponseRequired(obj HealthzGet500Response) error { + return nil +} + +// AssertRecurseHealthzGet500ResponseRequired recursively checks if required fields are not zero-ed in a nested slice. +// Accepts only nested slice of HealthzGet500Response (e.g. [][]HealthzGet500Response), otherwise ErrTypeAssertionError is thrown. +func AssertRecurseHealthzGet500ResponseRequired(objSlice interface{}) error { + return AssertRecurseInterfaceRequired(objSlice, func(obj interface{}) error { + aHealthzGet500Response, ok := obj.(HealthzGet500Response) + if !ok { + return ErrTypeAssertionError + } + return AssertHealthzGet500ResponseRequired(aHealthzGet500Response) + }) +} diff --git a/server/test/test_repository.go b/server/test/test_repository.go index 6eef984..9f219c2 100644 --- a/server/test/test_repository.go +++ b/server/test/test_repository.go @@ -208,7 +208,7 @@ func (r *repository) GetTestSuiteSteps(ctx context.Context, id id.ID, version in sortQuery := ` ORDER BY ts.step_number ASC` query, params := sqlutil.TenantWithPrefix(ctx, getTestSQL+testMaxVersionQuery+` INNER JOIN test_suite_steps ts ON t.id = ts.test_id WHERE ts.test_suite_id = $1 AND ts.test_suite_version = $2`, "t.", id, version) - stmt, err := r.db.Prepare(query + " "+sortQuery) + stmt, err := r.db.Prepare(query + " " + sortQuery) if err != nil { return []Test{}, fmt.Errorf("prepare 2: %w", err) } diff --git a/server/testsuite/testsuite_run_repository.go b/server/testsuite/testsuite_run_repository.go index 2ea4280..9e17026 100644 --- a/server/testsuite/testsuite_run_repository.go +++ b/server/testsuite/testsuite_run_repository.go @@ -340,7 +340,7 @@ func (td *RunRepository) GetTestSuiteRun(ctx context.Context, ID id.ID, runID in func (td *RunRepository) GetLatestRunByTestSuiteVersion(ctx context.Context, ID id.ID, version int) (TestSuiteRun, error) { sortQuery := " ORDER BY created_at DESC LIMIT 1" query, params := sqlutil.Tenant(ctx, selectTestSuiteRunQuery+" WHERE test_suite_id = $1 AND test_suite_version = $2", ID, version) - stmt, err := td.db.Prepare(query +" "+sortQuery) + stmt, err := td.db.Prepare(query + " " + sortQuery) if err != nil { return TestSuiteRun{}, fmt.Errorf("prepare: %w", err) } @@ -359,7 +359,7 @@ func (td *RunRepository) GetLatestRunByTestSuiteVersion(ctx context.Context, ID func (td *RunRepository) GetTestSuiteRuns(ctx context.Context, ID id.ID, take, skip int32) ([]TestSuiteRun, error) { sortQuery := " ORDER BY created_at DESC LIMIT $2 OFFSET $3" query, params := sqlutil.Tenant(ctx, selectTestSuiteRunQuery+" WHERE test_suite_id = $1", ID.String(), take, skip) - stmt, err := td.db.Prepare(query +" "+ sortQuery) + stmt, err := td.db.Prepare(query + " " + sortQuery) if err != nil { return []TestSuiteRun{}, fmt.Errorf("prepare: %w", err) } From 0139080d0d61792da1c277519d84171dda7cf03e Mon Sep 17 00:00:00 2001 From: RazenaSaleem Date: Wed, 12 Jun 2024 20:36:26 +0530 Subject: [PATCH 3/6] feat: endpoint for health probes Signed-off-by: RazenaSaleem --- charts/qualitytrace/Chart.lock | 6 ++++++ charts/qualitytrace/charts/postgresql-1.0.3.tgz | Bin 0 -> 78409 bytes charts/qualitytrace/templates/deployment.yaml | 4 ++-- charts/qualitytrace/values.yaml | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 charts/qualitytrace/Chart.lock create mode 100644 charts/qualitytrace/charts/postgresql-1.0.3.tgz diff --git a/charts/qualitytrace/Chart.lock b/charts/qualitytrace/Chart.lock new file mode 100644 index 0000000..022c70a --- /dev/null +++ b/charts/qualitytrace/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: postgresql + repository: https://kube-tarian.github.io/helmrepo-supporting-tools/ + version: 1.0.3 +digest: sha256:1bf22f2f3d29a7d5103153d28cc97d6e0cbd3102242750d1fc03334ebdbb190c +generated: "2024-06-12T20:34:20.277359575+05:30" diff --git a/charts/qualitytrace/charts/postgresql-1.0.3.tgz b/charts/qualitytrace/charts/postgresql-1.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..2d94092ea00dd711d611ed3f957f6a4f42b08ad6 GIT binary patch literal 78409 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ⅈ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 V2mX}@0RaI5gWn~YK$4+B{trF$w1xlx literal 0 HcmV?d00001 diff --git a/charts/qualitytrace/templates/deployment.yaml b/charts/qualitytrace/templates/deployment.yaml index d089a02..ff3ada7 100644 --- a/charts/qualitytrace/templates/deployment.yaml +++ b/charts/qualitytrace/templates/deployment.yaml @@ -70,11 +70,11 @@ spec: protocol: TCP livenessProbe: httpGet: - path: {{ include "qualitytrace.pathPrefix" . }}/healthz + path: {{ include "qualitytrace.pathPrefix" . }}healthz port: http readinessProbe: httpGet: - path: {{ include "qualitytrace.pathPrefix" . }}/healthz + path: {{ include "qualitytrace.pathPrefix" . }}healthz port: http resources: {{- toYaml .Values.resources | nindent 12 }} diff --git a/charts/qualitytrace/values.yaml b/charts/qualitytrace/values.yaml index 19b228d..36fbdb1 100644 --- a/charts/qualitytrace/values.yaml +++ b/charts/qualitytrace/values.yaml @@ -111,7 +111,7 @@ image: repository: ghcr.io/intelops/qualitytrace pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: latest + tag: pr-18 env: qualitytraceDev: "" From 59fede86ea362a2ad72c596018dc0751b8565371 Mon Sep 17 00:00:00 2001 From: razenasaleem <143310055+RazenaSaleem@users.noreply.github.com> Date: Wed, 12 Jun 2024 21:20:10 +0530 Subject: [PATCH 4/6] Delete charts/qualitytrace/Chart.lock Signed-off-by: razenasaleem <143310055+RazenaSaleem@users.noreply.github.com> --- charts/qualitytrace/Chart.lock | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 charts/qualitytrace/Chart.lock diff --git a/charts/qualitytrace/Chart.lock b/charts/qualitytrace/Chart.lock deleted file mode 100644 index 022c70a..0000000 --- a/charts/qualitytrace/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: postgresql - repository: https://kube-tarian.github.io/helmrepo-supporting-tools/ - version: 1.0.3 -digest: sha256:1bf22f2f3d29a7d5103153d28cc97d6e0cbd3102242750d1fc03334ebdbb190c -generated: "2024-06-12T20:34:20.277359575+05:30" From d6ab8cf6b5f94f475e12e1bd6fd94549e19d0244 Mon Sep 17 00:00:00 2001 From: RazenaSaleem Date: Wed, 12 Jun 2024 21:23:16 +0530 Subject: [PATCH 5/6] feat: endpoint for health probes Signed-off-by: RazenaSaleem --- charts/qualitytrace/Chart.lock | 6 ------ charts/qualitytrace/charts/postgresql-1.0.3.tgz | Bin 78409 -> 0 bytes charts/qualitytrace/values.yaml | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 charts/qualitytrace/Chart.lock delete mode 100644 charts/qualitytrace/charts/postgresql-1.0.3.tgz diff --git a/charts/qualitytrace/Chart.lock b/charts/qualitytrace/Chart.lock deleted file mode 100644 index 022c70a..0000000 --- a/charts/qualitytrace/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: postgresql - repository: https://kube-tarian.github.io/helmrepo-supporting-tools/ - version: 1.0.3 -digest: sha256:1bf22f2f3d29a7d5103153d28cc97d6e0cbd3102242750d1fc03334ebdbb190c -generated: "2024-06-12T20:34:20.277359575+05:30" diff --git a/charts/qualitytrace/charts/postgresql-1.0.3.tgz b/charts/qualitytrace/charts/postgresql-1.0.3.tgz deleted file mode 100644 index 2d94092ea00dd711d611ed3f957f6a4f42b08ad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78409 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ⅈ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 V2mX}@0RaI5gWn~YK$4+B{trF$w1xlx diff --git a/charts/qualitytrace/values.yaml b/charts/qualitytrace/values.yaml index 36fbdb1..19b228d 100644 --- a/charts/qualitytrace/values.yaml +++ b/charts/qualitytrace/values.yaml @@ -111,7 +111,7 @@ image: repository: ghcr.io/intelops/qualitytrace pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: pr-18 + tag: latest env: qualitytraceDev: "" From e9649d14cc60b71ddd4c284e891a1145b5fc1671 Mon Sep 17 00:00:00 2001 From: RazenaSaleem Date: Thu, 13 Jun 2024 10:08:02 +0530 Subject: [PATCH 6/6] feat: endpoint for health probes Signed-off-by: RazenaSaleem --- charts/qualitytrace/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/qualitytrace/Chart.yaml b/charts/qualitytrace/Chart.yaml index fcf7053..6fe929a 100644 --- a/charts/qualitytrace/Chart.yaml +++ b/charts/qualitytrace/Chart.yaml @@ -8,4 +8,4 @@ dependencies: description: A Helm chart for QualityTrace name: qualitytrace type: application -version: 1.0.0 +version: 1.0.1