This is a collection of Dockerfiles maintained by the Kiwi.com Platform Team.
The images are built automatically by Docker Hub for the :latest tag,
with updates of the base image triggering rebuilds.
- Base image
python:3.6-alpine3.7 - Packages: CA certificates, ansible
We use this in CI to run Ansible playbooks.
- Base image:
python:3.6-alpine3.7 - Packages:
black
Image used to format python code using pre-commit hooks and to check if all the files are correctly formatted on CI.
pre-commit hook example:
- repo: local
hooks:
- id: black
name: black-code-formatter
language: docker_image
entry: --entrypoint black kiwicom/black:18.6b4
types: [python]GitLab CI example:
code-format:
stage: build
image: kiwicom/black:18.6b4
script:
- black --check .CLI usage example:
docker run -ti -v "$(pwd)":/src -v "$(pwd)/.blackcache":/home/black/.cache --workdir=/src kiwicom/black:18.6b4 black .
- Base image:
alpine:3.6 - Packages:
curl,jq,ca-certificates
We use this mostly in our GitLab CI or otherwise automated tasks. It's useful when the task is about making or parsing HTTPS requests.
- Base image:
node:8-slim - Packages: npm's
cypress-cliand dependencies from apt
This is a container with cypress.io we use to automate our frontend tests.
- Base image:
docker:18.02 - Packages: goss and dgoss
goss is a tool for quick and easy server validation.
We use it to, during CI, to start a container and test if it responds on a certain endpoint.
- Base image:
alpine:3.5 - Packages:
docker,curl, Spotify'sdocker-gc, and a script to remove dangling volumes.
We use this to cleanup docker garbage. It removes more garbage than docker system prune. Mostly for dev machines purposes.
Usage is docker run -v/var/run/docker.sock:/var/run/docker.sock kiwicom/docker-cleanup
- Base image:
docker:1.12 - Packages:
tini
This image runs crond in the foreground
It takes a CRONTAB environment variable such as 37 13 * * * * echo hi, to print hi everyday at 13:37 UTC.
- Base image:
alpine:3.5 - Packages:
docker, Spotify'sdocker-gc
This is a copy of clockworksoul's docker-gc-cron, which is maintained in our GitHub repo for security.
Requires the /var/run/docker.sock socket mounted.
- Base image:
docker.elastic.co/elasticsearch/elasticsearch:5.2.2 - Packages: ElasticSearch's
analysis-icu
We use this for integration tests in CI, as a GitLab CI service.
- Base image:
alpine:3.6 - Packages: facebook's
flow, and its dependencies
We use this in CI to check JavaScript code's type correctness, mounting code to /app and running flow check --show-all-errors.
- Base image:
python:3.7-alpine3.8 - Packages:
mypy
Image used to type-check python code using pre-commit hooks and in CI.
pre-commit hook example:
- repo: local
hooks:
- id: mypy
name: mypy-type-checks
language: docker_image
entry: --entrypoint mypy kiwicom/mypy:0.620
types: [python]GitLab CI example:
type-checks:
stage: build
image: kiwicom/mypy:0.620
script:
- mypy -p kwCLI usage example:
docker run -ti -v "$(pwd)":/src --workdir=/src kiwicom/mypy:0.620 mypy -p kw
- Base image:
node:9-alpine - Packages: npm
nsm
We use this in CI to check security issues of Node.js dependencies.
- Base image:
python:3.6-alpine - Packages: rancher-compose, CA certificates
We use this mostly to programmatically create stacks in Rancher.
- Base image:
alpine:3.5 - Packages: OpenSSH server,
s3fs1.82 and dependencies
This is a pretty cool image. ⛄ It's a containerized SFTP server with S3 as a backend for storage.
Check the entrypoint file to see how it works.
- Base image: python:2-alpine
- Packages:
dockerfrom apk, pythons3cmd
We use this to copy static files from Docker images and put them onto S3 which serves them.
- Base image: python:2-alpine
Like above, but no docker.
Like above, but s4cmd instead of s3cmd
- Base image:
sentry - Packages:
sentry-auth-gitlab,datadog
Our own sentry image. With GitLab SSO support
- Base image:
openjdk:8-alpine - Packages:
sonarqube-developer
Because of the bug SONAR-9384 we were experiencing many problems in our CI pipelines so we needed to upgrade our Sonarqube docker image. As Sonarqube doesn't offer a docker image for 7.2 we decided to build our own.
The usage is the same as with the official image
- Base image:
openjdk:8-jre-alpine - Packages:
sonar-scanner
We use this to scan code for SonarQube. It assumes it's running on GitLab CI.
Usage: $ scan list,of,dirs or $ preview list,of,dirs for preview mode.
Requires setting SONARQUBE_URL
- Base image
alpine:3.7 - Packages:
tox,pyenvand its dependencies
Image that allows running tox tests on multiple python versions.