{"id":20510308,"url":"https://github.com/frobware/openshift-ingress-dashboard-test","last_synced_at":"2025-03-05T22:26:06.547Z","repository":{"id":209671282,"uuid":"724655228","full_name":"frobware/openshift-ingress-dashboard-test","owner":"frobware","description":"client/server tools for testing the OpenShift Ingress dashboard","archived":false,"fork":false,"pushed_at":"2023-11-28T15:07:31.000Z","size":175,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T07:38:28.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frobware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-28T14:23:06.000Z","updated_at":"2023-11-28T15:00:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9d3fcaf-acb5-4934-bf4b-66c5a2293f12","html_url":"https://github.com/frobware/openshift-ingress-dashboard-test","commit_stats":null,"previous_names":["frobware/openshift-ingress-dashboard-test"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fopenshift-ingress-dashboard-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fopenshift-ingress-dashboard-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fopenshift-ingress-dashboard-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fopenshift-ingress-dashboard-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frobware","download_url":"https://codeload.github.com/frobware/openshift-ingress-dashboard-test/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242112669,"owners_count":20073647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T20:28:56.293Z","updated_at":"2025-03-05T22:26:06.520Z","avatar_url":"https://github.com/frobware.png","language":"Go","readme":"# HTTP Error Simulation Client/Server for OpenShift Ingress Dashboard\n\n## Overview\n\nThis project, consisting of a client application and a server application both implemented in Go, is specifically designed to simulate various HTTP errors. The primary goal is to facilitate the testing and validation of HTTP server response metrics within the \"Ingress Dashboard\" which can be found in the \"Observe -\u003e Dashboards\" section of the OpenShift Console. \n\n### Client Application\n\nThe client application is designed to interact with an HTTP server that simulates HTTP errors. Key features include:\n- Sending requests to test endpoints.\n- Configuring error rates and response data sizes for each error code.\n- Operates based on a test plan specified in a YAML file.\n\n### Server Application\n\nThe server application simulates HTTP errors based on configurable rates. Its features include:\n- Dynamically creating endpoints for simulating HTTP errors (error codes 400-599).\n- Configuring simulation errors at different rates.\n- Endpoints for setting response data size for each error code.\n\n## Getting Started\n\n### Prerequisites\n\n- An OpenShift cluster\n- A Go installation for building the client application\n- YAML file for the test plan\n\n### Installation\n\n1. Clone the repository: `git clone https://github.com/frobware/openshift-ingress-dashboard-test`\n\n### Configuration\n\n- Create a [`test-plan.yaml`](./test-plan.yaml) file to specify the test plan for the client. This file should define the various scenarios and parameters you want the client to execute, including error rates, response sizes, and specific endpoints to target.\n\n### Running the test\n\n1. Deploy the server application to an OpenShift cluster:\n\n```sh\nmake deploy-manifests\n```\n\n2. Build the client application:\n\n```sh\nmake\n```\n\n3. Run the test plan:\n\n```sh\n./hack/run-test test-plan.yaml\n```\n\n## Monitoring the Simulation\n\n### Using the Ingress Dashboard in OpenShift\n\nTo observe the simulation, you can view the \"Ingress Dashboard\" available in the OpenShift console. Follow these steps:\n\n1. Log into your OpenShift console.\n2. Navigate to Observe-\u003eDashboards and in the drop-down search for \"Ingress\".\n3. Monitor the \"HTTP Server Response Error Rate\" panel.\n\n![Ingress Dashboard Metrics](screenshots/ingress-dashboard.png?raw=true \"Ingress Dashboard Metrics\")\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrobware%2Fopenshift-ingress-dashboard-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrobware%2Fopenshift-ingress-dashboard-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrobware%2Fopenshift-ingress-dashboard-test/lists"}