Skip to main content

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"

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page