{"id":37162040,"url":"https://github.com/bow/wf","last_synced_at":"2026-01-14T19:17:14.623Z","repository":{"id":57509850,"uuid":"230134999","full_name":"bow/wf","owner":"bow","description":"Wait for TCP servers to be ready","archived":true,"fork":false,"pushed_at":"2022-10-26T20:23:21.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-15T03:55:30.704Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.adoc","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-25T17:39:44.000Z","updated_at":"2023-11-20T06:48:58.000Z","dependencies_parsed_at":"2023-01-20T13:46:55.381Z","dependency_job_id":null,"html_url":"https://github.com/bow/wf","commit_stats":null,"previous_names":["bow/wait-for"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bow/wf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow%2Fwf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow%2Fwf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow%2Fwf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow%2Fwf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bow","download_url":"https://codeload.github.com/bow/wf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bow%2Fwf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28432141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-14T19:17:14.064Z","updated_at":"2026-01-14T19:17:14.615Z","avatar_url":"https://github.com/bow.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wf\n\n[![godoc](https://pkg.go.dev/badge/github.com/bow/wf)](https://pkg.go.dev/github.com/bow/wf)\n[![ci](https://github.com/bow/wf/actions/workflows/ci.yml/badge.svg)](https://github.com/bow/wf/actions?query=branch%3Amaster)\n[![coverage](https://api.codeclimate.com/v1/badges/d6472f5c514e9ade0c3a/test_coverage)](https://codeclimate.com/github/bow/wf/test_coverage)\n\n\nwf waits until TCP server(s) are ready to accept connections.\n\n\n## Why?\n\nThe main use case for wf is to make containerized applications that depend\non external services more robust by waiting for those actual services to be\nready, prior to application start. wf can wait on multiple TCP servers and\nis provided as a single, static binary for linux/amd64, so it can be added\ninto the container and used as-is.\n\n\n## Usage\n\nwf is provided as a command line application.\n\n    $ wf --help\n\n    Wait until TCP server(s) are ready to accept connections\n\n    Usage:\n      wf [FLAGS] ADDRESS...\n\n    Flags:\n      -t, --timeout duration     set wait timeout (default 5s)\n      -f, --poll-freq duration   set connection poll frequency (default 500ms)\n      -q, --quiet                suppress waiting messages\n      -h, --help                 help for wf\n          --version              version for wf\n\nThe functionalities themselves are provided as a Go library in the\n[wait](https://godoc.org/github.com/bow/wf/wait) package. Refer to the\nrelevant GoDoc documentation for a complete documentation.\n\n\n## Development\n\nwf was developed using Go 1.18 on `linux/amd64`. Other versions and/or\nplatforms may work but have not been tested.\n\n    # Clone the repository.\n    $ git clone https://github.com/bow/wf\n\n    # Install the development dependencies.\n    $ make install-dev\n\n    # Run the tests and/or linter.\n    $ make test\n    $ make lint\n\n    # Build the wf binary.\n    $ make bin\n\n    # When in doubt, just run `make`.\n    $ make\n\n\n## Credits\n\nwf was inspired by the [wait-for-it.sh](https://github.com/vishnubob/wait-for-it) script by\n@vishnubob.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbow%2Fwf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbow%2Fwf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbow%2Fwf/lists"}