----------------------------------------------------
[hɑɪkː]
The goal of this project is to define a set of image label metadata
and launcher tooling that understands said metadata to provide for
smooth experience running containerized applications with tight
integration with the host operating system.
### Installation
```
pip install docker-hica
```
### Docs
Versioned specification of all labels can be found in [docs/labels.md](docs/labels.md)
Guidelines for Dockerfiles can be found in [docs/dockerfile-guidelines.md](docs/dockerfile-guidelines.md)
SELinux usage is documented in [docs/selinux.md](docs/selinux.md)
### Examples
Examples directory currently contains several example Dockerfiles:
* `jq`
* `firefox-testing`
* `signify`
* `opengl-testing`
* `test-description`
Please refer to `README.md` in each particular subdirectory for more information.
The straightforward way is to simply:
```bash
$ cd examples/example
$ docker build -t example .
$ docker-hica example
```
### Advanced usage
Let's overview the basic stuff:
```bash
$ docker-hica --help
usage: docker-hica [-h] [--show-args] [--test-injectors] [--verbose] [--yes]
[--selinux-label SELINUX_LABEL] [--user USER]
hica_app_name ...
positional arguments:
hica_app_name
named_action
optional arguments:
-h, --help show this help message and exit
--show-args show possible arguments for the specified
"hica_app_name"
--test-injectors executes injector tests for specified "hica_app_name"
--verbose print additional information
--yes bypass the capability review check
--selinux-label SELINUX_LABEL
provide a confinement context
--user USER user:group to run as (1000:1000)
```
The `--show-args` flag allows for displaying configurable parameters for image injectors, so
to see what parameters can be passed to the `examples/firefox` image, execute:
```bash
$ docker-hica --show-args firefox:1.0
usage: docker-hica [-h] [--show-args] [--verbose] [--yes]
[--machine-id-path MACHINE_ID_PATH]
[--xsocket-path XSOCKET_PATH]
[--x-display-num X_DISPLAY_NUM]
hica_app_name ...
```
When `--verbose` is specified, the Docker command is also printed out during execution:
```bash
$ docker-hica --verbose firefox:1.0
The container requests the following capabilities:
- Bind mounts current working directory (/Repos/docker-hica) into the container
- Bind mounts machine-id into the container
- Bind mounts XSocket into the container
Proceed? [y/Y/n]: y
Executing: docker run -i -u 1000:1000 --volume /Repos/docker-hica:/Repos/docker-hica -w /Repos/docker-hica --volume /etc/machine-id:/etc/machine-id --volume /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 firefox:1.0
```
And finally the `--yes` flag allows for skipping the initial prompt for confirmation as seen on the example above.
This option is dangerous, future versions will treat 'Y' in the prompt response as 'Yes and remmber', so that
the initial capability request is reviewed at least once.
Metadata
Release files for docker-hica 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| docker-hica-0.5.1.tar.gz | 17.3 kB | Without provenance | Details for docker-hica-0.5.1.tar.gz |
Release files / docker-hica-0.5.1.tar.gz
| Download URL | docker-hica-0.5.1.tar.gz |
|---|---|
| Size | 17.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
218fe3967d3d85a230b45af75f8d5793f330f2118970a7e01779e32e2520a9d4
|
|
BLAKE2b-256 checksum How to use checksums |
f383b105164cf5bb352754550ba2fae13ef9fda52cca06c08c3509928aef4c5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for docker-hica 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.