Skip to content

Repository files navigation

N.E.V.E.R.

Go Reference Release Unit Tests Lint Build License

Network Endpoint Validation with Endless Retries is a small readiness checker for HTTP, TCP, and ICMP targets. It waits for every configured dependency before exiting successfully, making it especially useful as a Kubernetes init container.

Why N.E.V.E.R.?

  • Check multiple HTTP, TCP, and ICMP targets concurrently.
  • Configure each target independently with flags or environment variables.
  • Retry indefinitely or stop after a configured number of attempts.
  • Use linear or exponential backoff.
  • Run as a compact container with no service dependencies.

Quick start

docker run --rm ghcr.io/containeroo/never:latest \
  --http.web.address=https://example.com \
  --tcp.database.address=database.example.com:5432

Target flags follow this pattern:

--<TYPE>.<IDENTIFIER>.<PROPERTY>=<VALUE>

The equivalent environment variable starts with NEVER__:

NEVER__HTTP_WEB_ADDRESS=https://example.com

Kubernetes

initContainers:
  - name: wait-for-dependencies
    image: ghcr.io/containeroo/never:latest
    args:
      - --http.api.address=http://api.default.svc.cluster.local/healthz
      - --tcp.database.address=postgres.default.svc.cluster.local:5432

Documentation

Read the complete configuration and deployment guide at containeroo.github.io/never.

License

Licensed under the Apache License 2.0.

About

Simple application that checks if a specified TCP, HTTP or ICMP target is available.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages