CI/CD pipeline for building and publishing multiple 🐳 containers as microservices within a mono repository.
Switch branches/tags
Nothing to show
Clone or download

README.md

Logo

Monorepo for building and publishing multiple Docker containers as microservices within a single repository.

IRC

FuzzOS

For spawning a cluster of Docker containers at EC2 or other cloud providers, see the parent project Laniakea.

Table of Contents

This repository is a monorepo of various microservices and home of FuzzOS (a multipurpose base image). CI and CD is performed autonomous with Travis and the Monorepo manager script. A build process gets initiated only if a file of a particular service has been modified and only than that service will be rebuild; other services are not affected from the build service at the time except during cron tasks where all images are rebuild. Each image is either tagged with the latest revision, nightly or latest. For further information take either a look into the Wiki or the corresponding README.md of each microservice.

FuzzOS

Base: Ubuntu 18.04

Pre-Installed Packages

  • credstash
  • fuzzfetch
  • fuzzmanager
  • afl
  • honggfuzz
  • llvm
  • breakpad
  • rr
  • grcov
  • ripgrep
  • nodejs

Run FuzzOS

docker search fuzzos
docker run -it --rm mozillasecurity/fuzzos:latest bash -li

Documentation

Architecture

Build Instructions

Usage

make help

Testing

Before a build task is initiated in Travis-CI, each Shellscript and Dockerfile undergo a linting process which may or may not abort each succeeding task.

Locally:

make lint

Each service folder may contain a tests folder in which Container Structure Tests are defined. The Monorepo Manager will run these tests with the -test flag set in Travis-CI after the build process is completed and before deploying the images to the registry.

Locally:

make test

Login

DOCKER_USER=ABC make login

Playground

"Play With Docker" is a project sponsored by Docker Inc.

  • Browse to PWD
  • Login with your Docker account.
  • Press ADD NEW INSTANCE and enter docker run --rm -it mozillasecurity/fuzzos

You can upload files via drag 'n' drop or optionally login via SSH. It is also possible to let PWD point to your docker-compose configuration and setup a swarm. Example: https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/XYZ/docker-compose.yml

Keep in mind that this is only for testing purpose and to read their motd.