Skip to main content

Runner for 'just' commands inside a container

Project description

justin

Run just commands inside a container.

Installation

System-wide:

$ just install

User:

$ just install ~/.local

Running just

$ justin --workspace . just ...
$ justin --workspace . --copy just ...

$ justin \
  -E podman \
  -F ci
  -w . \
  -v ./artifacts:/artifacts\
  just -f ci.justfile somestage

Building images

Default image:

$ justin build 

Flavors

$ justin --flavor minimal build
$ justin --flavor ci build
$ justin -F /path/to/my/flavor build

justin supports a concept of "flavors", which is a way to customize how images are built. justin ships with the following flavors:

  • minimal (default one) - creates a minimal image viable for running just commands.
  • ci - creates a bigger image with some tools preinstalled, more suitable for continuous integration systems.

You may also point justin to a the directory with a custom flavor, which is located outside of the original build context. justin will copy and use your flavor.

During build flavors are copied to /install directory within a built container.

Flavors have the following requirements:

  • they must provide a Flavor Configuration File (see below)
  • inside a flavor directory there must be an install directory, which will be copied into /install within the container, but which will be removed from the final image
  • they must provide an executable /install/install.sh
  • they must install /usr/bin/tini and just executables within the container
  • they must provide /usr/local/bin/docker-entrypoint executable within the container, which will be used as container entrypoint

Flavor Configuration File

Each flavor must provide a flavor.toml file with [build.args] section. Each field from the [build.args] section will be used as a --build-arg during the build. In case of name conflicts between build args in flavor.toml and --build-arg passed in command line, command line ones have priority.

Example:

[build.args]
FROM_IMAGE = "debian"
FROM_TAG = "trixie-slim"

VENDOR = "John Doe's Company"
AUTHORS = "John Doe"
VERSION = "1.0"
ARCH = "x86-64"
DESCRIPTION = "One image to rule them all"
JUST_EXECUTABLE = "just"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

justin_runner-0.1.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

justin_runner-0.1.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file justin_runner-0.1.0.tar.gz.

File metadata

  • Download URL: justin_runner-0.1.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.6 Linux/6.5.0-4-amd64

File hashes

Hashes for justin_runner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7e519c801c1576b5d5399fa4ccfe1f2b096007d832dbce589a59a6319acab75a
MD5 1c62b05091b9e81f867c8aa90d484996
BLAKE2b-256 d37fc3d594c9a8a2f09f018e7b2e4e08d36e98e62d5a94a614c8631e00ad1c0a

See more details on using hashes here.

File details

Details for the file justin_runner-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: justin_runner-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.6 Linux/6.5.0-4-amd64

File hashes

Hashes for justin_runner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b4f636999bcb34bbe8e727b18d3c9a164b44b434f9a1569ec223f180578b00b
MD5 751236c6eb2cf9996dc67e4b9be3e761
BLAKE2b-256 985614d9fdff708088093c499285cdad748ff2f4a089f1aaceb5f61f9c2f9b63

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page