Sign inSign up

senges/catalog

By senges

•Updated about 4 years ago

Image
0

154

senges/catalog repository overview

⁠Catalog

Catalog makes tool installation inside containers super easy, fast and clean.

⁠Basic usage

$  catalog --help
usage: catalog.py [-h] [-i INFILE] [-a] [-l] [-f] [-v] [--debug] [--rm-cache] [--dry-run] [--dependencies {fail,ignore,satisfy}] [TOOL_NAME [TOOL_NAME ...]]

positional arguments:
  TOOL_NAME

optional arguments:
  -h, --help            show this help message and exit
  -i INFILE, --infile INFILE
                        input tool list file
  -a, --available       list available tools and exit
  -l, --list            list installed tools and exit
  -f, --force           force tool reinstall if present
  -v, --verbose         verbose mode
  --debug               run catalog in debug mode
  --rm-cache            removed any installation cache
  --dry-run             run catalog in verbose but do not install anything
  --dependencies {fail,ignore,satisfy}
                        dependencies behavior

Feed catalog with a list of tools to install :

$  cat tools.txt
ping
terraform
java
postgresql
redis-server

$  catalog -i tools.txt

$  catalog ping terraform java postgresql redis-server

⁠Docker

Catalog image is based on ubuntu:20.04 and can be used as a base image for your containers (compressed size ~38MB).

FROM senges/catalog:latest

RUN catalog -v --rm-cache vim htop mysql-client

You can also install catalog yourself using install.sh script.

FROM ubuntu:20.04 
# [...]

# Using wget
RUN sh -c "$(wget -qO- https://raw.githubusercontent.com/senges/catalog/main/utils/install.sh)"
# Using curl
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/senges/catalog/main/utils/install.sh)"

Tag summary

Content type

Image

Digest

sha256:504509322…

Size

43.1 MB

Last updated

about 4 years ago

docker pull senges/catalog