Project Description

The idea for project starts on LEO workshop. The main goal is to provide UI for local configuration that allows easy transition to 1:N management. So here is vision:

  • frontend: web-UI, GUI, TUI, CLI, whatever, for now lets start with CLI
  • backend: salt/puppet/chef/ansible/cfengine. In general write config for CM and not config files itself.
  • features: discovery/edit/create/apply on top of backend. Each step separated, so user can e.g. apply itself by using CM directly.
  • default value is keep value as it is, so anything not specific is not modified, but when something is specified then it can "eat" modifications as do salt and others
  • supported distros - openSUSE, SLE, ubuntu, debian, fedora at least
  • communication between frontend and backend is a CLI and YAML file with defined structure, but not aiming to be any kind of new standard, just textual configuration to transfer data in human readable form.

Advantages:

  • easily extensible as it use plugins like e.g. git
  • can run as service similar way like e.g. salt server can run it via ssh
  • easy move from 1:1 to 1:N
  • does not repeat what CM can already do and gets many features for free.
  • distro agnostic, so user can use same tool in heterogenous environment
  • can work remotely

Disadvantages:

  • Overwrite manual changes
  • less features then specialized tools like YaST

Use Cases:

  • I have one server that I am taking care. And as my project start growing I need more of them and want to have it consistently configured. So easily move from 1:1 to 1:N.
  • Company already use salt and I get a task to manage also FTP server configuration over it. I want to experiment with it at first on single server with some UI that allows me to quickly create initial config and then tune it with more advanced settings.
  • Company bought another one and they use salt and we are using ansible. Goal is to unify it. I want tool that helps me with conversion.
  • I want to start with ansible and prefer GUI for easy start.

Goal for this Hackweek

  • POC with users management
  • discovery works
  • CLI frontend
  • salt and ansible backend
  • works on opensuse TW and Ubuntu 20.04
  • If time permit try quick GUI
  • as API (see below) is YAML and CLI, then parts can be written in any language ( but please no shell )

API Proposal:

  • as said above communication is done via CLI and yaml file
  • discovery using some CM tool to discover and convert to YAML
  • backend is just CLI that do YAML->target file(-s) for given CM
  • frontend works on top of YAML + can call that CLI
  • apply is just different CLI for given backend, additional features like dry run can be also supported by this CLI. machine output is must have

Resources

Looking for hackers with the skills:

salt ansible webapps cli qt

This project is part of:

Hack Week 20

Activity

  • almost 3 years ago: joseivanlopez liked this project.
  • almost 3 years ago: dgdavid liked this project.
  • about 3 years ago: ancorgs liked this project.
  • about 3 years ago: pagarcia liked this project.
  • about 3 years ago: jreidinger added keyword "salt" to this project.
  • about 3 years ago: jreidinger added keyword "ansible" to this project.
  • about 3 years ago: jreidinger added keyword "webapps" to this project.
  • about 3 years ago: jreidinger added keyword "cli" to this project.
  • about 3 years ago: jreidinger added keyword "qt" to this project.
  • about 3 years ago: IGonzalezSosa liked this project.
  • about 3 years ago: locilka liked this project.
  • about 3 years ago: jreidinger started this project.
  • about 3 years ago: jreidinger originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    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...


    WebUI for your data by avicenzi

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


    Cobbler Angular Web Interface by SchoolGuy

    Project Description

    The old Cobbler webin...


    Rancher Upgrader - Upgrades your rancher install via helm, and communicates critical changes from release A to B. by rweir

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


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    (Rust) Manage systems in NetBox using NetBox-Sync by chock

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


    QJobViewer by apappas

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