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

  • 10 months ago: jesus_bv joined Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "obs" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "docker" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "containers" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "podman" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "deployment" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "iac" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "salt" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "terraform" to Modernize Mash deployment
  • 10 months ago: seanmarlow added keyword "ci/cd" to Modernize Mash deployment
  • All Activity

    Comments

    Be the first to comment!

    Similar Projects

    Run VMs in CaaSP 4 cluster with SUSE-powered kubevirt by jfehlig

    This project aims to run VMs in a CaaSP 4 clust...


    Hammer an Envoy service mesh onto a SAP S4/HANA landscape and watch everything explode. by STorresi

    Although CNCF projects are almost exclusively r...


    Packaging libnvidia-containers and nvidia-container-runtime-hook by jordimassaguerpla

    This is a follow up to https://hackweek.suse.co...


    Port Salt virt modules to idem by cbosdonnat

    Salt is moving towards a plugable architecture ...


    SUSE Manager: Windows client support by pagarcia

    Let's see how much, if any, of the steps descri...


    Provisioning Prometheus exporters with Uyuni revisited by j_renner

    There is a number of annoyances and pending imp...


    Learn SaltStack Enterprise by pagarcia

    Uyuni uses the open source version of Salt to i...


    Fix terracumber, add some python unit tests, try to extend it and publish it by juliogonzalezgil

    Last year I developed [Terracumber](https://hac...


    Zero-ish downtime deploy on da cheap! by josegomezr

    Zero-ish downtime deploy on da cheap!

    This...


    Build admin-tools in a stand-alone environment without obs dependencies by dmulder

    The [admin-tools appimage](https://appimage.git...


    "Physical" notifications with Raspberry Pi and addressable LEDs by dannysauer

    I'd like a way to have a device on my desk whic...


    Fix terracumber, add some python unit tests, try to extend it and publish it by juliogonzalezgil

    Last year I developed [Terracumber](https://hac...


    SUSE Manager: Windows client support by pagarcia

    Let's see how much, if any, of the steps descri...


    labgrid: add support for sispmctl and remote ykush access by mbrugger

    labgrid [0] is an embedded board control python...


    Home assistant that doesn't spy on you - developer's edition by DKarakasilis

    There are various home assistant solutions out ...


    Zero-ish downtime deploy on da cheap! by josegomezr

    Zero-ish downtime deploy on da cheap!

    This...


    distributed build for Ceph in containers by denisok

    Investigate possibilities for the distributed b...


    MicroOS Desktop by RBrownSUSE

    [Video Recording of openSUSE Conference sessio...


    Migrate more OBS service scripts to pure systemd by enavarro_suse

    Following the work started in the last hackweek...


    OBS Project Monitor page redesign by vpereirabr

    Exactly what problem will this solve?

    Th...