2020-02-03 15:19:22 +00:00
# wait-for
2017-05-02 17:13:27 +00:00
2020-09-21 18:49:37 +00:00
[![Build Status ](https://img.shields.io/drone/build/thegeeklab/wait-for?logo=drone )](https://cloud.drone.io/thegeeklab/wait-for)
2020-09-21 18:51:47 +00:00
[![GitHub contributors ](https://img.shields.io/github/contributors/thegeeklab/wait-for )](https://github.com/thegeeklab/wait-for/graphs/contributors)
2020-09-21 18:49:37 +00:00
[![License: MIT ](https://img.shields.io/github/license/thegeeklab/wait-for )](< [LICENSE](https://github.com/thegeeklab/wait-for/blob/master/LICENSE)>)
wait-for is a script designed to synchronize services like docker containers. It is [sh ](https://en.wikipedia.org/wiki/Bourne_shell ) and [alpine ](https://alpinelinux.org/ ) compatible. It was inspired by [vishnubob/wait-for-it ](https://github.com/vishnubob/wait-for-it ), but the core has been rewritten at [Eficode ](http://eficode.com/ ) by [dsuni ](https://github.com/dsuni ) and [mrako ](https://github.com/mrako ).
2017-05-02 17:13:27 +00:00
2017-05-03 09:03:12 +00:00
When using this tool, you only need to pick the `wait-for` file as part of your project.
2017-05-02 17:13:27 +00:00
## Usage
2020-02-03 15:19:22 +00:00
```Shell
2020-02-03 21:55:04 +00:00
$ wait-for --help
usage: wait-for host:port [-t timeout] [-- command args]
Synchronize services like docker containers and wait for readiness.
optional arguments:
-q | --quiet Do not output any status messages
-t WAITFOR_TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
-- COMMAND ARGS Execute command with args after the test finishes
2017-05-02 17:13:27 +00:00
```
2020-02-03 15:19:22 +00:00
## Dependencies
2020-02-03 15:30:20 +00:00
* Installed Netcat
2017-05-02 17:13:27 +00:00
## Examples
To check if [eficode.com ](https://eficode.com ) is available:
2020-02-03 15:19:22 +00:00
```Shell
2017-05-02 17:13:27 +00:00
$ ./wait-for www.eficode.com:80 -- echo "Eficode site is up"
Eficode site is up
```
To wait for database container to become available:
2020-02-03 15:19:22 +00:00
```Yaml
2017-05-02 17:13:27 +00:00
version: '2'
services:
db:
image: postgres:9.4
backend:
build: backend
command: sh -c './wait-for db:5432 -- npm start'
depends_on:
- db
2017-05-03 08:52:29 +00:00
```
2020-09-21 18:49:37 +00:00
## Contributors
2020-02-03 15:19:22 +00:00
2020-09-21 18:49:37 +00:00
Special thanks goes to all [contributors ](https://github.com/thegeeklab/wait-for/graphs/contributors ).
2020-02-03 15:19:22 +00:00
2020-09-21 18:49:37 +00:00
## License
2020-02-03 15:19:22 +00:00
2020-09-21 18:49:37 +00:00
This project is licensed under the MIT License - see the [LICENSE ](https://github.com/thegeeklab/wait-for/blob/master/LICENSE ) file for details.