Go to file
2020-02-03 16:28:01 +01:00
.gitignore Add testing using bats 2017-05-03 11:52:29 +03:00
Dockerfile Add testing using bats 2017-05-03 11:52:29 +03:00
LICENSE fork: initial commit 2020-02-03 15:47:49 +01:00
package.json add name and version so it can be installed with npm 2017-08-04 11:36:14 -07:00
README.md small fixes 2020-02-03 16:28:01 +01:00
wait-for prefix env variables 2020-02-03 16:20:00 +01:00
wait-for.bats Add testing using bats 2017-05-03 11:52:29 +03:00

wait-for

./wait-for is a script designed to synchronize services like docker containers. It is sh and alpine compatible. It was inspired by vishnubob/wait-for-it, but the core has been rewritten at Eficode by dsuni and mrako.

When using this tool, you only need to pick the wait-for file as part of your project.

Usage

$ ./wait-for host:port [-t timeout] [-- command args]
    -q | --quiet                        Do not output any status messages
    -t TIMEOUT | --timeout=timeout      Timeout in seconds, zero for no timeout
    -- COMMAND ARGS                     Execute command with args after the test finishes

Dependencies

  • installed Netcat

Examples

To check if eficode.com is available:

$ ./wait-for www.eficode.com:80 -- echo "Eficode site is up"

Connection to www.eficode.com port 80 [tcp/http] succeeded!
Eficode site is up

To wait for database container to become available:

version: '2'

services:
  db:
    image: postgres:9.4

  backend:
    build: backend
    command: sh -c './wait-for db:5432 -- npm start'
    depends_on:
      - db

Testing

Ironically testing is done using bats, which on the other hand is depending on bash.

docker build -t wait-for .
docker run -t wait-for

License

This project is licensed under the MIT License - see the LICENSE file for details.

Maintainers and Contributors

Robert KaussoweficodeMarko Klemetti