Mash is a Python based CI/CD pipeline for automated testing and publishing of public cloud images. Currently the production and development deployment for the package is inconsistent, slow and manual. This is a barrier to rapid development, deployment and testing. It also means the development workflow is different than production. This can lead to production issues which were not seen during development.

In order to modernize the Mash workflow I plan to spend the week digging into a plethora of tools to first learn then build out a new workflow. The goal is to simplify deployment by choosing tools that provide consistency, modularity and repeatability. By leveraging the best tools available we can harden the code and accelerate the release cycle.

Key metrics to target are:

  • Mash deployment and runtime environment is consistent (dev, staging, prod, etc.).
  • Mash runtime environment is decoupled from the host.
  • Mash can be deployed with one click.
  • Any Mash branch in GitHub can be deployed with a single config change.
  • Mash has an automated E2E test suite using the new deployment

Technologies to investigate:

  • Docker, Podman, containers
  • OBS (packages, images)
  • Salt
  • Terraform (stretch goal to handle cloud instance management)
  • Pytest, Testinfra, img-proof for E2E testing

Looking for hackers with the skills:

containers podman deployment iac salt terraform ci/cd python3 docker obs

This project is part of:

Hack Week 19

Activity

  • over 4 years ago: jesus_bv joined this project.
  • over 4 years ago: seanmarlow added keyword "obs" to this project.
  • over 4 years ago: seanmarlow added keyword "docker" to this project.
  • over 4 years ago: seanmarlow added keyword "containers" to this project.
  • over 4 years ago: seanmarlow added keyword "podman" to this project.
  • over 4 years ago: seanmarlow added keyword "deployment" to this project.
  • over 4 years ago: seanmarlow added keyword "iac" to this project.
  • over 4 years ago: seanmarlow added keyword "salt" to this project.
  • over 4 years ago: seanmarlow added keyword "terraform" to this project.
  • over 4 years ago: seanmarlow added keyword "ci/cd" to this project.
  • over 4 years ago: seanmarlow added keyword "python3" to this project.
  • over 4 years ago: seanmarlow started this project.
  • over 4 years ago: seanmarlow originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Predefined app security policy template for NeuVector by feih

    Project Description

    Idea is to predefin...


    Package MONAI Machine Learning Models for Medical Applications by jordimassaguerpla

    Project Description

    MONAI Deploy aims to ...


    A set of utilities to produce a "from scratch" OCI/Docker container using Opensuse/SLE rpms by ldragon

    [comment]: # (Please use the project descriptio...


    Building a container bootloader by flonnegren

    [comment]: # (Please use the project descriptio...


    Hangar: tool for mirror container images & generate rancher image lists. by StarryWang

    Project Description

    Hangar is a tool for ...


    terraform-provider-feilong by e_bischoff

    Project Description

    People need to test o...


    Saline (state deployment control and monitoring tool for SUSE Manager/Uyuni) by vizhestkov

    [comment]: # (Please use the project descriptio...


    Generate ignition/combustion files from Uyuni/SUSE Manager by dvosburg

    [comment]: # (Please use the project descriptio...


    Cluster-Tester for SAP HANA System Replication Cluster by fmherschel

    [comment]: # (Please use the project descriptio...


    TinyTutor - an AI chat-bot powered children's tutor by dmulder

    [comment]: # (Please use the project descriptio...


    A quantum physics experiment puzzle (designed with Google's CP-SAT solver) by moio

    [![link to video player demoing the result](htt...


    Create tool to analyze supportconfig to spot common SUSE Manager / Uyuni issues by cbosdonnat

    [comment]: # (Please use the project descriptio...


    Publish two personally productive projects (preferably on github) by dmair

    Since this will be my first real "from the star...


    Reduce the amount of TODOs for RuboCop in OBS by enavarro_suse

    Project Description

    The OBS project has a...


    Improve database_cleaner.rb script in OBS by enavarro_suse

    Project Description

    There is some code to...


    Support for OVA build in OBS and better support for vmdk disks in kiwi by gmoro

    Project Description

    Implement support for O...


    Elixir LiveView clone of Etherpad (running on ALP) by socon

    Project Description

    Etherpad (etherpad.org)...


    Adapt Bootstrap code in OBS to support theming by enavarro_suse

    Project Description

    After the release of ...