{"id":20112963,"url":"https://github.com/cloudacademy/tcp-echo-app","last_synced_at":"2026-05-05T10:34:06.708Z","repository":{"id":77791703,"uuid":"536872744","full_name":"cloudacademy/tcp-echo-app","owner":"cloudacademy","description":"TCP Echo App","archived":false,"fork":false,"pushed_at":"2022-09-15T23:42:53.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-02T18:51:13.637Z","etag":null,"topics":["cloudacademy","container","devops","docker","echo","go","kubernetes","tcp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudacademy.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":"2022-09-15T05:10:29.000Z","updated_at":"2022-09-19T01:27:09.000Z","dependencies_parsed_at":"2023-04-30T04:36:08.623Z","dependency_job_id":null,"html_url":"https://github.com/cloudacademy/tcp-echo-app","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cloudacademy/tcp-echo-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudacademy%2Ftcp-echo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudacademy%2Ftcp-echo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudacademy%2Ftcp-echo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudacademy%2Ftcp-echo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudacademy","download_url":"https://codeload.github.com/cloudacademy/tcp-echo-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudacademy%2Ftcp-echo-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32646192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cloudacademy","container","devops","docker","echo","go","kubernetes","tcp"],"created_at":"2024-11-13T18:23:02.186Z","updated_at":"2026-05-05T10:34:06.688Z","avatar_url":"https://github.com/cloudacademy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Status](https://github.com/cloudacademy/tcp-echo-app/actions/workflows/go.yml/badge.svg)\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/cloudacademy/tcp-echo-app)\n\n# TCP Echo App\nA simple TCP echoing application.\n\nThe TCP echoing application been developed using the Go programming language. It is designed to simply echo back any data that it recieves, together with the client's source IP address. Clients connect to this application and communicate using TCP (layer-4) connections.\n\n## Usage\nTo start the TCP echo application, configure the `HOSTPORT` environment variable. `HOSTPORT` represents the listening address and port that the TCP echo application listens on.\n\nStartup:\n```\nHOSTPORT=0.0.0.0:9091 tcpapp\n```\n\n## Docker\nThe TCP echoing application has been packaged into a Docker image. The Docker image can be pulled with the following command:\n\n```\ndocker pull cloudacademydevops/tcpapp:v1\n```\n\nUse the following command to launch the TCP echoing application within Docker:\n```\ndocker run --name tcpapp -p 9091:9091 --detach cloudacademydevops/tcpapp:v1\n```\n\n## Kubernetes\nUse the following command to launch the TCP echoing application as a Deployment resource within a cluster:\n\n```\ncat \u003c\u003c EOF | kubectl apply -f -\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: tcpapp\n  namespace: tcpapp\nspec:\n  selector:\n    matchLabels:\n      app.kubernetes.io/name: tcpapp\n  replicas: 2\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: tcpapp\n    spec:\n      containers:\n      - image: cloudacademydevops/tcpapp:v1\n        imagePullPolicy: Always\n        name: tcpapp\n        ports:\n        - containerPort: 9091\nEOF\n```\n\n## Build\nThe following commands can be used to build and package the source code:\n\nCurrent operating system:\n```\ngo build .\n```\n\nLinux operating system:\n```\nCGO_ENABLED=0 GOOS=linux go build -o tcpapp .\n```\n\nDocker:\n```\ndocker buildx build --platform=linux/amd64 -t cloudacademydevops/tcpapp:v1 .\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudacademy%2Ftcp-echo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudacademy%2Ftcp-echo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudacademy%2Ftcp-echo-app/lists"}