wait-for/README.md

68 lines
2.5 KiB
Markdown
Raw Normal View History

2020-02-03 16:19:22 +01:00
# wait-for
2017-05-02 19:13:27 +02:00
2020-10-14 16:34:44 +02:00
Poor-mans docker service synchronizer
2020-09-21 20:49:37 +02:00
[![Build Status](https://img.shields.io/drone/build/thegeeklab/wait-for?logo=drone)](https://cloud.drone.io/thegeeklab/wait-for)
2020-10-14 16:34:44 +02:00
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/wait-for)
[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/wait-for)
2020-09-21 20:51:47 +02:00
[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/wait-for)](https://github.com/thegeeklab/wait-for/graphs/contributors)
2020-10-14 16:34:44 +02:00
[![Source: GitHub](https://img.shields.io/badge/source-github-blue.svg?logo=github&logoColor=white)](https://github.com/thegeeklab/wait-for)
2020-09-25 18:44:12 +02:00
[![License: MIT](https://img.shields.io/github/license/thegeeklab/wait-for)](https://github.com/thegeeklab/wait-for/blob/master/LICENSE)
2020-09-21 20:49:37 +02:00
2021-01-04 16:20:19 +01:00
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 and was forked from [eficode/wait-for](https://github.com/eficode/wait-for).
2017-05-02 19:13:27 +02:00
2017-05-03 11:03:12 +02:00
When using this tool, you only need to pick the `wait-for` file as part of your project.
2017-05-02 19:13:27 +02:00
## Usage
2020-02-03 16:19:22 +01:00
```Shell
2020-02-03 22:55:04 +01: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 19:13:27 +02:00
```
2020-02-03 16:19:22 +01:00
## Dependencies
2020-10-14 16:34:44 +02:00
- Installed Netcat
2017-05-02 19:13:27 +02:00
## Examples
2021-01-04 16:20:19 +01:00
To check if [google.com](https://google.com) is available:
2017-05-02 19:13:27 +02:00
2020-02-03 16:19:22 +01:00
```Shell
2021-01-04 16:20:19 +01:00
$ ./wait-for google.com:80 -- echo "Google site is up"
2017-05-02 19:13:27 +02:00
2021-01-04 16:20:19 +01:00
Google site is up
2017-05-02 19:13:27 +02:00
```
To wait for database container to become available:
2020-02-03 16:19:22 +01:00
```Yaml
2017-05-02 19:13:27 +02: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 10:52:29 +02:00
```
2020-09-21 20:49:37 +02:00
## Contributors
2020-02-03 16:19:22 +01:00
2021-01-04 16:20:19 +01:00
Special thanks goes to all [contributors](https://github.com/thegeeklab/wait-for/graphs/contributors). If you would like to contribute,
please see the [instructions](https://github.com/thegeeklab/wait-for/blob/master/CONTRIBUTING.md).
2020-02-03 16:19:22 +01:00
2020-09-21 20:49:37 +02:00
## License
2020-02-03 16:19:22 +01:00
2020-09-21 20:49:37 +02:00
This project is licensed under the MIT License - see the [LICENSE](https://github.com/thegeeklab/wait-for/blob/master/LICENSE) file for details.