Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for HTTP status check with wget #14

Closed
wants to merge 1 commit into from

Conversation

capripot
Copy link

@capripot capripot commented Jan 28, 2019

Add support for HTTP status check with wget, shipped with Alpine through busybox.

Test if an API is up:
./wait-for http://www.eficode.com:80/ping -- echo "Eficode site is up"

Within a docker-compose file:

version: '2'

services:
  db:
    image: postgres:9.4

  api:
    image: my_awesome_api

  tests:
    build: tests
    command: sh -c './wait-for http://api/ping -- jest test'
    depends_on:
      - db
      - api

@iveskins
Copy link

iveskins commented Feb 14, 2019

I just tried to use nc for this, but your solution is better..
printf "GET /-/liveness HTTP/1.0\r\nHost: waitforit\r\n\r\n" |nc -n -i 1 "$HOST" "$PORT" | head -1 | grep "HTTP/1.1 200 OK" > /dev/null 2>&1

@capripot
Copy link
Author

capripot commented Dec 30, 2019

@eficode Any way we could merge that?

@triusis92
Copy link

Hi @capripot ,

I tried using your adjusted script in an alpine image. Added netcat-openbsd to the build but that did not work, just kept getting timeouts when performing HTTP status checks. Is it possible to use it in an alpine image ?

@capripot
Copy link
Author

capripot commented Jul 8, 2020

Hi @triusis92. Just tried in the latest alpine the following

docker run -it alpine sh
wget --timeout=1 -q "https://www.google.com" -O /dev/null > /dev/null 2>&1
echo $?
# 0
wget --timeout=1 -q "https://www.thatdoesntexist.com" -O /dev/null > /dev/null 2>&1
echo $?
# 1

So I believe the script should still work. Could you share your logs/output so I can help?

@vitalets
Copy link

vitalets commented Sep 5, 2020

Until this is merged I've created wait-for-cmd that can wait for any provided command (e.g. wget):

docker run --rm vitalets/wait-for-cmd 'wget --timeout=1 -q https://www.google.com -O /dev/null > /dev/null 2>&1'

@pkraus138
Copy link

Thank you so much for this!

Addono added a commit that referenced this pull request Feb 16, 2021
github-actions bot pushed a commit that referenced this pull request Feb 16, 2021
# [2.1.0-beta.1](v2.0.0...v2.1.0-beta.1) (2021-02-16)

### Features

* adds support for http using wget ([3758bab](3758bab)), closes [#14](#14)
@Addono
Copy link
Member

Addono commented Feb 16, 2021

Hi @capripot , sorry for taking so long to get back to you on your PR.

I started working top-to-bottom from the list of PRs and by the time I reached yours there were some merge conflicts.

Supporting http/https makes a lot of sense, so I'm happy that you worked on this. I created a new PR #34, which is mostly your work but with some changes here and there to make it all work with some other changes which recently landed.

I'm first releasing #34 first as a beta, if anyone ends up using it, please share your experiences in that PR.

Cheers!

@Addono Addono closed this Feb 16, 2021
Addono added a commit that referenced this pull request Feb 27, 2021
github-actions bot pushed a commit that referenced this pull request Feb 27, 2021
# [2.1.0](v2.0.0...v2.1.0) (2021-02-27)

### Features

* adds support for http using wget ([ff0d29d](ff0d29d)), closes [#14](#14)
github-actions bot referenced this pull request in Andargor/wait-for Nov 12, 2021
# 1.0.0 (2021-11-12)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [#16](#16)
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/Andargor/wait-for/issues/42)) ([0195167](0195167))

### Features

* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [#14](#14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot referenced this pull request in Shingaz/wait-for Feb 6, 2022
# 1.0.0 (2022-02-06)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [#16](#16)
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/Shingaz/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/Shingaz/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [#14](#14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot referenced this pull request in Penbase/wait-for Mar 11, 2022
# 1.0.0 (2022-03-11)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [#16](#16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/Penbase/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/Penbase/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/Penbase/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [#14](#14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to gesellix/wait-for that referenced this pull request Dec 21, 2022
# 1.0.0 (2022-12-21)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/gesellix/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/gesellix/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/gesellix/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/gesellix/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/gesellix/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to gesellix/wait-for that referenced this pull request Dec 21, 2022
# 1.0.0 (2022-12-21)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/gesellix/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/gesellix/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/gesellix/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/gesellix/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/gesellix/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([4b9b12e](4b9b12e))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to gesellix/wait-for that referenced this pull request Dec 21, 2022
# 1.0.0 (2022-12-21)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/gesellix/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/gesellix/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/gesellix/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/gesellix/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/gesellix/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([4b9b12e](4b9b12e))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to gesellix/wait-for that referenced this pull request Dec 21, 2022
# 1.0.0 (2022-12-21)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/gesellix/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/gesellix/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/gesellix/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/gesellix/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/gesellix/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to gesellix/wait-for that referenced this pull request Jan 8, 2023
# 1.0.0 (2023-01-08)

### Bug Fixes

* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/gesellix/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/gesellix/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/gesellix/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/gesellix/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/gesellix/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to danieleagle/wait-for that referenced this pull request Jun 2, 2023
# 1.0.0 (2023-06-02)

### Bug Fixes

* `wget` in alpine runs into an endless retry loop ([eficode#100](https://github.com/danieleagle/wait-for/issues/100)) ([b15c461](b15c461))
* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/danieleagle/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/danieleagle/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/danieleagle/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/danieleagle/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/danieleagle/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
github-actions bot pushed a commit to fitz7/wait-for that referenced this pull request Dec 9, 2023
# 1.0.0 (2023-12-09)

### Bug Fixes

* `wget` in alpine runs into an endless retry loop ([eficode#100](https://github.com/fitz7/wait-for/issues/100)) ([b15c461](b15c461))
* **command:** Restore environment variables before calling `exec` ([c7631e5](c7631e5))
* correctly render the command name in the help text ([d2bbce7](d2bbce7)), closes [eficode#16](https://github.com/fitz7/wait-for/issues/16)
* **http:** corrects protocol check for wget availability ([eficode#82](https://github.com/fitz7/wait-for/issues/82)) ([570c9fb](570c9fb))
* **iteration:** Remember to try one last time before giving up ([2ed5308](2ed5308))
* **timeout:** resolve degredation which prevented setting indefinite timeout ([b45e76c](b45e76c))
* typo in error message for missing wget command ([db2479e](db2479e))
* uses timeout in nc as it is used with wget ([eficode#42](https://github.com/fitz7/wait-for/issues/42)) ([0195167](0195167))
* wget timeout does not double ([206b38d](206b38d))

### Features

* adds -v and --version flag to show the version (Thanks [@philipp-kunz-mimacom](https://github.com/philipp-kunz-mimacom)) ([8636f50](8636f50)), closes [eficode#71](https://github.com/fitz7/wait-for/issues/71)
* adds license header to wait-for script ([975d508](975d508))
* adds support for http using wget ([ff0d29d](ff0d29d)), closes [eficode#14](https://github.com/fitz7/wait-for/issues/14)
* **option:** Restrict the timeout input to non-negative integers ([c4d125f](c4d125f))
* **option:** Support more conventional formats in the option parser ([ce95717](ce95717))
* **version:** trigger first release for v1.0.0 ([33f1343](33f1343))

### BREAKING CHANGES

* **command:** HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants