Skip to content

barcek unmoored | Dockerfiles for tools in other repositories

License

Notifications You must be signed in to change notification settings

barcek/shipping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shipping

Dockerfiles using tools from the other repositories.

  • rvry - run as PID 1 over an Alpine base image for a configurable sidecar in a Kubernetes pod or similar, or a dummy container for test
  • deye - added over a Deno base image for availability alongside the usual command set
  • ...

Build

The build script takes the name of the tool as the sole argument, parses the Dockerfile in the corresponding directory and builds an image tagged with the tool version and base image identifier.

From the root directory, for the Dockerfiles available:

./build.sh rvry
./build.sh deye

rvry

Repository: rvry

The container entrypoint is set to rvry, running the tool as PID 1 with the default behaviour and allowing additional arguments to be passed as usual.

Requirements

The tool expects at least a pseudo-tty, and needs stdin open to receive the sign key. For both requirements, using docker run with no additional arguments to rvry:

docker run --rm -it rvry

The above assumes a generic image name not generated via the build script.

Or with a docker-compose.yaml:

services:
  rvry:
    ...
    tty: true
    stdin_open: true

Or as part of a Kubernetes spec:

spec:
  containers:
  - name: rvry
    ...
    tty: true
    stdin: true

Arguments

Arguments to rvry can be passed via the run command, whether docker run or docker compose run, with tty and stdin_open set as above. For example, to print a series of ellipses, each on its own line as if logging:

docker run --rm -it rvry --mark "...\n" --full
docker compose run --rm rvry --mark "...\n" --full

Both of the above also assume a generic image name.

Alternatively, the arguments can be added to a docker-compose.yaml, assuming tty and stdin_open as above:

services:
  rvry:
    ...
    command: ["--mark", "...\n", "--full"]

Or a Kubernetes spec, here again assuming tty and stdin:

spec:
  containers:
  - name: rvry
    ...
    args: ["--mark", "...\n", "--full"]

deye

Repository: deye

The container entrypoint remains the default entrypoint for the base image, making the Deno commands available as usual and allowing for deye followed by its usual arguments.

Arguments

Arguments to deye can be passed via the run command, whether docker run or docker compose run. For example, to set --allow all for a file named index.js in the same directory:

docker run --rm -v $PWD:/app deye deye all /app/index.js
docker compose run --rm deye deye all /app/index.js

Both of the above also assume a generic image name not generated via the build script, and the compose example that the volumes needed are defined in the docker-compose.yml.

Alternatively, the arguments can be added there too:

services:
  deye:
    ...
    command: ["deye", "all", "app/index.js"]

Or in a Kubernetes spec:

spec:
  containers:
  - name: deye
    ...
    args: ["deye", "all", "/app/index.js"]

About

barcek unmoored | Dockerfiles for tools in other repositories

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published