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
andjust
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e519c801c1576b5d5399fa4ccfe1f2b096007d832dbce589a59a6319acab75a |
|
MD5 | 1c62b05091b9e81f867c8aa90d484996 |
|
BLAKE2b-256 | d37fc3d594c9a8a2f09f018e7b2e4e08d36e98e62d5a94a614c8631e00ad1c0a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b4f636999bcb34bbe8e727b18d3c9a164b44b434f9a1569ec223f180578b00b |
|
MD5 | 751236c6eb2cf9996dc67e4b9be3e761 |
|
BLAKE2b-256 | 985614d9fdff708088093c499285cdad748ff2f4a089f1aaceb5f61f9c2f9b63 |