{"id":15978460,"url":"https://github.com/xperimental/goecho","last_synced_at":"2025-10-30T03:14:55.532Z","repository":{"id":53606584,"uuid":"65732933","full_name":"xperimental/goecho","owner":"xperimental","description":"Simple echo service for testing (for example orchestrators)","archived":false,"fork":false,"pushed_at":"2025-03-09T18:56:45.000Z","size":110,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T06:44:06.221Z","etag":null,"topics":["echo-handler","hacktoberfest","testing-tool"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/xperimental/goecho/","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/xperimental.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-08-15T13:06:51.000Z","updated_at":"2025-03-09T18:56:46.000Z","dependencies_parsed_at":"2025-03-06T00:24:38.898Z","dependency_job_id":"71edeb9a-8253-448b-bc4d-a555cf47d039","html_url":"https://github.com/xperimental/goecho","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xperimental%2Fgoecho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xperimental%2Fgoecho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xperimental%2Fgoecho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xperimental%2Fgoecho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xperimental","download_url":"https://codeload.github.com/xperimental/goecho/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252831177,"owners_count":21810779,"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":["echo-handler","hacktoberfest","testing-tool"],"created_at":"2024-10-07T23:20:33.264Z","updated_at":"2025-10-30T03:14:55.420Z","avatar_url":"https://github.com/xperimental.png","language":"Go","readme":"# goecho\n\nThis is a simple HTTP server built in Go that suited us good in testing our orchestration so far. It will answer to every path and method and will echo information about the request back to the client.\n\nCurrently, it has the following endpoints:\n\n- `/metrics` – prometheus metrics about the service\n- `/version` – Version information\n- `/_ready` - Readiness check\n- `/*` – Echo handler (will echo information about the request back)\n\nThe echo handler understands one query parameter: \"env\". When set to any non-zero-length value the response will also contain the environment variables set for the server.\n\n## Installation\n\nFor our purposes we typically use the Docker image, which can be found [on Docker Hub](https://hub.docker.com/r/xperimental/goecho/):\n\n```bash\ndocker run --rm --interactive --tty --publish 8080:8080 xperimental/goecho:$TAG\n```\n\nIf you have Go installed it is also very simple to build the binary yourself:\n\n```bash\ngit clone https://github.com/xperimental/goecho.git\ncd goecho\nmake build-binary\n```\n\nIf you want to build the Docker image instead, download the sources and run the provided script:\n\n```bash\ngit clone https://github.com/xperimental/goecho.git\ncd goecho\nmake image\n```\n\nThe image will be called \"xperimental/goecho\" and have a tag based on the git repository (\"latest\" if you have made any uncommitted changes).\n\n## Usage\n\nSome configuration options can be either set by using command-line options or environment variables. If both are set, environment variables will override the command-line options:\n\n| Option            | Environment Variable | Default | Description                                                      |\n|:------------------|:---------------------|:--------|:-----------------------------------------------------------------|\n| `-addr`           | `LISTEN_ADDR`        | `:8080` | Address and port to listen on.                                   |\n| `-allow-env`      | `ALLOW_ENV`          |         | Allow retrieval of environment variables.                        |\n| `-graceful-delay` | `GRACEFUL_DELAY`     | `2s`    | Delay between receiving a shutdown signal and starting shutdown. |\n| `-tls-cert`       | `TLS_CERT`           |         | Path to TLS certificate file.                                    |\n| `-tls-key`        | `TLS_KEY`            |         | Path to TLS key file.                                            |\n\n### TLS Support\n\ngoecho will by default only run a HTTP server, but if you provide a TLS certificate and key either using command-line flags or environment variables it will instead provide a HTTPS server.\n\nWhen TLS is enabled and TLS requests reach the server the echo handler will also return information about the TLS version and the hostname used for the connection.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxperimental%2Fgoecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxperimental%2Fgoecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxperimental%2Fgoecho/lists"}