Repository contains docker image with build dependencies for WOD projects.
- net-tools — Linux networking base tools
-
gettext (envsubst) — The envsubst searches the input for pattern
$VARIABLE or $ {VARIABLE}. Then, it replaces the pattern with the value of the corresponding bash variable - git
- bash
- unzip
- nano
- ca-certificates
- tzdata
- curl
- bash
- make
- tar
- bzip2
- goss — Quick and Easy server testing / validation
- dgoss — Wrapper around goss to perform tests on docker containers
- dcgoss — Uses docker-compose file instead of passing docker run args
- wait4x — Allows to wait for a port or a service to enter the requested state
- mkcert — A simple zero-config tool to make locally trusted development certificates with any names
- shellcheck — Finds bugs in your shell scripts
- actionlint — Static checker for GitHub Actions workflow files
If you like/use this repository, please consider starring it. Thanks!
Ansible is used to generate distribution files. To add or remove packages, or configure project, see group_vars/all.yml
Default package configuration:
docker_version: "20.10.21"
system_packages:
- git
- bash
- unzip
- nano
- ca-certificates
- tzdata
- curl
- bash
- gettext
- make
- tar
- gzip
- bzip2
- gnupg
- net-tools
system_user: wod
system_group: wod
system_user_uid: 1000
system_user_gid: 1000
system_shell: bash
wait4x_version: "2"
goss_version: "0.3.20"
mkcert_version: "1.4.4"
actionlint_version: "1.6.22"
shellcheck_version: "0.8.0"
To generate dist files use ansible command:
$ make generate
To install dependencies and start development you can check contents of our Makefile
For testing purposes we use goss and dgoss, follow installation instructions on their official README
Generating distributable Dockerfiles from yaml source code:
$ make generate
Building default image:
$ git clone [email protected]:wayofdev/docker-build-deps.git
$ make build
To build image, test it and then clean temporary files run:
$ make
You can check Makefile
to get full list of commands for local testing. For testing, you can use these commands to test whole role or separate tasks:
Testing default image:
$ make test
Run yamllint to validate all yaml files in project:
$ make lint
Run hadolint to validate created Dockerfiles:
$ make hadolint
This repository was created in 2022 by lotyp / wayofdev.